Post on 13-Jun-2015
description
1
Microcontroladores PICMicrocontroladores PICOperação com Displays de Cristal Líquido Operação com Displays de Cristal Líquido
LCDsLCDs
2
SumárioSumário Características dos módulos LCDsCaracterísticas dos módulos LCDs Tipos de LCDsTipos de LCDs Informações Comuns aos LCDsInformações Comuns aos LCDs Conexão de LCDs com MCUsConexão de LCDs com MCUs Programação de LCDsProgramação de LCDs Exemplo em Linguagem CExemplo em Linguagem C
3
Características dos Módulos LCDsCaracterísticas dos Módulos LCDs Displays LCDs:Displays LCDs:
• Exibe informações alfa-numéricas (caracteres) eExibe informações alfa-numéricas (caracteres) e//ou gráficas ou gráficas (pontos, linhas, curvas, etc.).(pontos, linhas, curvas, etc.).
• Adequados a aplicações que não demandam alta visibilidade. Adequados a aplicações que não demandam alta visibilidade. Ângulo de observação limitado.Ângulo de observação limitado.
• Na sua grande maioria: depende de iluminação externa.Na sua grande maioria: depende de iluminação externa.
• Baixo consumo de energia (da ordem de 1 mA).Baixo consumo de energia (da ordem de 1 mA).
• Elevado custo.Elevado custo.
LCDs - Tecnologia TNLCDs - Tecnologia TN Funcionamento Funcionamento
Reflective twisted nematic w:liquid crystal display. 1. Vertical filter film to polarize the light as it enters. 2. Glass substrate with ITO electrodes. The shapes of these electrodes will determine the dark shapes that will appear when the LCD is turned on. Vertical ridges are etched on the surface so the liquid crystals are in line with the polarized light. 3. Twisted nematic liquid crystals. 4. Glass substrate with common electrode film (ITO) with horizontal ridges to line up with the horizontal filter. 5. Horizontal filter film to block/allow through light. 6. Reflective surface to send light back to viewer.
Obtido em:http://en.wikipedia.org/wiki/LCD
07 de Julho de 2007.
5
Tipos de Displays LCDsTipos de Displays LCDs Alfanuméricos ou Gráficos.Alfanuméricos ou Gráficos. Número de Linhas.Número de Linhas. Resoluções variadas.Resoluções variadas. Número de pinos para conexão.Número de pinos para conexão. Com ou sem Com ou sem backlightbacklight.. Tipo de caracteres.Tipo de caracteres. Tecnologias e Temporizações Tecnologias e Temporizações
diversas.diversas.
Pinos de dados do LCD
PINAGEM DE UM LCD 16x2
Pinos de controle para a comunicaçãodo LCD com o MCU
Controle do BacklightControle do contraste
Módulos LCDs Alfanuméricos Módulos LCDs Alfanuméricos mais Comunsmais Comuns
7
Pinagem Básica de um LCD AlfanuméricoPinagem Básica de um LCD Alfanumérico
Pinos de dados do LCD
PINAGEM DE UM LCD 16 x 2 (caracteres x linhas)
Pinos de controle para a comunicaçãodo LCD com o MCU
Controle do Backlight
Controle do contraste
Pinagem Básica dos Módulos LCDsPinagem Básica dos Módulos LCDs
Exemplo de um Esquema Elétrico de Exemplo de um Esquema Elétrico de Conexão de um LCD com um MCUConexão de um LCD com um MCU
Temporização Temporização dos LCDsdos LCDs
Ciclo de Escrita
Temporização dos LCDs
Ciclo de Leitura
Ciclo de Escrita e Leitura do MCU 16F877ACiclo de Escrita e Leitura do MCU 16F877A
Programação de LCDsProgramação de LCDs Programar displays de LCDs:Programar displays de LCDs:
• Configurar PORTs adequadas ao uso de LCDs.Configurar PORTs adequadas ao uso de LCDs.• Configurar (inicializar) o LCD.Configurar (inicializar) o LCD.• Enviar dados de comandos para o LCD.Enviar dados de comandos para o LCD.• Enviar dados de leitura ou escrita (LCD).Enviar dados de leitura ou escrita (LCD).
Para escrever um caractere em uma Para escrever um caractere em uma determinada posição do LCDs:determinada posição do LCDs:• Envia-se ao LCD um Envia-se ao LCD um comandocomando com o com o endereço da posiçãoendereço da posição
onde se quer escrever.onde se quer escrever.• Envia-se logo a seguir o Envia-se logo a seguir o caracterecaractere a ser escrito na posição. a ser escrito na posição.
Endereços:Endereços:LCD 16x2
Programação de LCDs:Programação de LCDs:Comandos mais ComunsComandos mais Comuns
Programação de Programação de LCDs:LCDs:
CaracteresCaracteres• O código de cada
caractere é composto por 8 bits sendo:– nibble alto (upper bits)– nibble baixo (lower bits).
• LCDs tem em comum os caracteres entre 00h e 7Fh
• O código dos caracteres em LCDs alfanuméricos podem variar conforme fabricante e o padrão: (ASCII, Unicode, etc.)
Exemplo em Linguagem C: Arquivo Header
void lcd_delay(void);void lcd_comando(char);void lcd_dado(char);void lcd_init(void);
void lcd_dado (char dado){
lcd_delay();RS=1;lcd_delay();swap(dado);DISPLAY = dado;lcd_delay();EN=1;lcd_delay();EN=0;
swap(dado);DISPLAY = dado;lcd_delay();EN=1;lcd_delay();EN=0;
}
void lcd_comando (char dado){
lcd_delay();RS=0;lcd_delay();swap(dado);DISPLAY = dado;lcd_delay();EN=1;lcd_delay();EN=0;
swap(dado);DISPLAY = dado;lcd_delay();EN=1;lcd_delay();EN=0;
}
Exemplo em Linguagem C: Arquivo Header (continuação)
for(cont=0;cont<6;cont++){aux =Inic[cont];RS=0;delay_ms(5);swap(aux);DISPLAY = aux;
EN=1;delay_ms(5);EN=0;
swap(aux);DISPLAY = aux;
EN=1;delay_ms(5);EN=0;
}}
void lcd_delay(void){
delay_us(50);}
void lcd_init(){
int cont;char aux;char Inic[6];Inic[0] = 0x33;Inic[1] = 0x32;Inic[2] = 0x28;Inic[3] = 0x06;Inic[4] = 0x0C;Inic[5] = 0x01;
set_tris_d(0xf0);set_tris_e(0x00);ADCON1 = 0x07; // desabilita entradas do ADC
EN=0;
Primeiro Exemplo em Linguagem CPrimeiro Exemplo em Linguagem C// *** Definições do Microcontrolador ***#include <16F877A.H> // arquivo de definições do microcontrolador usado#include <regs_16F87x.H>#fuses XT,NOWDT,PUT,NOBROWNOUT,NOLVP // bits de configuração
// Configurações do Projeto#use delay(clock=4000000) // informa ao sistema o frequência de clock, para temporização
// Definições de Hardware#byte DISPLAY=PORTD
#bit RS=PORTE.0#bit EN=PORTE.1
#include<LCD.H>
// Programa principal
void main (void){ lcd_init(); for(;;){ lcd_comando(0x84); lcd_dado('E'); lcd_dado('x'); lcd_dado('s'); lcd_dado('t'); lcd_dado('o');
lcd_comando(0xc2); lcd_dado('T'); lcd_dado('e'); lcd_dado('c'); lcd_dado('n'); lcd_dado('o'); lcd_dado('l'); lcd_dado('o'); lcd_dado('g'); lcd_dado('i'); lcd_dado('a');
}}
Displays LCD Gráficos: Pinagem BásicaDisplays LCD Gráficos: Pinagem Básica
O que varia é a resolução, medida em pixels:
Comum: 128 x 64 pixels
20
Onde Onde encontrarencontrar mais informações… mais informações… http://www.microchip.comhttp://www.microchip.com Desbravando o PIC – Editora Erica – David José de Desbravando o PIC – Editora Erica – David José de
Souza Souza Conectando o PIC 16F877A – Recursos Avançados – Conectando o PIC 16F877A – Recursos Avançados –
Editora Erica – David José de Souza e Nicholas C. Editora Erica – David José de Souza e Nicholas C. Lavínia Lavínia
PIC – Programação em C – Fábio Pereira – Editora Érica PIC – Programação em C – Fábio Pereira – Editora Érica John Peatman’sJohn Peatman’s
• And corresponding excellent bookAnd corresponding excellent book• http://http://www.picbook.com/index.htmlwww.picbook.com/index.html
http://www.piclist.comhttp://www.piclist.com http://www.geocities.com/picmaniaco/indice.htmlhttp://www.geocities.com/picmaniaco/indice.html
21
Onde encontrar mais informações…Onde encontrar mais informações…
“Design with PIC Microcontrollers” by John B. Peatman, published by Prentice Hall, ISBN 0-13-759259-0.
“Programming Embedded Systems, in C and C++”, M. Barr, publ. byO’Reilly, ISBN 1-56592-354-5
http://en.wikipedia.org/wiki/LCD