Estimados: Revivo este post de hace 3 años, pq estoy teniendo un problema relacionado a esto, que no puedo resolver.
Estoy usando un PIC 18f97j60, montado en la MCE Web Server de MCelectronics, el mismo maneja un display de 16x4 maca winstar modelo wh1602c, mi programa esta escrito en C y compilado con CCS, para el display estoy usando la libreria flex_lcd.c con la siguiente asignacion de pines:
LCD_DB4 PIN_G2
LCD_DB5 PIN_J0
LCD_DB6 PIN_G3
LCD_DB7 PIN_J1
LCD_E PIN_C4
LCD_RS PIN_C3
LCD_RW PIN_C2
El problema es que el display, funciona a veces, y otras veces no... siempre se enciende (y se llega a ver el contraste de los pixeles) pero a veces no dibuja.
La primera vez que me pasó fue cuando recien terminaba de armar el aparato, el LCD funcionaba bien, y al dia siguiente ya no funcionaba... me tome 2 horas tratando de encontrar la falla y de la nada comenzo a funcionar normalmente despues de un reset..
Luego me volvio a pasar.. no funcionaba el LCD... y mientras buscaba la falla, conecté el pickit, y comenzo a funcionar por arte de magia! (a pesar de que el pickit no aportaba fuente, solo programacion)...
Esta situacion se viene repitiendo cumpliendo siempre las siguientes caracteristicas:
1) Siempre empieza NO funcionando, y luego cuando comienza a funcionar no se vuelve a clavar mas (hasta qe vuelvo a apagar el aparato por mucho tiempo).
2) A pesar de lo que haga, siempre comienza a funcionar despues de un cierto tiempo (como si algo "calentara") mas alla de lo que yo intente.
3) Si bien me pasó de que "no funcione" y luego "si funcione" corriendo el MISMO programa... la mayoria de las veces que comienza a funcionar es despues de una programacion (aunque programe lo mismo que ya tiene adentro).
Para programar el aparato que hice estoy usando PICKIT3.... y respecto a eso noté algo.... cuando el aparato está sin hacer funcionar el LCD, y lo programo, la barra de progreso del pickit avanza a velocidad constante, al igual que la verificacion... Pero cuando el aparato esta con el LCD funcionando correctamente y lo programo, la barra de progreso avanza hasta un cierto punto (pareciera que avanza hasta el punto fisico de ocupacion de memoria del programa) luego "se tilda" la ventana del pickit, el progreso queda estancado ahi por unos segundos (la barra de titulo del programa del pickit dice "no responde"), y luego se destilda y aparece programado con el 100% ok...
No entiendo bien como se relacionan el comportamiendo extraño del PICKit, con el problema que me esta dando el LCD...
Aclaro que si bien la barra de progreso de la programacion a veces anda bien, y otras veces "se tilda" SIEMPRE las verificaciones de codigo dan OK.
Tambien, aclaro que el problema es SOLAMENTE con el LCD (tengo un led piloto que me dice cuando el programa esta corriendo ok).
Respecto a hardware, hice TODO... verifique mil veces los pines uno por uno, verifique que nada este en CC ni cortado,,, no hay basura ni pelusas en ningun lado..
Posteo el problema aqui, pq cuando lei la hoja de datos del winstrar, la misma dice que la Vmin para manejar el LCD es de 3.5v, y todo esto corre con 3.3v....... De todas maneras, muchisimas veces antes, habia hecho funcionar este mismo display LCD, con tensiones de 3.3v SIN PROBLEMAS,..
Alguna idea?
Muchas gracias por su atencion!
Gonzalo