Académique Documents
Professionnel Documents
Culture Documents
MICROPROCESADORES
Interrupciones
Fuentes de Interrupciones para el PIC16F874/877
Interrupcin por transferencia en el modulo MSSP Interrupcin por colisin en el bus del modulo MSSP Interrupcin por Tx en el modulo USART Interrupcin por Rx en el modulo USART Interrupcin por fin de conversin en el DAC Interrupcin por transferencia en el modulo PSP
MICROPROCESADORES
Interrupciones
Como se atiende una Interrupcin
PILA
Dir_04
Programa Principal
Dir_01 Dir_02 Dir_03 Dir_04 Dir_05 Dir_SUMA Dir_07 Dir_08 Dir_09
Sub-Rut Interrupcin
BSF 03,5 BCF 03,6 MOVF 3F,0 CALL SUMA GOTO 000h BCF 03,5 BSF 03,6 ADDWF 5A,1 RETURN
RETFIE
MICROPROCESADORES
Interrupciones
Fuentes de Interrupciones a estudiar
Interrupcin externa a travs del pin RB0/INT
MICROPROCESADORES
Interrupciones
Fuentes de Interrupciones a estudiar
Interrupcin por cambio de nivel en RB7-RB4
MICROPROCESADORES
Interrupciones
Registros del rea SFR que se utilzan con las Interrupciones INTCON OPTION_REG PIE1 PIR1 PIE2 PIR2
Solo para INT/RB0
MICROPROCESADORES
Interrupciones
INDF TMR0 PCL STATUS FSR PORTA PORTB PORTC PORTD PORTE PCLATH INTCON PIR1 PIR2 TMR1L TMR1H T1CON TMR2 T2CON SSPBUF SSPCON CCPR1L CCPR1H CCP1CON RCSTA TXREG RCREG CCPR2L CCPR2H CCP2CON ADRESH ADCON0 Registros Propocito General (GPR) 96 Bytes 7Fh Banco 0 Dir. 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh 20h Dir. 80h OPTION_REG 81h PCL 82h STATUS 83h FSR 84h TRISA 85h TRISB 86h TRISC 87h TRISD 88h TRISE 89h PCLATH 8Ah INTCON 8Bh PIE1 8Ch PIE2 8Dh PCON 8Eh 8Fh 90h SSPCON2 91h PR2 92h SSPADD 93h SSPSTAT 94h 95h 96h 97h TXSTA 98h SPBRG 99h 9Ah 9Bh 9Ch 9Dh ADRESL 9Eh ADCON1 9Fh A0h Registros Propocito General (GPR) 80 Bytes EFh F0h Acceso 70h-7Fh FFh Banco 1 INDF INDF TMR0 PCL STATUS FSR PORTB Dir. 100h 101h 102h 103h 104h 105h 106h 107h 108h 109h 10Ah 10Bh 10Ch 10Dh 10Eh 10Fh 110h 111h 112h 113h 114h 115h 116h 117h 118h 119h 11Ah 11Bh 11Ch 11Dh 11Eh 11Fh 120h Dir. 180h OPTION_REG 181h PCL 182h STATUS 183h FSR 184h 185h TRISB 186h 187h 188h 189h PCLATH 18Ah INTCON 18Bh EECON1 18Ch EECON2 18Dh Reservado 18Eh Reservado 18Fh 190h 191h 192h 193h 194h Registros 195h Propocito 196h 197h General 198h (GPR) 199h 16 Bytes 19Ah 19Bh 19Ch 19Dh 19Eh 19Fh 1A0h Registros Propocito General (GPR) 80 Bytes 1EFh 1F0h Acceso 70h-7Fh 1FFh Banco 3 INDF
MICROPROCESADORES
Interrupciones
7
INTCON (Dir. 0Bh, 8Bh, 10Bh, 18Bh) PEIE T0IE INTE RBIE T0IF INTF
GIE
RBIF
GIE: Bandera de Habilitacin Global de las Interrupciones. 0: Deshabilitadas todas las Interrupciones. 1: Permite habilitar las Interrupciones. PEIE: Bandera de Habilitacin global de las Interrupciones que no controla INTCON. 0: Deshabilita todas las Interrupciones. 1: Permite habilitar las Interrupciones. T0IE: Bandera de Habilitacin del TMR0. 0: Deshabilita la Interrupcin del TMR0. 1: Habilita la Interrupcin del TMR0.
MICROPROCESADORES
Interrupciones
7
INTCON (Dir. 0Bh, 8Bh, 10Bh, 18Bh) PEIE T0IE INTE RBIE T0IF INTF
GIE
RBIF
INTE: Bandera de Habilitacin de la Interrupcin Externa RB0/INT. 0: Deshabilita la Interrupcin Externa RB0/INT. 1:Habilita la Interrupcin Externa RB0/INT. RBIE:Bandera de Habilitacin de la Interrupcin por cambio en RB4-RB7. 0: Deshabilita la Interrupcin por cambio en RB4-RB7. 1:Habilita la Interrupcin por cambio en RB4-RB7.
MICROPROCESADORES
Interrupciones
7
INTCON (Dir. 0Bh, 8Bh, 10Bh, 18Bh) PEIE T0IE INTE RBIE T0IF INTF
GIE
RBIF
T0IF: Bandera que sealiza Interrupcin en TMR0. INTF: Bandera que sealiza Interrupcin Externa RB0/INT. RBIF: Bandera que sealiza Interrupcin por cambio RB4-RB7.
MICROPROCESADORES
Interrupciones
7
OPTION_REG (Dir. 81H, 181H) INTEDG T0CS T0SE PSA PS2 PS1
RBPU
PS0
RBPU: Resistencias Pull-up del Puerto B. 0: Activadas. 1: Desactivadas. INTEDG: Flanco activo de la Interrupcin Externa. 0: Flanco Descendente. 1: Flanco Ascendente.
MICROPROCESADORES
Interrupciones
7
PSPIE
PSPIE: Bandera de Habilitacin para la Interrupcin del Puerto Paralelo Esclavo (PSP). 0: Deshabilita la Interrupcin de Lectura/Escritura en PSP. 1: Habilita la Interrupcin de Lectura/Escritura en PSP. ADIE: Bandera de Habilitacin para la Interrupcin del conversor A/D. 0: Deshabilita la Interrupcin del conversor A/D. 1: Habilita la Interrupcin del conversor A/D. RCIE: Bandera de Habilitacin para la Interrupcin de Recepcin del USART. 0: Deshabilita la Interrupcin de Recepcin del USART. 1: Habilita la Interrupcin del Recepcin del USART. TXIE: Bandera de Habilitacin para la Interrupcin de Transmisin del USART. 0: Deshabilita la Interrupcin de Transmisin del USART. 1: Habilita la Interrupcin del Transmisin del USART.
MICROPROCESADORES
Interrupciones
7
PSPIE
SSPIE: Bandera de Habilitacin para la Interrupcin del Puerto Serial Sncrono (SSP). 0: Deshabilita la Interrupcin del SSP. 1: Habilita la Interrupcin del SSP. CCP1IE: Bandera de Habilitacin para la Interrupcin del mdulo CCP1. 0: Deshabilita la Interrupcin del mdulo CCP1. 1: Habilita la Interrupcin del mdulo CCP1. TMR2IE: Bandera de Habilitacin para la Interrupcin del TMR2. 0: Deshabilita la Interrupcin del TMR2. 1:Habilita la Interrupcin del TMR2. TMR1IE: Bandera de Habilitacin para la Interrupcin del TMR1. 0: Deshabilita la Interrupcin del TMR1. 1:Habilita la Interrupcin del mdulo TMR1.
MICROPROCESADORES
Interrupciones
7
PSPIF
PSPIF: Bandera que sealiza Interrupcin en PSP. ADIF: Bandera que sealiza Interrupcin en el conversor A/D. RCIF: Bandera que sealiza Interrupcin en la Rx del USART. TXIF: Bandera que sealiza Interrupcin en la Tx del USART. SSPIF: Bandera que sealiza Interrupcin del Puerto Serial Sncrono (SSP). CCP1IF: Bandera que sealiza Interrupcin del mdulo CCP1. TMR2IF: Bandera que sealiza Interrupcin del TMR2. TMR1IF: Bandera que sealiza Interrupcin del TMR1.
MICROPROCESADORES
Interrupciones
7
CCP2IE
EEIE:Bandera de Habilitacin para la operacin de Escritura en la EEPROM. 0: Deshabilita la Interrupcin de Escritura en EEPROM. 1: Habilita la Interrupcin de Escritura en EEPROM. BCLIE:Bandera de Habilitacin por colisin de Bus el SSP. 0: Deshabilita la Interrupcin por colisin de Bus el SSP. 1: Habilita la Interrupcin por colisin de Bus el SSP. CCP2IE:Bandera de Habilitacin para la Interrupcin del mdulo CCP2. 0:Deshabilita la Interrupcin del mdulo CCP2. 1:Habilita la Interrupcin del mdulo CCP2.
MICROPROCESADORES
Interrupciones
7
CCP2IF
MICROPROCESADORES
Interrupciones
PIE1/PIR1
PSPIE PSPIF ADIE ADIF RCIE RCIF TXIE TXIF SSPIE SSPIF CCP1IE CCP1IF TMR2IE TMR2IF TMR1IE TMR1IF EEIE EEIF BCLIE BCLIF CCP2IE CCP2IF
INTCON
T0IE T0IF INTE INTF RBIE RBIF Interrupcin al CPU Clear el bit GIE
PEIE GIE
Interrupciones
Vector de Interrupcin Es la direccin donde debe colocarse la primera instruccin de la Sub-Rutina de atencin de interrupcin
MICROPROCESADORES
Interrupciones
Como se atiende una Interrupcin con el PIC
PILA
Dir_SUMA
Programa Principal
Dir_01 Dir_02 Dir_03 Dir_04 Dir_05 Dir_SUMA Dir_07 Dir_08 Dir_09
Sub-Rut Interrupcin
0004
G = IE 0
BSF 03,5 BCF 03,6 MOVF 3F,0 CALL SUMA GOTO 000h BCF 03,5 BSF 03,6 ADDWF 5A,1 RETURN
GIE=1
RETFIE
MICROPROCESADORES
Interrupciones
Prioridades en la interrupciones
Ejemplo: Que pasa si se activan al mismo tiempo la Interrupcin externa INT y la de cambio de nivel en el nibble alto del puerto B (RB7:RB4)
MICROPROCESADORES
Interrupciones
1er Caso: se atiende primero INT ORG BTFSC GOTO BTFSC GOTO RETFIE Sub_Rut_INT 0004 INTCON,INTF Sub_Rut_INT INTCON,RBIF Sub_Rut_RB
Dir 0004
INTF=1
NO
SI
INTF0
RBIF=1
NO
SI
RBIF0
Sub_Rut_RB
RETFIE
MICROPROCESADORES
Interrupciones
2do Caso: se atiende primero RBIF ORG BTFSC GOTO BTFSC GOTO RETFIE Sub_Rut_RB 0004 INTCON,RBIF Sub_Rut_RB INTCON,INTF Sub_Rut_INT
Dir 0004
RBIF=1
NO
SI
RBIF0
INTF=1
NO
SI
INTF0
Sub_Rut_INT
RETFIE
MICROPROCESADORES
Interrupciones
Ejemplo
RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7
PIC 16F87X
UNEXPO Pto. Ordaz.
MICROPROCESADORES