LCD USO DO LCD – SERIAL
Prof. João Carlos
LCD • O display LCD –SERIAL (16X2) é operado com apenas um pino de saída do MICROCONTROLADOR PICAXE - (qualquer saída pode ser utilizada). • Você envia instruções e mensagens para a tela usando o comando serout. Veja o texto: • init: • main:
pause 500 ‘tempo para inicialização do display serout 4, N2400,(“bom dia!”) ‘output text
Conectando o modulo de LCD ao PICAXE Microcontroller (serial mode) • O diagrama a seguir mostra como conectar o módulo LCD Serial para o PICAXE. • Pode-se utilizar qualquer saída. Nesse experimento vamos utilizar a saída 7, que será usada para enviar sinais para o LCD. • Caso o modulo tenha relógio, utilize a entrada 0 para o sinal do alarme do despertador.
LCD Nota: As ligações têm que ser feitas diretamente aos pinos de saída PICAXE (não utilizar o driver para a comunicação
Você pode controlar onde a mensagem é exibida usando alguns dos seguintes comandos:
LCD
CARACTERES • Os caracteres são símbolos normais que podem ser exibidos na tela LCD. • Note que os caracteres de 0-7 são especiais, utilizados para mensagens pré definidas. • Os números 253 e 254 são usados para indicar a escrita na memória ou controle da sequencia de comandos. 0 1-7 8-128 129-252 type) 253 254 255
Time Predefined Messages ASCII Characters (see Appendix 1) Miscellaneous Characters (may vary dependant on LCD Special Command – Write Memory Special Command – Command Character Reserved for future use
Comando de controle (254)
LCD
Comando de controle são todos prefixados no numero 254. Eles são usados para enviar commandos para o Serial LCD Module.
Os principais comandos de controle são:
• • • • • • • • • •
254,1 254,8 254,12 254,14 254,16 254,20 254,128 254, y 254,192 254, y
Clear Display (deve ser seguido por um comando pause 30) apaga Display Restaura Display liga Cursor Move Cursor Left Move Cursor Right Move to line 1, position 1 Move to line 1, position x ( onde y = 128 + x) Move to line 2, position 1 Move to line 2, position x (onde y = 192 + x)
LCD
LCD
LCD - exemplo de linhas de comandos init: pause 500 main:
serout 4,N2400,(254,1) ‘Clear display (deve ser seguido de pause 30 pause 30
‘ ‘pause 30’
serout 4,N2400,(254,128)
‘Move to line 1, position 1
serout 4,N2400,(254, y)
‘Move to line 1, position x ‘(onde y = 128 + x)
serout 4,N2400,(254,192)
‘Move to line 2, position 1
serout 4,N2400,(254, y)
‘Move to line 2, position x ‘(onde y = 192 + x)
LCD
LCD
Comando de escrita na memoria (253)
Os commandos de escrita na memoria s達o todos prefixados no numero 253. Eles s達o utilizados nos programas de mensagens predefinidas, relogio e alarme no MODULO SERIAL LCD . 0 1-7 8 9 10
Set clock time Set predefined messages 1-7 Set Alarm (date/time) Set Alarm (interval) Turn Alarm Off
LCD - programação - exemplo 1 -Você deve
utilizar o pause 500 para permitir que o LCD inicie corretamente.
init: pause 500
‘ wait for display to initialise
main: serout 7,N2400,(254,128) ‘ move to start of first line serout 7,N2400,(“Hello!123”)
end
‘ output text
LCD - programação - exemplo 1 init: pause 500
‘ wait for display to initialise
main: serout 7,N2400,(254,131) ‘ move to start of first line
serout 7,N2400,(“Hello!123”) end
‘ output text
LCD - programação – exemplo 2 ‘programa LCD4 MAIN: pause 500 serout 7,N2400,(254,128, "1","6"," OLA ") PAUSE 10 serout 7,N2400,(254,192,"2","5"," PICAXE ") PAUSE 1000 serout 7,N2400,(254,1) pause 1000 serout 7,N2400,(254,128,"1","1"," OLA ") Pause 10 serout 7,N2400,(254,192, "2","1"," PICAXE ") pause 10 serout 7,N2400,(254,1) pause 10 GOTO MAIN
LCD - programação – EX. 3 - texto e Variáveis • init: pause 500 • • pre: serout 7,N2400, (254,1) ' limpa display • pause 30 ‘ após limpeza deve utilizar um pause 30 • goto main • • main: serout 7,N2400,(254,128,"jogador1= ") 'show message 1 • pause 10 ‘ sempre utilizar pause 10 entre os comandos • serout 7,N2400,(254,137,#b1," ") 'move cursor 128+9 places • 'and show variable b1 • serout 7,N2400,(254,192,"jogador2= ") 'show message 2 • pause 10 • serout 7,N2400,(254,201,#b2," ") 'move cursor 192+9 places • let b1=b1+1 ‘ troca dos numeros • let b2=b2+2 • pause 500 • goto main
LCD - programação • ESCREVER 3AED – 2013 nas duas linhas do LCD de forma alternada
LCD - programação • • • • • • • • • • • • • • • • • •
'programa LCD3 'ESCREVER 3AED - 2013 nas duas linhas do LCD de forma alternada init: pause 500 pre: serout 7,N2400, (254,1) pause 30 goto main
' limpa display
main: serout 7,N2400,(254,1) ' limpa dislplay pause 10 serout 7,N2400,(254,128,"3AED - 2013") pause 1000 serout 7,N2400,(254,1) ' limpa dislplay pause 10 serout 7,N2400,(254,192,"3AED - 2013") pause 1000 goto main
'show message 1
'show message 2