Operacoes Com Displays

21
1 Microcontroladores PIC Microcontroladores PIC Operação com Displays de Cristal Líquido Operação com Displays de Cristal Líquido LCDs LCDs

description

pic,programacao,lcd,microcontrolador

Transcript of Operacoes Com Displays

Page 1: Operacoes Com Displays

1

Microcontroladores PICMicrocontroladores PICOperação com Displays de Cristal Líquido Operação com Displays de Cristal Líquido

LCDsLCDs

Page 2: Operacoes Com Displays

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

Page 3: Operacoes Com Displays

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.

Page 4: Operacoes Com Displays

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.

Page 5: Operacoes Com Displays

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

Page 6: Operacoes Com Displays

Módulos LCDs Alfanuméricos Módulos LCDs Alfanuméricos mais Comunsmais Comuns

Page 7: Operacoes Com Displays

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

Page 8: Operacoes Com Displays

Pinagem Básica dos Módulos LCDsPinagem Básica dos Módulos LCDs

Page 9: Operacoes Com Displays

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

Page 10: Operacoes Com Displays

Temporização Temporização dos LCDsdos LCDs

Ciclo de Escrita

Page 11: Operacoes Com Displays

Temporização dos LCDs

Ciclo de Leitura

Page 12: Operacoes Com Displays

Ciclo de Escrita e Leitura do MCU 16F877ACiclo de Escrita e Leitura do MCU 16F877A

Page 13: Operacoes Com Displays

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

Page 14: Operacoes Com Displays

Programação de LCDs:Programação de LCDs:Comandos mais ComunsComandos mais Comuns

Page 15: Operacoes Com Displays

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.)

Page 16: Operacoes Com Displays

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;

}

Page 17: Operacoes Com Displays

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;

Page 18: Operacoes Com Displays

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');

}}

Page 19: Operacoes Com Displays

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

Page 20: Operacoes Com Displays

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

Page 21: Operacoes Com Displays

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