O diagrama de blocos do controlador pode ser visto na figura 1 abaixo. A parte que nos interessa é a memória Ram e o Address Counter.
Figura 1 - Diagrama de Blocos do PCD8544 |
Memória Ram
A memória Ram possui 6 bancos de 84 bytes. Cada byte controla oito pontos na tela. Os bytes estão organizados "na vertical": cada byte controla 8 pontos em 8 linhas da mesma coluna (ver figura 2 abaixo).
Figura 2 - Mapeamento da tela na Ram |
Para acessar o bit que controla o ponto que fica na coluna X da linha Y, nós temos que:
- Determinar o banco onde está o byte: Y div 8
- Determinar o byte no banco: X
- Determinar o bit no Byte: Y mod 8
É importante reparar que podemos apenas escrever na memória. Portanto, se queremos manter algum bit já existente precisamos manter uma cópia da tela na memória Ram do microcontrolador.
Comandos
Quando D/C está em "0", o byte escrito é tratado como um comando. A interpretação dos comandos depende de um modo interno do controlador: conjunto básico (H=0) e conjunto estendido (H=1).
Os comandos abaixo (figura 3) independem do modo:
Figura 3 - Comandos que independem do modo |
onde
- P: 1 controlador desligado (Power down), 0 controlador ativo
- V: 1 endereçamento vertical, 0 endereçamento horizontal (ver figura 4)
- H: 1 conjunto estendido, 0 conjunto básico
Figura 4 - Endereçamento vertical e horizontal |
Figura 5 - Comandos do conjunto básico |
onde
- DE: 00 display apagado, 01 todos elementos acesos, 10 modo normal, 11 reverso
- yyy: endereço Y (0 a 5)
- xxxxxxx: endereço X (0 a 83)
Os comandos do conjunto estendido (figura 6) são usados para configuração:
Figura 6 - Comandos do conjunto estendido |
No próximo post veremos como colocar tudo isto em uso.
Nenhum comentário:
Postar um comentário