Problema con PIC16F84A (No da un output low)

Buenas tardes, soy relativamente nuevo en el tema de los microcontroladores. Resulta que como proyecto me propuse crear un semaforo, y trabajando con el PIC16F84A lo programe. A los puertos RB4,RB5,RB6 les asigne los leds, verde, amarillo, y rojo, y a los puertos(RA0,RA1,RA2,RA3) les asigne un dispay y a (RB0,RB1,RB2,RB3) le asigne otro.
Estos displays cuentan cuando en rojo, de 35 a 0, verde de 30 a 0 y amarillo de 5 a 0.

Realice la programación y luego el montaje, los leds funcionan sin problemas, pero los displays no encienden, estoy usando displays de 7 segmentos de anodo comun y decos 7447. Luego de medir voltajes por aqui y por alla para ver que es lo que hice mal. Noté que las salidas del pic, cuando el pin correspondiente que debe estar encendido, el voltaje es 5V. Y cuando debe estar apagado, el voltaje es 1.8V. Esto sucede con todos los puertos de salida.

Yo asumí que el error esta allí, dado que 1.8V es interpretado como HIGH por el deco, y es por esto que no me enciende el display ya que cuando las 4 entradas(A,B,C,D) estan en high todos los segmentos estan apagados. El 7447 no es el problema ni lo es el display ya que conecte el lamp test a tierra y efectivamente encendieron todos los segmentos.

Mi pregunta es, que podría estar haciendo mal, porque estos pines del pic me dan 1.8V cuando con respecto a la programación deberían estar apagados?
 
y si subes tu codigo?, porque asi adivinando no creo que se te pueda ayudar, solo estariamos adivinando
 
Tengo la sospecha de que es tu fuente alimentación, checa con cambiar la CONFIGURATION WORD, apaga el PWRTE, esto te da 72 ms + 1024 oscilaciones del reloj para que se estabilice el voltaje:

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _XT_OSC

Y ponles unas resistencias pulldown a las entradas de los 74xx47, es decir, con resistencias de 1K a la salida del pic y de ahi a ground.

;-----------------------------------

Y ponle una resistencia limitadora al MCLR, una de 10K estaria bien.
 
Última edición:
no sera que ya no sirve tu pic? pero, despues del org 00 pon esto
bsf STATUS,RP0
CLRF TRISA
CLRF TRISB
BCF STATUS,RP0
CLRF PORTA
CLRF PORTB

haber si con eso se soluciona
 
Lo reprograme con las lineas que me diste y sigue igual.

No, el pic funciona bien, de hecho tengo varios y todos los probé y con todos tengo el mismo problema, ahorita coloque el 7447 con un switch y suministrándole las respectivas entradas vi como el display contaba de 1 a 9. El problema esta entre la conexión del pic al 7447 y la conexión entre el pic y la fuente, supongo?

Por cierto, el 7447 se empezó a calentar cuando lo estaba probando, donde debo añadir resistencias para evitar que el display hale mucha corriente y queme el 7447? Las añado en los pines comunes del display o donde? Y de cuantos ohm?

Gracias por la ayuda
 
No le estabas poniendo resistencias limiatoras a los 7447??? Pense que no lo hiciste en el diagrama por cuestion de ahorrarte tiempo, pero necesitas colocarle las resistencias limitadoras, de 270Ω, en cada una de las salidas del 7447 hacia el display. Podrias tomarle foto a tu protoboard para ver el estado del circuito???
 

Ya lo arregle señores, muchas gracias por la ayuda, desmonte todo y lo monte de nuevo, agregue resistencias entre el PIC y el 7447, y ademas agregue una resistencia al led y asumo que es ella misma la que evita que el 7447 se recaliente como lo hacia antes, ahora todo funciona bien a simple vista, lo deje corriendo por 5 minutos y no hubo ningún problema, no hay recalentamientos. Todo bien. Opiniones?

No le estabas poniendo resistencias limiatoras a los 7447??? Pense que no lo hiciste en el diagrama por cuestion de ahorrarte tiempo, pero necesitas colocarle las resistencias limitadoras, de 270Ω, en cada una de las salidas del 7447 hacia el display. Podrias tomarle foto a tu protoboard para ver el estado del circuito???

Por favor, mira la nueva imagen en esta respuesta y dime si te parece que esta bien así?

Edit: Disculpen el desorden de cables, planeo arreglarlo luego, no tengo herramientas en este momento.
 

Adjuntos

  • PPP.jpg
    PPP.jpg
    121 KB · Visitas: 12
Última edición por un moderador:
Hola richjtf, disculpa por tardar tanto en contestar. En tu cableado tienes un problema, debes de poner resistencias de 270Ω o 330Ω a las salidas del 74LS47 que se conectan a los displays, es decir, en lugar de un alambre pones la resistencia y la conectas al display, por que asi le estas exigiendo mucho al integrado. Y despues, solo como sugerencia, tenias que poner las resistencias pull-down, busca en san google como es esa configuración, no es nada del otro mundo, es muuuy sencillo.

PD: No te preocupes, por el momento, en como se vea tu circuito con el cablerio, pero entre mas pulcros seamos con nuestros trabajos, menor es la probabilidad de que cometamos un error.
 
Atrás
Arriba