Ayuda con Interfaz DEMO9S08QG8 - LCD

Software e Hardware para uC da Qualcomm, NXP, FreeScale e Motorola

Moderadores: 51, guest2003

Ayuda con Interfaz DEMO9S08QG8 - LCD

Mensagempor Yego » 17 Out 2007 14:47

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
Yego
Bit
 
Mensagens: 10
Registrado em: 13 Out 2007 16:15

Mensagempor mastk » 17 Out 2007 15:26

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?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor Fábio Pereira » 17 Out 2007 15:56

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é +
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor Yego » 17 Out 2007 17:13

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!!!
Yego
Bit
 
Mensagens: 10
Registrado em: 13 Out 2007 16:15

Mensagempor mastk » 17 Out 2007 18:18

you have to make a mask, something like:

void esc (void){
A = PTBD
A = A & 0xF0;
A = A | DADOS;
PTBD = A;
}

for example...
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor Fábio Pereira » 18 Out 2007 09:44

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,
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor Yego » 19 Out 2007 00:20

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();
Yego
Bit
 
Mensagens: 10
Registrado em: 13 Out 2007 16:15

Mensagempor mastk » 19 Out 2007 16:19

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?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor Yego » 19 Out 2007 20:14

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
Yego
Bit
 
Mensagens: 10
Registrado em: 13 Out 2007 16:15

Mensagempor mastk » 22 Out 2007 11:29

So, is it work now?
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43


Voltar para NXP (ex-FreeScale (ex-Motorola))

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x