Você está na página 1de 23

Interrupciones

Fuentes de Interrupciones para el PIC16F874/877


Interrupcin externa a travs del pin RB0/INT Interrupcin por cambio de nivel en RB7-RB4 Interrupcin por escritura en la EEPROM Interrupcin por desbordamiento del TMR0 Interrupcin por desbordamiento del TMR1 Interrupcin por desbordamiento del TMR2 Interrupcin por el modulo CCP1 Interrupcin por el modulo CCP2

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Fuentes de Interrupciones a estudiar
Interrupcin externa a travs del pin RB0/INT

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Fuentes de Interrupciones a estudiar
Interrupcin por cambio de nivel en RB7-RB4

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Registros del rea SFR que se utilzan con las Interrupciones INTCON OPTION_REG PIE1 PIR1 PIE2 PIR2
Solo para INT/RB0

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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

PCLATH INTCON EEDATA EEADR EEDATH EEADRH

Registros Propocito General (GPR) 16 Bytes

Registros Propocito General (GPR) 80 Bytes Acceso 70h-7Fh Banco 2

16Fh 170h 17Fh

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
7

PIE1 (Dir. 8Ch) ADIE RCIE TXIE SSPIE

PSPIE

CCP1IE TMR2IE TMR1IE

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
7

PIE1 (Dir. 8Ch) ADIE RCIE TXIE SSPIE

PSPIE

CCP1IE TMR2IE TMR1IE

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
7

PIR1 (Dir. 0Ch) ADIF RCIF TXIF SSPIF

PSPIF

CCP1IF TMR2IF TMR1IF

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
7

PIE2 (Dir. 8Dh) EEIE BCLIE

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
7

PIR2 (Dir. 0Dh) EEIF BCLIF

CCP2IF

EEIE: Bandera que sealiza Interrupcin en Escritura en la EEPROM.

BCLIE: Bandera que sealiza Interrupcin por colisin de Bus el SSP.

CCP1IE: Bandera que sealiza Interrupcin del mdulo CCP2.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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

PIE2/PIR2 Prof. Antonio Pateti


MICROPROCESADORES

UNEXPO Pto. Ordaz.

Interrupciones
Vector de Interrupcin Es la direccin donde debe colocarse la primera instruccin de la Sub-Rutina de atencin de interrupcin

El vector de Interrupcin para el PIC16F87X es: Dir. 0004

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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)

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Ejemplo

RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7

PIC 16F87X
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Você também pode gostar