Hola a todos...
De antemano gracias por la ayuda, la situacion es la siguiente:
Estoy desarrollando un programa en el que utilizo el puerto B, D y E del pic16f877.
La primera parte del programa es detectar que tecla fue pulsada y sacar su equivalente ASCII por el puerto D, que lo muestreo con leds, funcionando adecuadamente. Por otro lado, ese valor en ASCII lo quiero mostrar en una LCD, por lo tanto realice unas rutinas para mostrar un mensaje en el LCD, lo cualfunciona bien. El problema radica que cuando uno las subrutinas para mostar en la LCD la tecla pulsada pasa alguna de las siguientes situaciones:
A) Por el puerto D sale el mismo dato y por el puerto B siempre se mantienen las salidas en ceros, siendo que debe haber voltajes de salida debido al escaneo continuo del teclado, por lo tanto al pulsar alguna tecla el sistema no funciona.
Despues de quitar y poner la alimentacion varias veces, el sistema responde enviando la salida por el puerto B, por lo tanto al pulsar una tecla se muestra en la LCD.
C)Las ultimas veces que probe el sistema, ya no responde ni quitando y poniendo la alimentacion por un gran numero de veces.
Me gustaria saber, si alguien puede ayudarme, a que se puede deber esto. Mis teorias son variadas:
A) El pic esta consumiendo mucha potencia,
La LCD es muy lenta, C) Hay interferencia de algun tipo entre los puertos, D) Al grabar el pic con el ICPROG no estoy definiendo correctamente la palabra de configuracion.
Hay algunas cosas que intente:
A) Grabar el pic con diferentes palabras de configuracion, y no funciona.
Enviar a todos los puertos como salida un voltaje alto para ver su funcionan todos los puertos, si funcionan pero para el programa no quieren.
Tal vez esta informacion sea importante para que me orienten: La alimentacion al sistema minimo es de 5.1 volts y la alimento con la fuente de mi pc; frecuencia del oscilador es de 4 Mhz; la LCD es una JHD 162A.