Display ILI9488 60x20

Este é um programa que transforma um display gráfico LCD 480x320 em um display de caracteres 60x20 para uso geral:

 

A base dos testes é um Atmega8A com o circuito conforme abaixo:

A comunicação é serial onde escreve-se um byte iniciando com o sinal CS em 0, o D/C vai definir se o byte será Dado em 1, ou será Comando em 0 e, então o SDA fornece os bits na sequência e o SCL pulsa registrando esses bits.

O sinal de reset fica um tempo em 0 quando o display é ligado para depois permanecer em 1:


O pino 7 do display liga os LEDs do LCD e não precisa de resistor porque não é o anodo e sim a base de um transistor que já tem um.

A folha de dados do display tem uma lista de comandos e alguns possuem parâmetros, então é escrito um byte de Comando e em seguida um ou vários bytes de Dados que serão esses parâmetros do comando.

Para escrever pixels tem um comando inicial de escrita na memória e depois vários conjuntos de três bytes que definem um pixel, na sequência, que começarão a preencher a tela da direita p/ esquerda e de baixo p/ cima. Tem comandos que reduz a área de escrita na tela como por exemplo apenas um caractere 8x16:


Aqui é mostrado o teste, no começo demora a escrever a cor base de fundo do display inteiro para depois começar a escrever os caracteres rapidamente. As escritas são diretas sem temporizações no programa com a CPU plena em 8MHz: 

 


Foi criado um arquivo INC com as principais rotinas do display para ser usado num programa principal como se fosse uma biblioteca. A principal rotina escreve um caractere quando é especificada as coordenadas xy na tela e possui um pequeno conjunto de mapas de bits dos caracteres que é gravado no final da ROM do microcontrolador: 

 

 Programa Asm

 

 

Comentários

Postagens mais visitadas deste blog

Gerador Aleatório

MP3

HD com relês