Página 1 de 1
Ayuda con Interfaz DEMO9S08QG8 - LCD

Enviado:
17 Out 2007 14:47
por Yego
Hola,
Necesito hacer una interfaz entre mi tarjeta de evaluacion DEMO9S08QG8 y un LCD paralelo, se que hay un header para trabajar directamente con el LCD, pero no se como agregarlo a mi proyecto.
Alguien que me pudiese ayudar??
Gracias

Enviado:
17 Out 2007 15:26
por mastk
olha mano, não se tem muita opção, vc tem que usar o header msm, os pinos pinos são bagunçados. Então recomendo a comunicação de 4 vias, mas se é a primeira vez use a de 8 e fazer um adaptador.
Bem o uso de LCD de caracter é simples, por exemplo:
use o PORTB como saida.
como o LCD como escrita, ou seja escrever os dados do MCU no LCD
dai vc faz o controle pelo, D/I, dados ou instruções e o CS seleção de chip.
Faça o circuito de contraste padrão conforme do datasheet do seu LCD.
Em termos de hard é isso, soft posso passar depois se precissar, recomendo que dé uma busca no forum ou no google, blz?

Enviado:
17 Out 2007 15:56
por Fábio Pereira
Não há um display LCD que possa ser conectado diretamente ao kit do QG8. Você terá de fazer uma adaptação para conectar ao header J1 do kit.
Vale lembrar que o QG8 opera no máximo a 3,6 Volts e os módulos LCD normalmente são encontrados em 5V, por isso, cuidado ao tentar ler algum sinal vindo do display !
Se não realizar nenhuma leitura, basta conectar os sinais DB4 a DB7, R/S e enable (mantenha o sinal R/W em "0").
Até +

Enviado:
17 Out 2007 17:13
por Yego
Muchas gracias por la informacion,
Me podrias decir como puedo mandar el nibble bajo y alto en el compilador Codewarrior para QG8?
Could you answer me in english please?
Gracias!!!

Enviado:
17 Out 2007 18:18
por mastk
you have to make a mask, something like:
void esc (void){
A = PTBD
A = A & 0xF0;
A = A | DADOS;
PTBD = A;
}
for example...

Enviado:
18 Out 2007 09:44
por Fábio Pereira
Let's supose you are using the lower nibble of port A to communicate to the LCD. You could do:
PTA = data & 0x0F; // send lower nibble
...
PTA = data >> 4; // send higher nibble
Regards,

Enviado:
19 Out 2007 00:20
por Yego
Let me show you my configuration code for the LCD.
I know I have to reduce it, but this is a test.
So, it doesn't work, i've been checked the timer, ports, but it doesn't work yet.
What can I do?
MTIMCLK_PS=0X08;//Estamos asignando un preescaler de 256
MTIMSC_TSTP=0;//Timer activado
desborde=3;
valor=193;//Tiempo de 40msg
rutina_de_tiempo();
PTAD_PTAD0=0;
PTAD_PTAD1=0;
PTBD=0x30;
MTIMCLK_PS=0X07;//Estamos asignando un preescaler de 128
MTIMSC_TSTP=0;//Timer activado
desborde=1;
valor=145;//Tiempo de 5msg
rutina_de_tiempo();
PTBD=0x30;
MTIMCLK_PS=0X07;//Estamos asignando un preescaler de 128
MTIMSC_TSTP=0;//Timer activado
desborde=1;
valor=29;//Tiempo de 1msg
rutina_de_tiempo();
PTBD=0x30;
MTIMCLK_PS=0X07;//Estamos asignando un preescaler de 128
MTIMSC_TSTP=0;//Timer activado
desborde=1;
valor=29;//Tiempo de 1msg
rutina_de_tiempo();
ins=0x20;
PTBD=ins;
ins=0x2C;
PTBD=ins & 0x0F;//Manda los lsb
PTBD=ins>>4;//Manda los MSB
ins=0x08;
PTBD=ins & 0x0F;//Manda los lsb
PTBD=ins>>4;//Manda los MSB
ins=0x01;
PTBD=ins & 0x0F;//Manda los lsb
PTBD=ins>>4;//Manda los MSB
ins=0x06;
PTBD=ins & 0x0F;//Manda los lsb
PTBD=ins>>4;//Manda los MSB
MTIMCLK_PS=0X08;//Estamos asignando un preescaler de 256
MTIMSC_TSTP=0;//Timer activado
desborde=3;
valor=80;//Tiempo de msg
rutina_de_tiempo();

Enviado:
19 Out 2007 16:19
por mastk
look likes, your mixed the things, you code begin, with 8 bits way e finish with 4 bits way, and you don't chance the CS or RS, and do your timebase works?
How is the conection LCD-MCU? Do you use only the PTB?

Enviado:
19 Out 2007 20:14
por Yego
Yes, I've been check a signal test with a scope.
PTBD- > LCD Data
PTAD_PTAD0 -> Rs
PTAD_PTAD1 -> E
Rw always GND
Thanks budy

Enviado:
22 Out 2007 11:29
por mastk
So, is it work now?