Baixe o app para aproveitar ainda mais
Prévia do material em texto
CCE1070 – MICROCONTROLADORES Aula 06 MICROCONTROLADORES AULA 06 Apresentação da Disciplina Professor: Marcus Pantoja da Silva E-mail: marcus.pantoja@estacio.br MICROCONTROLADORES AULA 06 Display LCD (Liquid Cristal Display) MICROCONTROLADORES AULA 06 Display LCD (Liquid Cristal Display) Os Displays LCD são muito úteis para quem pretende usar um Microcontrolador para desenvolver uma aplicação. Eles permitem uma interface visual entre homem e máquina (HMI em inglês), barata e simples de usar. No LCD você pode enviar textos, números, símbolos e até imagens que podem dar uma indicação do que o Microcontrolador esta fazendo, dos dados que podem estar sendo coletados ou transmitidos, etc. MICROCONTROLADORES AULA 06 Display LCD (Liquid Cristal Display) Para o uso de Micro-controladores, os displays LCD mais comuns são o 16×2 (16 caracteres x 2 linhas) ou 20×4 (20 caracteres x 4 linhas). MICROCONTROLADORES AULA 06 Funcionamento do Display LCD (Liquid Cristal Display) Quando eles foram criados décadas atrás, eles não eram luminosos. Eles simplesmente deixavam passar a luz ou então a obstruíam, deixando sombras. O mostrador é formado de duas placas acrílicas transparentes. Entre essas placas está o cristal líquido. Esse cristal líquido altera o seu comportamento cristalino, dependendo da tensão aplicada entre ele. O chip controlador de LCD mais usado atualmente no mundo inteiro, é um que foi desenvolvido pela Hitachi – o HD44780, há muito tempo atrás. Ele é tão bom, que se tornou um padrão. MICROCONTROLADORES AULA 06 Funcionamento do Display LCD (Liquid Cristal Display) O chip controlador possui uma memória ROM interna onde já estão gravados alguns caracteres e símbolos. Cada caractere é formado por uma matriz de 5 x 8. MICROCONTROLADORES AULA 06 Pinagem do LCD Na parte superior do display existem 16 pinos, conforme mostra a figura abaixo. MICROCONTROLADORES AULA 06 Pinagem do LCD Pino 1: VSS – Pino de alimentação (0 V – GND) Pino 2: VDD – Pino de alimentação (+ 5 V) Pino 3: VO – Pino de ajuste de contraste do LCD Pino 4: RS – Seleção de comandos (0) ou dados (1) Pino 5: R/W – Leitura (1)/ Escrita (0) Pino 6: E – Enable – ativa o display (1) desativa (0) Pino 7 a pino 14: D0 a D7 – dados (8 bits) Pino 15 – A – Anodo do Led de iluminação (+ 5V) Pino 16 - K – Catodo do Led de iluminação (0 V) MICROCONTROLADORES AULA 06 Exemplo Para exemplificarmos a utilização de um display LCD iremos utilizar a placa de simulação K16F do simulador PICsimlab MICROCONTROLADORES AULA 06 Bibliotecas Para facilitar o desenvolvimento de aplicações que utilizam o display LCD iremos utilizar uma biblioteca que já contém os principais métodos necessário à operação do display “lcd.h”. Além disso, iremos utilizar um programa em c, denominado “lcd.c” que irá implementar os métodos necessários. Ambos encontram-se no SIA para download. MICROCONTROLADORES AULA 06 Esquemático da placa MICROCONTROLADORES AULA 06 Funções Para trabalhar com o display lcd possuímos as seguintes funções: void lcd_init() – Inicia a operação do LCD void lcd_cmd(unsigned char val) - Função de comandos do LCD - Parâmetros: L_CLR – Limpar o LCD L_L1 - Escreve na linha 1 L_L2 – Escreve na linha 2 L_NCR – Retira o cursor que pisca void lcd_str(const char* str) – Escreve uma String no LCD MICROCONTROLADORES AULA 06 Exemplo Vamos desenvolver um programa que escreve na primeira linha do LCD a palavra “MICROCONTROLADOR” e na segunda linha escreva “DISPLAY LCD” Para isso utilizaremos como hardware de demonstração a placa K16F do PICsimlab com o microcontrolador PIC16F286A MICROCONTROLADORES AULA 06 Exemplo O primeiro passo a ser realizado é fazer o download dos arquivos lcd.h e lcd.c que se encontram no SIA. O arquivo lcd.h deve ser inserido na pasta Header Files do projeto. O arquivo lcd.c deve ser inserido na pasta Source Files. Compile o arquivo lcd.c e depois crie um novo arquivo que será o programa principal que utilizaremos para manipular o display LCD. MICROCONTROLADORES AULA 06 Desenvolvendo um Programa em C que escreve no LCD void main(){ TRISA = 0b00000000; TRISB = 0b11100111; lcd_init(); // inicia o LCD lcd_cmd(L_CLR); // limpa o LCD while(1){ lcd_cmd(L_L1); // escreve na linha 1 lcd_str("MICROCONTROLADOR"); // o que será escrito lcd_cmd(L_L2);// escreve na linha 2 lcd_str("DISPLAY LCD"); // o que será escrito lcd_cmd(L_NCR); // desliga o cursor __delay_ms(1000); } } MICROCONTROLADORES AULA 06 Desenvolvendo um Programa em C que escreve no LCD MICROCONTROLADORES AULA 06 Rolagem de mensagem Muitas vezes queremos que a mensagem que será escrita no display LCD “role” para um determinado sentido. Para conseguir esse efeito basta que, a cada determinado instante de tempo, façamos com que a mensagem a ser escrita desloque uma posição. Para isso podemos utilizar a função lcd_cmd() na qual passamos a linha, exemplo L_L1 e em seguida somamos a posição na qual queremos que a mensagem inicie (ex: L_L1+1). Então dessa forma podemos controlar o deslocamento da mensagem. MICROCONTROLADORES AULA 06 Exemplo void main(){ TRISA = 0b00000000; TRISB = 0b11100111; lcd_init(); lcd_cmd(L_CLR); while(1){ for (int i=0; i<=16 ;i++){ lcd_cmd(L_L1 + i); lcd_str("MICROCONTROLADOR"); lcd_cmd(L_L2 + i); lcd_str("DISPLAY LCD"); lcd_cmd(L_NCR); __delay_ms(200); lcd_cmd(L_CLR); } } MICROCONTROLADORES AULA 06 AVANCE PARA FINALIZAR A APRESENTAÇÃO. MICROCONTROLADORES AULA 06
Compartilhar