• Welcome to LusoRobótica - Robótica em Português.
 

[Ajuda] programar picaxe para LCD 4X20 I2C / Serial LCD03

Started by andre_f_carvalho, 27 de February de 2010, 00:24

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


fre_deri_co

pior ainda para mim... por paralelo (penso que seja assim que se designe) sei programar display (o mais comum 16x2) em 4 ou 8-Bit.... agora i2c ou serial nunca experimentei  :-\
que sempre se partilhe o conhecimento para que sempre se evolua!!!
Frederico Pereira

XicoMBD

Ok, Obrigado.  :)
Hoje experimentei fazer copy/paste do código do andre_f_carvalho, alterando só as localizações e funcionou.
Estava era a tentar perceber o que fazem certas partes do código como:
i2cslave $C6,i2cslow,i2cbyte
writei2c 0,(254,128,255,19,12,4)

--------------------------------------------------

   writei2c 0,(254,128,255,19,12,4)       ;codigo para o lcd

-------------------------------------------------
 
   BINTOASCII range, b1,b2,b3

fre_deri_co

o primeiro comando é a "dizer" e o endereço $C6 (que em binario corresponde ao byte %11000110) que neste caso corresponde ao display assim como ja´vem destipulado de fabrica vai funcionar a i2cslow ou seja a 100kHz ( no caso de i2cfast trata-se de 400kHz, velocidade esta ja destipulada pelo fabricante havendo componentes que permitam funcionar a escolha) por fim i2cbyte refere-se com quantos bytes funcione (i2cbyte = 8 bit, i2cword = 16 bit)
o segundo e terceiro envia informação para o display, sinceramente nao sei de que se trata...
quanto a ultima linha de codigo bintoascii serve para repartir um valor por varias variaveis, por exemplo pretende-se enviar o numero 125 para o display, so se pode enviar caracter a caracter, ou seja tem de se enviar o 1, depois o 2 por fim o 5... para isso assunindo que 125 esta memorizado na variavel b0 faz-se bintoascii b0, b1, b2, b3, assim o valor fica repartido por b1(=1), b2(=2), b3(=5), por im entao envia-se b1, b2 e por fim b3.
que sempre se partilhe o conhecimento para que sempre se evolua!!!
Frederico Pereira

andre_f_carvalho

 writei2c 0,(254,128,255,19,12,4)

esta parte tem a haver com a tabela aciss (acho que é assim), se fores ver ao site da aliatron no lcd 4x20 serie esta la nas informações alguns destes numeros, serve para dizer se queremos a luz do lcd ligada ou n, o cursor a piscar ou n, saltar uma linha, coisas assim

andre_f_carvalho

pessoal encontrei isto xD
http://letsmakerobots.com/node/18875
olhem para onde vai dar o link da lusorobotica XD

XicoMBD