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
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