Por que en proteus corre perfectamente y en protoboard no sale bien?

hice un pequeño proyecto con un optoacoplador y un pic 16f84a, este consiste en q cuando se interrumpe el haz de un optoacoplador de ranura se me encienda un led, este se quede prendido hasta q manualmente lo apague y este listo para usarse. En proteus me hace perfectamente lo que quiero, pero ya en protoboard cuando interrumpo el haz en el optoacoplador se enciende el led, pero cuando lo quito, se apaga.
este es el programa en emsamblador:
TITLE "prueba"
LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF& _WDT_OFF& _PWRTE_ON& _XT_OSC
INICIO
BSF STATUS,5; PASAMOS AL BANCO1
CLRF TRISB; CONFIGURAMOS PUERTO B COMO SALIDA
MOVLW 03h; HABILITO DoS ENTRADA DEL PUERTO A (A0)
MOVWF TRISA
BCF STATUS,5; REGRESO BANCO 0
LEDAPAGADO
MOVLW 00H
MOVWF PORTB
ENTROCARTA
BTFSS PORTA,0
GOTO ENTROCARTA
ENCIENDE
MOVLW 01H
MOVWF PORTB
REVISANCARTA
BTFSS PORTA,1
GOTO REVISANCARTA
GOTO LEDAPAGADO
END
 

Adjuntos

  • conexion_p16f84a_803.zip
    17.6 KB · Visitas: 29
Hola chikhim.

No te confies mucho en el proteus. Si bien simula muy bien, no simula a la perfección. No obstante, el programa está bien.

De tu programa deduzco que, el optoaclopador, cuando se interrupme se pone en estado alto. Y el interruptor manual cuando lo accionas, se pone en estado alto también.

Lo que te aconcejo es que, pon una resistencia pull down entre el pin RA1 y el pin del pulsador, con una de 100k anda bien. Esto es necesario ya que, al no tener esto, y haberlo configurado como entrada al RA1, es muy sensible a las cargas estáticas de los equipos e inclusive de tu propia mano.

De seguro detecta estática, lo toma como un 1 lógico y continua el programa.
 
Hola!

Es cierto lo que dice Leon Elec. Con un Pull-Down es como si amarraras a la pata con un elástico contra un poste, solo para que no se mueva con fuerzas pequeñas.

Lo que pasa aqui, es que el Proteus idealiza ese tipo de cosas. No considera lo de las cargas estáticas, y por eso a Proteus no le hace falta que pongas un Pull-Down. Pero la realidad es la realidad....

A mi me falló todo un proyecto también que en Proteus funcionó muy bien, y en la realidad no, hasta que vino un amigo y me dijo que ponga Pull-Downs. Desde entonces que todo funciona a la perfección.

Si hay más problemas, sigue escribiendo!

Saludos!
 
Atrás
Arriba