bueno, el problema es que estoy tratando de usar las interrupciones del PIC16F84A, a manera de prueba hice un programa muy simple para probarla, sin embargo, no se genera la interrupcion. la interrupcion la tengo de forma desendente, asi que tengo conectado el pin 6 del PIC 5V (aparentemente, despues llegare a eso), y para la interrupcion coloco un simple boton (no se como llamarlo) que se conecta a tierra y a el pin tambien. Pruebo el circuito y como veran en el codigo tengo el pin3 del puerto A con señal alta y en la interrupcion lo apaga, pero no pasa nada cuando preciono el boton. ya cale practicamente todo, lo mas raro y que no comprendo es que para conectar la corriente tengo una resistencia que se conecta directamente al pin 6 (del puerto b claro), cuando mido el voltage de un lado de la resistencia marca los 5 v y del otro lado, de donde esta conectado el pin 6 no marca voltage.
el codigo es el siguiente
LIST p=16f84A ;prosesador que se utiliza
INCLUDE <p16f84A.inc>
__CONFIG _XT_OSC & _WDT_OFF & _CP_OFF & _PWRTE_ON
org 0
goto inicio
org 4
bcf 0x5,0x2 ;enciendo la bandera que indica que se recibio un dato
retfie
inicio:
bsf 0x3,0x5
bcf 0x5,0x2 ;inicializa el puerto como salida
bcf 0x5,0x3
bsf 0x6,0x0 ;inicializa el pin INT/RB0 como entrada
bcf 0x81,0x7
bcf 0x81,0x6
bcf 0x3,0x5
bsf 0x5,0x2 ;activa la señal
bsf 0x5,0x3
movlw b'10010000' ; para programar el vector de interrupcion
movwf 0xB
;bsf status,0x5
;bcf 0x81,0x6
;bcf status,0x5 ;para que la intrerrupcion sea de bajada
;movlw b'10010000' ;esta es la configuracion para las interrupciones, en este caso solo;se utilizara la INT/RB0
;movwf 0xB
Pri:
sleep ;se mantiene a la espera de que la pc inicie con la
goto Pri
end
lamento haber puesto el codigo directamente con las direcciones de memoria pero lo he probado de tantas formas que solo quede agusto colocando las direcciones directamente.
Pues de antemano les agradesco, espero qe puedan ayudarme.
Raul Lee Fonseca
el codigo es el siguiente
LIST p=16f84A ;prosesador que se utiliza
INCLUDE <p16f84A.inc>
__CONFIG _XT_OSC & _WDT_OFF & _CP_OFF & _PWRTE_ON
org 0
goto inicio
org 4
bcf 0x5,0x2 ;enciendo la bandera que indica que se recibio un dato
retfie
inicio:
bsf 0x3,0x5
bcf 0x5,0x2 ;inicializa el puerto como salida
bcf 0x5,0x3
bsf 0x6,0x0 ;inicializa el pin INT/RB0 como entrada
bcf 0x81,0x7
bcf 0x81,0x6
bcf 0x3,0x5
bsf 0x5,0x2 ;activa la señal
bsf 0x5,0x3
movlw b'10010000' ; para programar el vector de interrupcion
movwf 0xB
;bsf status,0x5
;bcf 0x81,0x6
;bcf status,0x5 ;para que la intrerrupcion sea de bajada
;movlw b'10010000' ;esta es la configuracion para las interrupciones, en este caso solo;se utilizara la INT/RB0
;movwf 0xB
Pri:
sleep ;se mantiene a la espera de que la pc inicie con la
goto Pri
end
lamento haber puesto el codigo directamente con las direcciones de memoria pero lo he probado de tantas formas que solo quede agusto colocando las direcciones directamente.
Pues de antemano les agradesco, espero qe puedan ayudarme.
Raul Lee Fonseca