MICROCONTROLADORES
PIC – PRÁTICA - PARTE 6 |
Indicação do fabricante |
Número de linhas |
Número de colunas |
Total de caracteres |
16 x 1 |
1 |
16 |
16 |
16 x 2 |
2 |
16 |
32 |
16 x 4 |
4 |
16 |
64 |
20 x 4 |
4 |
20 |
80 |
40 x 2 |
2 |
40 |
80 |
Sempre lembrando que o total de caracteres refere-se ao número total de elementos que podem ser demonstrados de uma única vez, inclusive “espaços” em branco.
Também é importante salientar que existem muitos outros padrões referentes ao número total de caracteres, sendo recomendável uma consulta aos fabricantes. Assim ficamos sempre “antenados” com as novidades do mercado.
Alguns display’s possuem mais que 14 pinos. Os pinos excedentes geralmente são utilizados no controle do Back Ligth que nada mais é que um conjunto de LEDs posicionados na parte de trás do display. Quando “ligado” permite a visualização dos dados mesmo no escuro. Todo aparelho celular possui Back Ligth em seu display. Na figura abaixo você tem um pequeno circuito que pode ser usado para “ligar ou desligar” o Back Ligth. A polaridade deve ser respeitada para o funcionamento adequado.
Os displays com quatro ou mais linhas devem ser tratados como uma “união” de dois ou mais displays de duas linhas. Em alguns casos, estes displays possuem dois pinos de habilitação (EN) para selecionar qual conjunto de linhas será usado. Neste caso o pino 15 habilita as duas linhas superiores e o pino 16 as duas linhas inferiores. O pino “6” não é conectado.
Até aqui você já deve ter percebido que um “LCD” tem internamente um pequeno microcontrolador dedicado, que fará a interpretação dos “dados” recebidos e os transformará em “comandos” internos (não entrarei em maiores detalhes sobre isso, pois foge ao propósito deste artigo).
Na tabela abaixo você tem um conjunto de instruções para operação com displays. Esta tabela também apresenta qual deve ser o dado a ser enviado para o mesmo e o estado nos pinos de controle deste.
Tabela - Instruções de controle para um LCD
Instrução |
Descrição |
RS |
RW |
EN |
Dado a ser inserido em D7-D0 (em hexadecimal) |
Controle do display |
Ativo sem cursor |
0 |
0 |
1 |
0C |
Inativo |
0 |
0 |
1 |
0A, 08 |
|
Limpeza do LCD |
- Limpa o display - Retorna cursor p/ 1ª linha/coluna |
0 |
0 |
1 |
01 |
Retorno |
- Retorno do cursor à 1ª linha |
0 |
0 |
1 |
02 |
Controle do Cursor |
Ativo, ligado e fixo |
0 |
0 |
1 |
0E |
Inativo |
0 |
0 |
1 |
0C |
|
Alternado |
0 |
0 |
1 |
0F |
|
Deslocamento à esquerda |
0 |
0 |
1 |
10 |
|
Deslocamento à direita |
0 |
0 |
1 |
14 |
|
Retorno |
0 |
0 |
1 |
02 |
|
Piscante |
0 |
0 |
1 |
0D |
|
Sentido do deslocamento do cursor na entrada de um novo caractere |
À esquerda |
0 |
0 |
1 |
04 |
À direita |
0 |
0 |
1 |
06 |
|
Sentido do deslocamento da mensagem na entrada de um novo caractere |
À esquerda |
0 |
0 |
1 |
07 |
À direita |
0 |
0 |
1 |
05 |
|
Deslocamento da mensagem (sem entrada de novos caracteres) |
À esquerda |
0 |
0 |
1 |
18 |
À direita |
0 |
0 |
1 |
1C |
|
Escrita de dados (caractere) no display |
- Escreve um caractere no display na posição do cursor |
1 |
0 |
1 |
Dado a ser escrito |
Observando a tabela acima você notará que para enviar um determinado comando para o display o pino RS é levado ao estado lógico “0” e para enviar um caractere a ser escrito o mesmo pino é levado ao estado lógico “1”. O pino “EN” habilita o display e deve ser colocado em “1” para habilitar e em “0” para desabilitar. O pino RD/WR deve ser colocado em “0” para escrever dados no display e em “1” para ler dados do mesmo.
Obs.: Quando cito estado lógico "1" e "0", estou me referindo a +VCC e GND, respectivamente, no circuito.
A montagem pode ser feita em um pronto-o-board (matriz de contatos) ou mesmo em uma placa padrão. Uma placa de circuito impresso também pode ser confeccionada, e para isso você terá de desenvolver um lay-out apropriado. Para meu protótipo escolhi a primeira opção. Cada um escolhe o melhor método para suas mpntagens.
Caso você não disponha do material para a fonte, poderá alimentar o circuito com um conjunto de quatro pilhas pequenas ou médias e um diodo em série com o mesmo. Veja na figura abaixo como isso pode ser feito.
Tome muito cuidado para não inverter os pinos de alimentação do microcontrolador e também do display. Ambos são muito sensíveis a tais “inversões” de polaridade. Siga atentamente o circuito elétrico fornecido.
O programa inicia configurando o microcontrolador (direção dos pinos, variáveis, interrupções, etc). Depois o display é também configurado para sua operação e em seguida, o programa escreve uma mensagem. Após um tempo previamente determinado a mensagem é apagada no display e é iniciado um laço onde o alfabeto (“ABC”) é escrito até que um reset seja efetuado.
Baseado neste programa, você poderá modificar a mensagem a ser escrita, a seqüência de caracteres, a temporização, e muitas outras. Um bom exercício é acrescentar teclas que ao serem pressionadas mostrem diferentes mensagens.
O controle de “LCD’s” tipo caractere foi "desvendado". Agora você poderá incrementar seus projetos com displays LCD, permitindo que o microcontrolador envie mensagens comunicando-se com o “mundo exterior”. Ah, e não se esqueça: "Conceito é tudo!".
DOWNLOADS:
Lista de materiais
Para o experimento Semicondutores CI1 – PIC16F84A-04/P – microcontrolador Microchip Resistores R1 – 330R (laranja, laranja, marrom) Capacitores C1, C2 – Capacitores 33pF cerâmicos
Diversos X1 – cristal 4MHz
|
Para Fonte Semicondutores CI1 – LM7805 – regulador de voltagem p/ 5 volts Capacitores C1 – capacitor 1000uF x 25V – eletrolítico Diversos T1 –
transformador 9+9V x 1000mA |