TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: gm02 en 11 de Marzo de 2005, 11:33:00
-
Estoy programando un pic16f84a y tod sale bien excepto las visualizacion de la informacion en un LCD 16x2 KS0070B, he visto q un usuario q hace llamar Chileno logro resolver el problema, he probado varias cosas y no sale, necesito algunos consejos, gracias
-
ok tienes problemas con la visualizacion en LCD... cual???
-
Ciertamente no logro visualizar informacion alguna. El PIC trabaja bien pues antes de entrar y sale de los procedemientos del LCD hace un flashing de un led y esto funciona muy bien. No se si el problema es con el mismo LCD, lo estoy usando de 4bits y no se si exista algun conflicto con los tiempos, espero me ayuden. gracias
-
Que lenguaje de programacion usas? Que rutinas de LCD usas? o q codigo estas usando? Lo mejor, si necesitas ayuda, seria q posteases el codigo.
-
Uso el mikropascal y comence corriendo un ejemplo q usan para el 16f84 q es muy sencillo. Configure mi hardware para usar el PuertoB tal y como la ayuda de mikropascal lo aconseja y donde especifican q los datos seran desde RB4-RB7, o sea 4 bit.
Tambien en el puerto B tenemos el Enables(RB3) y el RS(RB2), debo decirte q en los simuladores todo se muestra perfectamente, pero en el hardware, especificamente en el LCD no se muestra nada.
Sigo agradeciendo la ayuda, gracias miles
-
El codigo en mikropascal
program pr_gm1;
var
tmp: byte;
procedure cheking;
begin
tmp:=0;
TRISB := 0; // configure pins of portb as output
repeat // beginning of a repeat loop
begin
PORTB := $FF; // turn ON diodes on portb
delay_ms(100); // wait for 250 msecond
PORTB := 0; // turn OFF diodes on portb
delay_ms(100); // wait for 250 msecond
inc(tmp);
end;
until tmp = 50; // endless loop (as this condition is never satisfied)
end;
procedure display;
begin
Lcd_Init(PORTB); // initialize LCD connected to portb
delay_ms(100);
lcd_cmd( LCD_CLEAR);
delay_ms(100); // send command to LCD "clear display"
lcd_cmd( LCD_CURSOR_OFF); // send command cursor off
delay_ms(100);
lcd_out(2,1,"FGM"); // print txt to LCD, 2nd row, 1st column
end;
begin
cheking;
delay_ms(1000);
display;
delay_ms(1000);
cheking;
end.
si lo necesitan en asm lo puedo enviar tambien.