A las buenas, gente. Aqui otro PICmaniaco. Os cuento: estoy trabajando en un proyecto con un PIC16F690 y el PICkit 2. Aun estoy en desarrollo tratando de hacerme con el PIC, haciendo pequeños programitas para controlar los diversos modulos que voy a usar y con la interrupcion del pin RA2/INT no hay forma. Llevo mas de un mes. Por mas que activo la entrada en la simulacion no se me activa el flag INTF y en consecuencia no salta a la rutina de interrupcion. Os pego el codigo:
list p=16f690
#include <P16F690.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC & _CPD_OFF & _FCMEN_OFF & _IESO_ON & _MCLRE_OFF & _BOD_OFF
errorlevel -302
#define LED PORTC,0
#define DETECCION PORTA,1
#define PASOCERO PORTA,2
ORG 0x000
goto ppal
ORG 0x004
ISR
banksel INTCON
btfss INTCON,INTF
goto fin
btfss DETECCION
goto no120K
btfss LED
bsf LED
no120K
banksel OPTION_REG
btfss PASOCERO
goto bajada
bcf OPTION_REG,INTEDG
goto fin
bajada bsf OPTION_REG,INTEDG
fin
banksel INTCON
bcf INTCON,INTF
bcf INTCON,RABIF
banksel PORTA
movf PORTA,0
retfie
ppal
banksel PORTA
clrf PORTA
clrf PORTB
clrf PORTC
banksel TRISA
movlw 6h
movwf TRISA
clrf TRISB
clrf TRISC
banksel ANSEL
clrf ANSEL
banksel CM2CON0
clrf CM2CON0
clrf CM1CON0
banksel IOCA
clrf IOCA
banksel IOCB
clrf IOCB
banksel OPTION_REG
bcf OPTION_REG,NOT_RABPU
bsf OPTION_REG,INTEDG
bsf OPTION_REG,T0CS
banksel INTCON
movlw 90h
movwf INTCON
banksel PORTA
movf PORTA,0
espera goto espera
END
El programa debe encender LED si entra en la interrupcion con DETECCION activo. Ademas cambia el flanco de entrada en interrupcion en cada entrada. PERO NO ENTRA LA INTERRUPCION. Por favor, me hariais un hombre si dais con el problema. Un saludo y gracias de antemano.