Curso de C com microcontoladores MCF51QE128 e MC9S08QE128 – Display HD44780 – Parte 8

Display HD44780

O display é uma interface de comunicação com o usuário de microcontroladores essencial. Muitos projetos e programas fazem uso deste dispositivo para fornecer dados, parâmetros, resultados, etc. O display de LCD de 2 linhas por 16 colunas (2 x 16) é um dos mais comuns utilizados, e seu aspecto físico pode ser visto nas imagens a seguir:

O controlador de display HD44780 (Hitachi)

Todo display de LCD necessita de um controlador de LCD. Alguns microcontroladores (inclusive alguns dispositivos da Freescale) já tem este controlador de LCD internamente. Não é o caso da família Flexis, estudada neste curso. Portanto os displays que utilizaremos tem o controlador de LCD acoplados a eles, como é o caso dos displays mostrados na figura anterior. O controlador de LCD que tem se tornado “padrão de mercado” é o HD44780, fabricado pela Hitachi. Mesmo aqueles displays de 2 x 16 que não utilizam este controlador, tem outros cujas funções são muito semelhantes.

De qualquer modo é aconselhável verificar se o display de LCD que você irá utilizar tem um manual de usuário onde são descritas as funções, e se estas funções são compatíveis com as que serão mostradas aqui neste treinamento.

A tensão de alimentação do HD44780 (Hitachi)

Um detalhe importante é quanto a tensão de alimentação que pode ser colocada no display.

Existem dois modelos de controlador HD44780:

  • HD44780 -> V DD = 4,5 a 5,5 V
  • HD44780 -> V DD = 2,7 a 5,5 V

Para os microcontroladores que trabalham com 3 V, a opção HD44780 U é a melhor, pois elimina a necessidade de fazer uma fonte de alimentação com tensões diferentes para o MCU e para o display.

Os pinos do CI HD44780 (Hitachi)

O controlador de LCD HD44780 é um circuito integrado de 80 pinos, cujas funcionalidades podem ser vistas a seguir:

HD44780 da Hitachi

A conexão destes pinos com a matriz de LCD é feita de acordo com o diagrama mostrado a
seguir:

Note que nem todos os 80 pinos do CI estão acessíveis para o usuário do display de LCD. Os modelos comerciais mais comuns fornecem apenas 14 ou de 16 pinos de controle, como veremos a seguir.

Os pinos do display de LCD disponíveis ao usuário

Dependendo do modelo de display de LCD que você estiver utilizando, ele pode ter 14 ou 16 pinos disponíveis para o usuário. A primeira imagem deste capítulo mostra um display com 16 pinos, e a imagem abaixo mostra um display com 14 pinos.

Funções dos pinos disponíveis para o usuário

Os pinos disponíveis para o usuário tem as funcionalidades mostradas na tabela da página a seguir, para 14 e 16 pinos.

Conexão elétrica do display de LCD com o MCU

Um display de LCD de 2 x 16 pode ser conectados de duas maneiras ao MCU: utilizando 4 ou 8 bits de dados. No nosso curso utilizaremos 8 bits de dados.

Conexão elétrica com 4 bits de dados

Conexão elétrica com 8 bits de dados

Funções dos pinos E, R/W e RS

O HDD44780 tem dois registradores de 8 bits, um é o Instruction Register (IR) e o outro é o Data Register (DR).

O IR grava códigos de instruções, como limpar display e shift do cursor, e informação de endereço para DDRAM e CGRAM.

O DR grava temporariamente dados para serem escritos na DDRAM ou CGRAM e dados para serem lidos da DDRAM ou CGRAM. O dado escrito no DR é automaticamente escrito na DDRAM ou CGRAM por uma operação interna.

Esses dois registradores podem ser selecionados pelo Register Select (RS):

Busy Flag (BF)

Quando o busy flag é ‘1’, o HD44780 está no modo de operação interno e a próxima instrução não será aceita. Quando RS = ‘0’ e R/W = ‘1’, o busy flag é colocado na saída do DB7. A instrução seguinte deve ser escrita após ter-se assegurado de que o busy flag é ‘0’.

Address Counter (AC)

O AC atribui endereços para DDRAM e CGRAM. Quando o endereço de uma instrução setada no DDRAM/CGRAM é escrito dentro do IR, o endereço da informação é mandado do IR para o AC. A seleção tanto do DDRAM como do CGRAM é determinada também simultaneamente pela instrução. Depois de escrever na (ou ler da) DDRAM ou CGRAM, o AC é automaticamente incrementado ou decrementado por 1.

Para mostrar um caractere, a posição do dado é escrita no IR (endereço na DDRAM). O código do caractere é então escrito no DR e o LCD mostra o caractere correspondente na posição especificada. O LCD pode ainda incrementar ou decrementar a posição no display depois de cada caractere ter sido mostrado, só que para isso acontecer deve-se ter uma string de caracteres.

Mapeamento das linhas e colunas no display de LCD (Display Data RAM -> DDRAM)

O DDRAM (Display Data RAM) é um buffer de 80 caracteres para onde são enviados os dados em ASCII code para serem mostrados no LCD. O endereço do DDRAM equivale a posição do cursor, com a linha e a coluna em que se quer preencher com determinada informação.

Os endereços do DDRAM para um display do tipo 2 x 16 são mostrados na figura abaixo:

Operações reconhecidas pelo controlador 2 x 16

Dependendo dos níveis lógicos aplicados a cada um dos terminais do display 2 x 16, serão executados comandos e operações diferentes.

Uma observação importante é o tempo necessário para que o display execute determinada ação que lhe foi entregue.

Muitas vezes os microcontroladores são mais rápidos do que os tempos de acomodação dos displays. Isto faz com que rotinas de espera pelo display sejam necessárias.

Comandos reconhecidas pelo controlador 2 x 16

Character Generator ROM (CGROM)

Através do CGROM é possível gerar qualquer caractere dentro da matriz de 5 x 8 de cada dígito do display 2 x 16, conforme a imagem mostrada abaixo.

Tabela interna do CGROM – CODE A00.

Tabela interna do CGROM – CODE A02.

Como criar seus próprios caracteres?

Procedimento de inicialização do LCD

Procedimento de utilização após a inicialização do LCD

Informações e parâmetros do Backlight

Conexão do backlight

Conexão do LCD com a DEMOQE

Observe o conector J1, cujos 56 pinos são mostrados abaixo:

Outros artigos da série

<< Curso de C com microcontroladores MCF51QE128 e MC9S08QE128 - Parte 7
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » Curso de C com microcontoladores MCF51QE128 e MC9S08QE128 - Display HD44780 - Parte 8
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 

Soluções inteligentes para acionamento de MOSFETs/IGBTs com família STDRIVE

Data: 08/10 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link