Operacoes Com Displays

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Operacoes Com Displays as PDF for free.

More details

  • Words: 831
  • Pages: 21
Microcontroladores PIC Operação com Displays de Cristal Líquido LCDs

1

Sumário      

Características dos módulos LCDs Tipos de LCDs Informações Comuns aos LCDs Conexão de LCDs com MCUs Programação de LCDs Exemplo em Linguagem C

2

Características dos Módulos LCDs 

Displays LCDs: • Exibe informações alfa-numéricas (caracteres) e/ou gráficas (pontos, linhas, curvas, etc.). • Adequados a aplicações que não demandam alta visibilidade. Ângulo de observação limitado. • Na sua grande maioria: depende de iluminação externa. • Baixo consumo de energia (da ordem de 1 mA). • Elevado custo.

3

LCDs - Tecnologia TN 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.

Tipos de Displays LCDs

      

Alfanuméricos ou Gráficos. Número de Linhas. Resoluções variadas. Número de pinos para conexão. Com ou sem backlight. Tipo de caracteres. Tecnologias e Temporizações diversas.

PINAGEM DE UM LCD 16x2

Controle do contraste Controle do Backlight Pinos de dados do LCD

Pinos de controle para a comunicação do LCD com o MCU

5

Módulos LCDs Alfanuméricos mais Comuns

Pinagem Básica de um LCD Alfanumérico PINAGEM DE UM LCD 16 x 2 (caracteres x linhas)

Controle do contraste Controle do Backlight

Pinos de dados do LCD

Pinos de controle para a comunicação do LCD com o MCU 7

Pinagem Básica dos Módulos LCDs

Exemplo de um Esquema Elétrico de Conexão de um LCD com um MCU

Temporização dos LCDs

Ciclo de Escrita

Temporização dos LCDs

Ciclo de Leitura

Ciclo de Escrita e Leitura do MCU 16F877A

Programação de LCDs 

Programar displays de LCDs: • • • •



Configurar PORTs adequadas ao uso de LCDs. Configurar (inicializar) o LCD. Enviar dados de comandos para o LCD. Enviar dados de leitura ou escrita (LCD).

Para escrever um caractere em uma determinada posição do LCDs:

• Envia-se ao LCD um comando com o endereço da posição onde se quer escrever. • Envia-se logo a seguir o caractere a ser escrito na posição.



Endereços: LCD 16x2

Programação de LCDs: Comandos mais Comuns

Programação de LCDs: Caracteres • 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;

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; EN=0;

EN=1; delay_ms(5); EN=0; swap(aux); DISPLAY = aux; // desabilita entradas do ADC }

}

EN=1; delay_ms(5); EN=0;

void lcd_delay(void) { delay_us(50); }

Primeiro Exemplo em Linguagem C // *** Definições do Microcontrolador *** #include <16F877A.H> // arquivo de definições do microcontrolador usado #include #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

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

#bit RS=PORTE.0 #bit EN=PORTE.1 #include

}

}

Displays LCD Gráficos: Pinagem Básica

O que varia é a resolução, medida em pixels: Comum: 128 x 64 pixels

Onde encontrar mais informações…   

 

http://www.microchip.com Desbravando o PIC – Editora Erica – David José de Souza Conectando o PIC 16F877A – Recursos Avançados – Editora Erica – David José de Souza e Nicholas C. Lavínia PIC – Programação em C – Fábio Pereira – Editora Érica John Peatman’s • And corresponding excellent book • http://www.picbook.com/index.html



http://www.piclist.com



http://www.geocities.com/picmaniaco/indice.html

20

Onde encontrar mais informações… 

“Design with PIC Microcontrollers” by John B. Peatman, published by Prentice Hall, ISBN 0-13759259-0.



“Programming Embedded Systems, in C and C++”, M. Barr, publ. byO’Reilly, ISBN 1-56592-354-5



http://en.wikipedia.org/wiki/LCD

21

Related Documents