Control de LCD con 16F874 - Ayudaaa!!

Buenas noches,

Ante todo, me gustaría agradecer la atención de todo aquel que me ayude. Mi problema es el siguiente: estoy haciendo como hobby un sistema de control para que un motor funcione durante un tiempo X utilizando un pic 16F874 y un display de 2x16 caracteres (PC-16021C7). La cuestión es que he hecho el código fuente en PICC (utilizando la librería de manejo LCD.C que lleva el propio programa), y he hecho una simulación del circuito en Proteus, y en el simulador funciona a las mil maravillas. Sin embargo, al montarlo en la realidad, me encuentro que el display tiene 2 tipos de comportamiento aleatorios:

- A veces se inicializa correctamente (muestra el texto que debería mostrar) y pasado aproximadamente 1 segundo las dos hileras de letras se ponen en negro O
- Las dos hileras de letras se ponen directamente en negro sin mostrar ningún texto

Adjunto el esquema hecho con Proteus y el código fuente en C, así como el driver del LCD que estoy usando (que es el original que viene con el PICC) a ver si alguien me puede echar un cable!!

Para que no resulte demasiado engorrosa la interpretación del código, decir que relacionado con la visualización pura y dura, únicamente están la función Actualiza_Display y el main. El resto son todo manejo de los botones de entrada (en el esquema se ven los botones que tiene el montaje, que son autoexplicativos) y de las salidas, así como el manejo del timer para la temporización.

Creo que el problema está en los tiempos de espera del driver (el problema coincide más o menos con la primera actualización del texto, para el cual se borra la pantalla entera y se vuelve a imprimir), pero ya he probado a jugar con esos valores y no se soluciona nada. He probado también con otros displays de otras marcas, pero el problema es exactamente el mismo. La verdad, estoy un poco desesperado ya... je je je

Muchas gracias de antemano a quien me ayude. Un saludo!!
 

Adjuntos

  • Fuente.zip
    7.2 KB · Visitas: 11
  • Circuitop.zip
    66.8 KB · Visitas: 22
Lo más probable es que sea por uno de estos motivos:

- Hay algún mal contacto en algún punto
- La fuente de alimentación está mal filtrada e introduce mucho ruido en el circuito
- El motor está introduciendo picos de tensión que hacen que el pic haga cosas raras
 
Hola, arrivaellobo,

Muchas gracias por tu respuesta, pero como nadie contestaba, no me acordé más de este hilo, je je je.

Al final el problema estaba en que el PIC no se estaba inicializando correctamente por un problema de conexionado. En fin... hay veces que las cosas más tontas y obvias se nos escapan y nos hacen dar mil vueltas.

Muchas gracias de todas formas ;)

Un saludo!!
 
Atrás
Arriba