Controlador de LCD


1. LCD
2. Diagrama de Tempos
3. Tabela de Instruções
4. Inicialização do LCD
5. Esquema Elétrico
6. Programa
7. Links e Downloads


1. LCD (Liquid Cristal Display)

Os LCDs são utilizados em muitos projetos de eletrônica para facilitar a interação do usuário com o projeto, com o LCD você pode mostrar informações relevantes para a utilização do projeto, assim como retornar ao usuário resultados obtidos em algum tipo de processamento.

Existem diversos tipos de LCDs e o projetista deve escolher aquele que seja mais adequado ao seu projeto. Eles podem ter de 1 a 4 linhas e cada linha pode ter de 8 a 40 caracteres. Os atuais LCD têm um controlador, um circuito integrado que fica no próprio display, sendo o mais conhecio o HD44780. Este controlador possui alguns registradores especiais que veremos mais adiante como acessá-los.

A utilização dos LCDs é fácil se você já sabe utilizar um microcontrolador comum. Aqui vamos utilizar PIC16f84 e um LCD de 16x1 para exemplificação.

A pinagem do LCD está descrita na tebela seguinte:


Pino Função
1 Terra
2 VCC
3 Controle do Contraste
4 R/S
5 R/W
6 E
7 a 14 Dados

Onde:

Controle do Contraste é o pino que estará ligado a um potenciômetro de 10k e à Tensão, e através do potenciômetro poderemos variar o contraste o LCD.

R/S é o pino que vai definir o tipo de informação que será enviada para o controlador do LCD. Se o bit estiver em "0" a informação será tratada como um comando(também chamado instrução) e se estiver em "1" a informação será tratada como um caracter a ser lido ou escrito no LCD.

R/W é o pino que vai definir se será enviado ou recebido um dado do LCD. Se estiver em "0" (write) estaremos enviando informações do microcontrolador para o LCD, se estiver em "1"(read) estaremos obtendo dados do LCD.

E é o pino de Habilitação (Enable). Quando os dados (sejam instruções ou caracteres) são enviados para o LCD eles ficam guardados em registradores. Para que o LCD leia esses registradores devemos aplicar um pulso no pino de habilitação.

Dados são 8 pinos através dos quais serão enviadas as informações tanto do microcontrolador para o LCD como no sentido contrário. (Data Bus)


2. Diagrama de Tempos

Neste Diagrama de Tempos de Escrita no LCD visualizamos a forma como se empregam pulsos nos pinos do LCD para enviarmos um caracter/instrução.




O item D0-D7 refere-se aos pinos que vão de 0 a 7. Neste exemplo estaremos utilizando o formato de 8bits



3. Tabela de Instruções

A seguir temos a Tabela de Instruções, onde cada trem de bit define uma instrução específica a ser enviada para o LCD.

RS R/W D7 D6 D5 D4 D3 D2 D1 D0
Apagar Display 0 0 0 0 0 0 0 0 0 1
Retornar ao Home 0 0 0 0 0 0 0 0 1 *
Config. de Direção 0 0 0 0 0 0 0 1 I/D S
Habil. Display/Cursor 0 0 0 0 0 0 1 D C B
Mover Display/Cursor 0 0 0 0 0 1 S/C R/L * *
Nºde Linhas 0 0 0 0 1 DL N F * *
Endereços CGRAM 0 0 0 1 A A A A A A
Endereços DDRAM 0 0 1 A A A A A A A
Indicação Busy Flag 0 1 BF * * * * * * *
Enviar Caracter 1 0 D D D D D D D D
Ler Caracter 1 1 D D D D D D D D

"*" é o "Don´t Care", que significa que tanto faz ser o bit 0 ou 1 naquela posição.

Configuração da Direção: Essa instrução define como os caracteres serão movidos no Display. Se o bit I/D estiver setado o Display irá incrementar o cursor depois de cada caracter escrito. O bit S, quando setado, dá um shift no Display ao escrever um caracter.

Habilitação do Display/Cursor: Com essa instrução podemos habilitar/desabilitar o Display pelo bit D (1/0) e o Cursor pelo bit C (1/0) e podemos também colocar o Cursor piscando através do bit B (1/0).

Mover Display/Cursor: Com o bit SC setado damos um shift no Display e com o bit RL definimos para que lado os caracteres se moverão, se 0 é para a esquerda e se 1 é para a direita.

Nº de Linhas: Essa instrução não faz somente a definição de quantidade de linhas do display, bit N (0=uma linha, 1=duas linhas), mas também define o tamanho do caracter, bit F (1=5x10 e 0=5x7), e tamanho, em bits, do modo de interação com o LCD, bit DL (1=8 e 0=4). Esse modo de interação merece maior atenção, pois ele define quantos bits o LCD lerá quando o pino de Habilitação for ativado. Com o tipo 8 bits, o LCD lê os 8 bits que estão nos registradores do controlador, se o tipo de interação for de 4 bits, é necessário enviar os quatro bits mais altos do byte (ou seja os bits 0, 1, 2 e 3, da direita p/ esquerda), aplicar um pulso no pino de habilitação, depois enviar os outros 4 bits e finalmente aplicar outro pulso no pino de habilitação.


4. Inicialiazação do LCD

Após ligar o LCD devemos executar um processo de inicialiazação do LCD antes de enviar qualquer tipo de instrução ou caracter. Este processo está descrito no passo-a-passo abaixo.

  1. Energizar o LCD
  2. Aguardar 15mseg
  3. Enviar o byte 0x030
  4. Aguardar 5mseg
  5. Enviar o byte 0x030
  6. Aguardar 100mseg
  7. Enviar o byte 0x030
  8. Enviar byte de configuração
    do n. de linhas e do tamanho do
    caracter e o modo de envio de bits (8 ou 4).
  9. Desligar o Display
  10. Limpar o Display
  11. Configura Direção
  12. Liga o Display

5. Esquema Elétrico

Clique aqui e veja o Esquema Elétrico do exemplo que veremos a seguir.


6. Programa

Agora clique aqui e pegue o programa que fará o LCD mostrar a mensagem "Ampere".


7. Links e Downloads
Mike Predko
Prof. Paulo George
piclcd
Datasheet do HD44780

Voltar

Hosted by www.Geocities.ws

1