Sei sulla pagina 1di 39

Interrupciones

Fuentes de Interrupciones para el PIC16F1787

Interrupcin externa a travs del pin RB0/INT

Interrupcin por cambio de nivel

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 PIC16F1787

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 Gate del Timer 1

Interrupcin por Falla en el Oscilador

Interrupcin por el Comparador 1

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Fuentes de Interrupciones para el PIC16F1787

Interrupcin por el Comparador 2

Interrupcin por el Comparador 3

Interrupcin por el Comparador 4

Interrupcin por PWM Mejorado 1

Interrupcin por PWM Mejorado 2

Interrupcin por PWM Mejorado 3

Interrupcin por Auto Shutdown EPWM 1

Interrupcin por Auto Shutdown EPWM 2

Interrupcin por Auto Shutdown EPWM 3

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

UNEXPO Pto. Ordaz.

BSF
03,5
BCF
03,6
MOVF 3F,0
CALL SUMA
GOTO 000h
BCF
03,5
BSF
03,6
ADDWF 5A,1
RETURN

Prof. Antonio Pateti

Sub-Rut
Interrupcin

RETFIE

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

UNEXPO Pto. Ordaz.

Interrupcin por cambio de nivel

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Registros del rea SFR que se utilzan con las Interrupciones

INTCON

OPTION_REG

PIE1

PIR1

PIE2

PIR2

PIE4

PIR4

UNEXPO Pto. Ordaz.

Solo para INT/RB0

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Registros del rea SFR que se utilzan con las Interrupciones
Por Cambio de Nivel

IOCAP, IOCAN y IOCAF

(PORTA)

IOCBP, IOCBN y IOCBF

(PORTB)

IOCCP, IOCCN y IOCCF

(PORTC)

IOCEP, IOCEN y IOCEF

(PORTE)

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti


MICROPROCESADORES

Interrupciones
INTCON

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
INTCON

INTE: Bandera de Habilitacin de la Interrupcin Externa RB0/INT.


0: Deshabilita la Interrupcin Externa RB0/INT.
1:Habilita la Interrupcin Externa RB0/INT.
IOCIE:Bandera de Habilitacin de la Interrupcin por Cambio de Nivel.
0: Deshabilita la Interrupcin por cambio de Nivel.
1:Habilita la Interrupcin por cambio de Nivel.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
INTCON

TMR0IF: Bandera que sealiza Interrupcin en TMR0.

INTF:

Bandera que sealiza Interrupcin Externa RB0/INT.

IOCIF:

Bandera que sealiza Interrupcin por cambio de Nivel

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
OPTION_REG

INTEDG: Flanco activo de la Interrupcin Externa.


0: Flanco Descendente.
1: Flanco Ascendente.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
PIE1

TMR1GIE: Bandera de Habilitacin para la Interrupcin Gate Timer 1.


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
PIE1

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
PIR1

TMR1GIF: Bandera que sealiza Interrupcin por Gate Timer1.


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
PIE2

OSFIE: Bandera de Habilitacin por Falla en el Oscilador.


0: Deshabilita la Interrupcin por Falla en el Oscilador.
1: Habilita la Interrupcin por Falla en el Oscilador.
C2IE: Bandera de Habilitacin por Comparador 2.
0: Deshabilita la Interrupcin por Comparador 2.
1: Habilita la Interrupcin por Comparador 2.
C1IE: Bandera de Habilitacin por Comparador 1.
0:Deshabilita la Interrupcin por Comparador 1.
1:Habilita la Interrupcin por Comparador 1.
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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
PIE2

BCL1IE: 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.
C4IE: Bandera de Habilitacin por Comparador 4.
0: Deshabilita la Interrupcin por Comparador 4.
1: Habilita la Interrupcin por Comparador 4.
C3IE: Bandera de Habilitacin por Comparador 3.
0:Deshabilita la Interrupcin por Comparador 3.
1:Habilita la Interrupcin por Comparador 3.
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
PIR2

OSFIF: Bandera que sealiza Interrupcin por falla en el Oscilador.


C2IF: Bandera que sealiza Interrupcin por Comparador 2.
C1IF: Bandera que sealiza Interrupcin por Comparador 1.
EEIF: Bandera que sealiza Interrupcin en Escritura en la EEPROM.
BCL1IF: Bandera que sealiza Interrupcin por colisin de Bus el SSP.
C4IF: Bandera que sealiza Interrupcin por Comparador 4.
C3IF: Bandera que sealiza Interrupcin por Comparador 3.
CCP2IF: Bandera que sealiza Interrupcin del mdulo CCP2.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
PIE4

PSMC3TIE: Bandera de Habilitacin por Disparo del mdulo PSMC3.


0: Deshabilita la Interrupcin por Disparo del mdulo PSMC3.
1: Habilita la Interrupcin por Disparo del mdulo PSMC3.
PSMC2TIE: Bandera de Habilitacin por Disparo del mdulo PSMC2.
0: Deshabilita la Interrupcin por Disparo del mdulo PSMC2.
1: Habilita la Interrupcin por Disparo del mdulo PSMC2.
PSMC1TIE: Bandera de Habilitacin por Disparo del mdulo PSMC1.
0: Deshabilita la Interrupcin por Disparo del mdulo PSMC1.
1: Habilita la Interrupcin por Disparo del mdulo PSMC1.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
PIE4

PSMC3SIE: Bandera de Habilitacin por Auto Shutdown del mdulo PSMC3.


0: Deshabilita la Interrupcin por Disparo del mdulo PSMC3.
1: Habilita la Interrupcin por Disparo del mdulo PSMC3.
PSMC2SIE: Bandera de Habilitacin por Auto Shutdown del mdulo PSMC2.
0: Deshabilita la Interrupcin por Auto Shutdown del mdulo PSMC2.
1: Habilita la Interrupcin por Auto Shutdown del mdulo PSMC2.
PSMC1SIE: Bandera de Habilitacin por Auto Shutdown del mdulo PSMC1.
0: Deshabilita la Interrupcin por Auto Shutdown del mdulo PSMC1.
1: Habilita la Interrupcin por Auto Shutdown del mdulo PSMC1.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
PIR4

PSMC3TIF: Bandera que sealiza INT por Disparo del mdulo PSMC3.
PSMC2TIF: Bandera que sealiza INT por Disparo del mdulo PSMC2.
PSMC1TIF: Bandera que sealiza INT por Disparo del mdulo PSMC1.
PSMC3SIF: Bandera que sealiza INT por Auto Shutdown del mdulo PSMC3.
PSMC2SIF: Bandera que sealiza INT por Auto Shutdown del mdulo PSMC2.
PSMC1SIF: Bandera que sealiza INT por Auto Shutdown del mdulo PSMC1.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Circuito que activa la Interrupcin en el CPU
INTCON
PIE/PIR

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Interrupciones por cambio de nivel

IOCBP
IOCBN
IOCBF

IOCAP
IOCAN
IOCAF

IOCCP
IOCCN
IOCCF

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
IOCXP

IOCxP7: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Subida.


0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Subida bit 7.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Subida bit 7.
IOCxP6: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Subida bit 6.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Subida bit 6.
IOCxP5: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Subida bit 5.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Subida bit 5.
IOCxP4: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Subida bit 4.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Subida bit 4.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
IOCXP

IOCxP3: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Subida.


0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Subida bit 3.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Subida bit 3.
IOCxP2: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Subida bit 2.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Subida bit 2.
IOCxP1: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Subida bit 1.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Subida bit 1.
IOCxP0: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Subida bit 0.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Subida bit 0.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
IOCXN

IOCxN7: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Bajada.


0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Bajada bit 7.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Bajada bit 7.
IOCxN6: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Bajada bit 6.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Bajada bit 6.
IOCxN5: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Bajada bit 5.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Bajada bit 5.
IOCxN4: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Bajada bit 4.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Bajada bit 4.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
IOCXN

IOCxN3: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Bajada.


0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Bajada bit 3.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Bajada bit 3.
IOCxN2: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Bajada bit 2.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Bajada bit 2.
IOCxN1: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Bajada bit 1.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Bajada bit 1.
IOCxN0: Bandera de Habilitacin Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupcin por Cambio de Nivel Flanco de Bajada bit 0.
1: Habilita la Interrupcin por Cambio de Nivel Flanco de Bajada bit 0.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
IOCXF

IOCxF7:

Sealiza Cambio de Nivel en el pin7.

IOCxF6:

Sealiza Cambio de Nivel en el pin6.

IOCxF5:

Sealiza Cambio de Nivel en el pin5.

IOCxF4:

Sealiza Cambio de Nivel en el pin4.

IOCxF3:

Sealiza Cambio de Nivel en el pin3.

IOCxF2:

Sealiza Cambio de Nivel en el pin2.

IOCxF1:

Sealiza Cambio de Nivel en el pin1.

IOCxF0:

Sealiza Cambio de Nivel en el pin0.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Interrupciones por cambio de nivel

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Interrupciones por cambio de nivel

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

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 PIC16F1787 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

UNEXPO Pto. Ordaz.

BSF
03,5
BCF
03,6
MOVF 3F,0
CALL SUMA
GOTO 000h
BCF
03,5
BSF
03,6
ADDWF 5A,1
RETURN

Prof. Antonio Pateti

Sub-Rut
Interrupcin
0004

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.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
ORG
BTFSC
GOTO
BTFSC
GOTO
RETFIE

1er Caso: se atiende primero INT

Dir 0004

INTF=1

SI

INTF0

0004
INTCON,INTF
Sub_Rut_INT
INTCON,RBIF
Sub_Rut_RB

Sub_Rut_INT

NO

IOCIF=1

SI

IOCXFx0

Sub_Rut_RB

NO

RETFIE

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
ORG
BTFSC
GOTO
BTFSC
GOTO
RETFIE

2do Caso: se atiende primero RBIF

Dir 0004

IOCIF=1

SI

IOCXFx0

0004
INTCON,RBIF
Sub_Rut_RB
INTCON,INTF
Sub_Rut_INT

Sub_Rut_RB

NO

INTF=1

SI

INTF0

Sub_Rut_INT

NO

RETFIE

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Ejemplo

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Interrupciones
Ejemplo

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

MICROPROCESADORES

Potrebbero piacerti anche