hla he generado un código lo he compilado con MPLAB ide 8,00 y lo he simulado también , con el mismo programa . lo he pasado al chip con ic prog , segun parece todo bien , pero no funciona , he revisado el harward, es muy basico . Aparentemente está bien. agradecería le echasen un vistazo al código para ver si hay errores. gracias.
;programa abrir, cerrar porton, encender y apagar farola
STATUS EQU 03H
TRISA EQU 05H
TRISB EQU 06H
PORTA EQU 05H
PORTB EQU 06H
CUENTA1 EQU 0CH
CUENTA2 EQU 0DH
F EQU 1
W EQU 0
ORG 00H
BSF STATUS,5 ; SELEC.BCO 1
BSF PORTA,0 ;CONFIG. A,0 COMO ENTRADA
BSF PORTA,1 ;CONFIG. A,1 COMO ENTRADA
BCF PORTB,0 ;CONFIG. B,0 COMO SALIDA
BCF PORTB,1 ;CONFIG. B,1 COMO SALIDA
BCF STATUS,5 ;SELEC. BCO , 0
CLRF CUENTA1
CLRF CUENTA2
FAROLA BTFSS PORTB,0 ; COMP. FOROLA ENC. O APAG.
GOTO ENCENDIDO
GOTO APAGADO
ENCENDIDO BTFCS PORTA,0 ; COMP. SI HAY PULSO ENC. NO HAY, VA A PORTON
GOTO PORTON
BSF PORTB,0 ; ENCIENDE FAROLA
CALL DELAYF
PORTON BTFSS PORTB,1 ;COMP .PORTON ABIERTO, O CERRADO
GOTO ABRIR
GOTO CERRAR
ABRIR BTFSS PORTA,1 ;COMP. SI HAY PULSO APERTURA. NO HAY VA A FAROLA
GOTO FAROLA
BSF PORTB,1 ; ABRE PORTON
CALL DELAYP
GOTO FAROLA
DELAYF MOVLW 0FFH ;CARGA W CON 255 DECIMAL
MOVWF CUENTA1 ; SE CARGA EN CUENTA1
ACA1 DECFSZ CUENTA1,F ;DECREMENTA C.1 SI ES CERO SALTA INST.
GOTO ACA1
ESPERA BTFSS PORTA,0 ; ESPERA QUE SUELTE EL INTERRUPTOR
GOTO ESPERA
RETURN
DELAYP MOVLW 0FFH ;CARGA W CON 255 DECIMAL
MOVLWF CUENTA2 ;SE CARGA EN CUENTA2
ACA2 DECFSZ CUENTA2,F ; DECREMENTA CUENTA2, SI ES CERO SALTA
GOTO ACA2
ESPERA2 BTFSS PORTA,1 ; ESPERA QUE SE SUELTE INTERRUPTOR
GOTO ESPERA 2
RETURN
END