Hola que tal, " doppel " el vector de interrupcion se encuentra en la direccion 4 como has dicho , esa es la direccion que hay que saltar, coloque el comentario de la interrupcion en la posicion 5, pero este comentario se referia a la direccion 4 , ya lo he corregido.
He añadido las equ de las puertas , he empleado la instruccion
btfsc para explorar el pulsador que se encuentra en el bit 0 , pin nº 17, y ha esperar que se produzca la pulsacion.
Codigo:
LIST P=16F84A ;EL PIC QUE VAMOS A UTILIZAR.
;***************************************************************
;ETIQUETAS DEL PROGRAMA.
ARCHIVO_1 EQU 0X0C ;1ªDIRECCION LIBRE PARA NUESTRO USO.
ESTADO EQU 0X03 ;ESTADO, ESTA EN LA DIRECCION 3
RP0 EQU 0X05 ;RP0 EQUIVALE A 5.
PUERTAA EQU 0X05 ;PUERTAA SE ENCUENTRA EN LA DIRECCION 5.
PUERTAB EQU 0X06 ;PUERTAB SE ENCUENTRA EN LA DIRECCION 6.
;***************************************************************
;AQUI EMPIEZA EL PROGRAMA.
ORG 0 ;ORIGEN DEL PROGRAMA, AQUI EMPIEZA.
goto INICIO ;VA A INICIO PARA SOBREPASAR EL VECTOR DE INTERRUPCION.
ORG 5
INICIO bsf ESTADO,RP0 ;ME SITUO EN EL BANCO 1
movlw b"11111" ;PUERTAA COMO ENTRADA.
movwf PUERTAA
clrf PUERTAB ;PUERTAB COMO SALIDA.
bcf ESTADO,5 ;NOS SITUAMOS EN EL BANCO 0.
ARRIBA btfsc PUERTAA,0
goto ARRIBA
END
Os comento la instruccion
btfsc testea la entrada de la puerta y si vale 0 salta para encender el led , para que valga 0 tiene que estar presionado el pulsador , si no se pulsa a la entrada le llega un 1 , y la siguiente instruccion sera
goto ARRIBA es decir va a la instruccion anterior y asi hasta que se produzca la pulsacion .
Si hay algo que no entendais , preguntarlo.
P.D. ALGUIEN PODRIA DECIRME COMO SUBIR UNA IMAGEN , GRACIAS.