16×2 LCD é nomeado assim porque; ele tem 16 Colunas e 2 Linhas. Há muitas combinações disponíveis como, 8×1, 8×2, 10×2, 16×1, etc. Mas o mais utilizado é o LCD 16*2, por isso estamos a usá-lo aqui.
Todos os LCDs acima mencionados terão 16 Pinos e a abordagem de programação também é a mesma e por isso a escolha é deixada para si. Abaixo está o Pinout e a descrição do módulo LCD 16×2:
>
Sr. No. |
Pin Name |
Pin Type |
Pin Description |
Pin Connection |
|
Pin 1 |
Terra |
Pino de origem |
>
Este é um pino de terra do LCD |
Ligado à terra da MCU/ Fonte de energia |
|
Pino 2 |
VCC |
Pino fonte |
Este é o pino de tensão de alimentação do LCD |
Conectado ao pino de fornecimento de energia |
|
Pino 3 |
V0/VEE |
Pino de controle |
Ajusta o contraste do LCD. |
Conectado a uma variável POT que pode fonte 0-5V |
|
Pin 4 |
Register Select |
Pino de Controlo |
>
Toglos entre Comando/Registo de Dados |
Conectado a um pino MCU e obtém 0 ou 1. 0 ->Modo de Comando 1-> Modo Dados |
|
Pin 5 |
Ler/escrever |
Controle Pin |
Pinça de leitura/escrita no LCD |
Conectado a um pino MCU e obtém 0 ou 1. > 0 ->Escrever Operação 1->Ler Operação |
|
Pino 6 |
Enable |
Pino de Controlo |
Deve ser mantido alto para realizar Operação de Leitura/Escrita |
Conectado à MCU e mantido sempre alto. |
|
Pin 7-14 |
Bits de dados (0-7) |
Dados/Pin de comando |
Pinos usados para enviar Comando ou dados para o LCD. |
Em modo 4 fios Só 4 pinos (0-3) estão ligados à MCU Em modo 8 fios Todos os 8 pinos(0-7) estão ligados à MCU |
|
Pin 15 |
LED Positivo |
LED Pin |
>
Operação normal de LEDs para iluminar o LCD |
Ligado a +5V |
|
>
Pino 16 |
LED Negativo |
LED Pino |
>
LED normal para iluminar o LCD ligado com GND. |
Conectado à terra |
Não faz mal se não compreender a função de todos os pinos, explicarei em detalhe a seguir. Agora, vamos voltar o nosso LCD:
Okay, o que são estes dois círculos pretos como coisas na parte de trás do nosso LCD?
Estes círculos pretos consistem de um CI de interface e seus componentes associados para nos ajudar a usar este LCD com a MCU. Porque o nosso LCD é um LCD matricial de 16*2 pontos e portanto terá (16*2=32) 32 caracteres no total e cada caractere será feito de 5*8 pontos de pixel. Um único caractere com todos os seus Pixels habilitados é mostrado na figura abaixo.
> Agora, sabemos que cada caractere tem (5*8=40) 40 Pixels e para 32 Caracteres teremos (32*40) 1280 Pixels. Além disso, o LCD também deve ser instruído sobre a Posição dos Pixels.
Será uma tarefa agitada para lidar com tudo com a ajuda da MCU, por isso é usado um IC de Interface como o HD44780, que é montado no próprio Módulo LCD. A função deste IC é obter os Comandos e Dados do MCU e processá-los para exibir informações significativas em nossa tela LCD.
Vamos discutir os diferentes tipos de modo e opções disponíveis em nosso LCD que tem que ser controlado por nossos Pinos de Controle.
4-bit e 8-bit Modo LCD:
O LCD pode trabalhar em dois modos diferentes, ou seja, o modo 4-bit e o modo 8-bit. No modo de 4 bits enviamos a mordidela de dados por mordidela, primeiro a mordidela superior e depois a mordidela inferior. Para aqueles que não sabem o que é uma mordidela: uma mordidela é um grupo de quatro bits, portanto os quatro bits inferiores (D0-D3) de um byte formam a mordidela inferior enquanto os quatro bits superiores (D4-D7) de um byte formam a mordidela superior. Isto permite-nos enviar dados de 8 bits.
Onde no modo de 8 bits podemos enviar os dados de 8 bits directamente num só traço, uma vez que usamos todas as 8 linhas de dados.
Agora você deve ter adivinhado, Sim O modo de 8 bits é mais rápido e sem falhas do que o modo de 4 bits. Mas o maior inconveniente é que ele precisa de 8 linhas de dados conectadas ao microcontrolador. Isso nos fará ficar sem pinos de E/S na nossa MCU, então o modo 4-bit é amplamente utilizado. Nenhum pino de controle é usado para definir estes modos. É apenas a forma de programação que muda.
Modo de leitura e escrita do LCD:
Como dito, o próprio LCD consiste de um IC de interface. O MCU pode ler ou escrever para este CI de interface. Na maioria das vezes estaremos apenas escrevendo para o CI, já que a leitura o tornará mais complexo e tais cenários são muito raros. Informações como posição do cursor, interrupções de conclusão de status, etc. podem ser lidas se necessário, mas estão fora do escopo deste tutorial.
O CI de interface presente na maioria do LCD é HD44780U, a fim de programar nosso LCD devemos aprender a folha de dados completa do CI. A folha de dados é dada aqui.
Comandos LCD:
Existem algumas instruções de comandos predefinidos no LCD, que precisamos enviar para o LCD através de algum microcontrolador. Algumas instruções de comando importantes são dadas abaixo:
Código Sexual |
>
Command to LCD Instruction Register |
0F |
LCD ON, cursor ON |
Apagar tela de exibição |
|
Retroceder home |
|
Cursor de descida (deslocar o cursor para a esquerda) |
|
Mudar cursor para a direita |
|
Mostrar à esquerda |
|
0E |
Display ON, cursor a piscar |
Forçar cursor para o início da primeira linha |
|
C0 |
Forçar cursor para o início da segunda linha |
2 linhas e matriz 5×7 |
|
Cursor linha 1 posição 3 |
|
3C |
Ativar segunda linha |
Display OFF, cursor OFF |
|
C1 |
Pule para a segunda linha, posição 1 |
OC |
Display ON, cursor OFF |
C1 |
>
Pule para a segunda linha, posição 1 |
C2 |
Pule para a segunda linha, posição 2 |