Hola amigos! Mi problema es que no consigo mostrar caracteres en un LCD 2x16. Creo que consigo que se inicialice puesto que la segunda fila se pone entera en negro(si no recuerdo mal esto quería decir que se había inicializado bien). El caso es que simulo en Proteus y la cosa va bien pero en "vivo y en directo"
no. Hace tiempo estuve trasteando con este mismo LCD pero programaba en asm y recuerdo que no utilizaba la misma programación para simular en Proteus y en la realidad porque recuerdo que el simulador no aceptaba los mismos tiempos para el envio de comandos que el modulo real. Ahora estoy con CCS y no se muy bien si tengo que tener en cuenta algún cambio en la librería lcd.c para que me funcione... por eso les pido ayuda
. Si sirve de algo este es el código(muy simple):
#include <16f877a.h>
#use delay (clock=4000000)
#define use_portb_lcd TRUE #include<lcd.c>
void main(void)
{
port_b_pullups(FALSE);
set_tris_b(0);
lcd_init();
printf(lcd_putc," HOLA MUNDO ");
while(TRUE){};
}
Y las conexiones:
RB0 <==> E
RB1 <==> RS
RW ===> MASA (sólo escribo...)
RB5 <==> DB4
RB5 <==> DB5
RB6 <==> DB6
RB7 <==> DB7
Vo está conectada a la salida de un pot10K y la alimentación a un regulador de 5V. Gracias por leerme y saludos!!!!!