Upload
-
View
221
Download
0
Embed Size (px)
Citation preview
8/16/2019 03 Present Interrup 1787
1/39
Interrupciones
Fuentes de Interrupciones para el PIC16F1787
Interrupción externa a través del pin RB0/INT
Interrupción por cambio de nivel
Interrupción por escritura en la EEPROM
Interrupción por desbordamiento del TMR0
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Interrupción por desbordamiento del TMR1
Interrupción por desbordamiento del TMR2
Interrupción por el modulo CCP1
Interrupción por el modulo CCP2
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
2/39
Interrupciones
Interrupción por transferencia en el modulo MSSP
Interrupción por colisión en el bus del modulo MSSP
Interrupción por Tx en el modulo USART
Interrupción por Rx en el modulo USART
Fuentes de Interrupciones para el PIC16F1787
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Interrupción por fin de conversión en el DAC
Interrupción por Gate del Timer 1
Prof. Antonio Pateti Prof. Antonio Pateti
Interrupción por Falla en el Oscilador
Interrupción por el Comparador 1
8/16/2019 03 Present Interrup 1787
3/39
Interrupciones
Interrupción por el Comparador 2
Interrupción por el Comparador 3
Interrupción por el Comparador 4
Interrupción por PWM Mejorado 1
Fuentes de Interrupciones para el PIC16F1787
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Interrupción por PWM Mejorado 2
Interrupción por PWM Mejorado 3
Prof. Antonio Pateti Prof. Antonio Pateti
Interrupción por Auto Shutdown EPWM 1
Interrupción por Auto Shutdown EPWM 2
Interrupción por Auto Shutdown EPWM 3
8/16/2019 03 Present Interrup 1787
4/39
Interrupciones
Programa
PrincipalBSF 03,5
BCF 03,6
MOVF 3F,0
CALL SUMA
GOTO 000hBCF 03,5
Dir_SUMA
Sub-Rut
InterrupciónDir_01
Dir_02
Dir_03
Dir_04
Dir_05
PILA
Dir_04
Como se atiende una Interrupción
UNEXPO – Pto. Ordaz. MICROPROCESADORES
BSF 03,6
ADDWF 5A,1
RETURN
RETFIEDir_07
Dir_08
Dir_09
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
5/39
Interrupciones
Fuentes de Interrupciones a estudiar
Interrupción externa a través del pin RB0/INT
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
6/39
Interrupciones
Fuentes de Interrupciones a estudiar
Interrupción por cambio de nivel
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
7/39
Interrupciones
Registros del área SFR que se utilzan con las Interrupciones
INTCON
OPTION_REG
PIE1
Solo para INT/RB0
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
PIE2
PIR2
Prof. Antonio Pateti Prof. Antonio Pateti
PIE4
PIR4
8/16/2019 03 Present Interrup 1787
8/39
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)
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
IOCCP, IOCCN y IOCCF (PORTC)
IOCEP, IOCEN y IOCEF (PORTE)
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
9/39
Interrupciones
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
10/39
Interrupciones
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
11/39
Interrupciones
GIE: Bandera de Habilitación Global de las Interrupciones.
0: Deshabilitadas todas las Interrupciones.
1: Permite habilitar las Interrupciones.
INTCON
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
PEIE: Bandera de Habilitación global de las Interrupciones que no controla INTCON.
0: Deshabilita todas las Interrupciones.
1: Permite habilitar las Interrupciones.
T0IE: Bandera de Habilitación del TMR0.
0: Deshabilita la Interrupción del TMR0.
1: Habilita la Interrupción del TMR0.
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
12/39
Interrupciones
INTE: Bandera de Habilitación de la Interrupción Externa RB0/INT.
0: Deshabilita la Interrupción Externa RB0/INT.
1:Habilita la Interrupción Externa RB0/INT.
INTCON
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
IOCIE:Bandera de Habilitación de la Interrupción por Cambio de Nivel.
0: Deshabilita la Interrupción por cambio de Nivel.
1:Habilita la Interrupción por cambio de Nivel.
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
13/39
Interrupciones
TMR0IF: Bandera que señaliza Interrupción en TMR0.
INTCON
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
INTF: Bandera que señaliza Interrupción Externa RB0/INT.
IOCIF: Bandera que señaliza Interrupción por cambio de Nivel
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
14/39
Interrupciones
INTEDG: Flanco activo de la Interrupción Externa.
0: Flanco Descendente.
OPTION_REG
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
1: Flanco Ascendente.
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
15/39
TMR1GIE: Bandera de Habilitación para la Interrupción Gate Timer 1.
0: Deshabilita la Interrupción de Lectura/Escritura en PSP.
1: Habilita la Interrupción de Lectura/Escritura en PSP.
ADIE: Bandera de Habilitación ara la Interru ción del conversor A/D.
Interrupciones
PIE1
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
0: Deshabilita la Interrupción del conversor A/D.
1: Habilita la Interrupción del conversor A/D.
RCIE: Bandera de Habilitación para la Interrupción de Recepción del USART.
0: Deshabilita la Interrupción de Recepción del USART.
1: Habilita la Interrupción del Recepción del USART.
TXIE: Bandera de Habilitación para la Interrupción de Transmisión del USART.
0: Deshabilita la Interrupción de Transmisión del USART.
1: Habilita la Interrupción del Transmisión del USART.
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
16/39
Interrupciones
SSPIE: Bandera de Habilitación para la Interrupción del Puerto Serial Síncrono (SSP).
0: Deshabilita la Interrupción del SSP.
1: Habilita la Interrupción del SSP.
CCP1IE: Bandera de Habilitación para la Interrupción del módulo CCP1.
PIE1
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
.
1: Habilita la Interrupción del módulo CCP1.
TMR2IE: Bandera de Habilitación para la Interrupción del TMR2.
0: Deshabilita la Interrupción del TMR2.
1:Habilita la Interrupción del TMR2.
TMR1IE: Bandera de Habilitación para la Interrupción del TMR1.
0: Deshabilita la Interrupción del TMR1.
1:Habilita la Interrupción del módulo TMR1.
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
17/39
Interrupciones
TMR1GIF: Bandera que señaliza Interrupción por Gate Timer1.
ADIF: Bandera que señaliza Interrupción en el conversor A/D.
PIR1
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
.
TXIF: Bandera que señaliza Interrupción en la Tx del USART.
SSPIF: Bandera que señaliza Interrupción del Puerto Serial Síncrono (SSP).
CCP1IF: Bandera que señaliza Interrupción del módulo CCP1.
TMR2IF: Bandera que señaliza Interrupción del TMR2.
TMR1IF: Bandera que señaliza Interrupción del TMR1.
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
18/39
Interrupciones
OSFIE: Bandera de Habilitación por Falla en el Oscilador.
0: Deshabilita la Interrupción por Falla en el Oscilador.
1: Habilita la Interrupción por Falla en el Oscilador.
C2IE: Bandera de Habilitación por Comparador 2.
PIE2
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
: es a a a n errupc n por ompara or .
1: Habilita la Interrupción por Comparador 2.
C1IE: Bandera de Habilitación por Comparador 1.
0:Deshabilita la Interrupción por Comparador 1.
1:Habilita la Interrupción por Comparador 1.
Prof. Antonio Pateti Prof. Antonio Pateti
EEIE:Bandera de Habilitación para la operación de Escritura en la EEPROM.
0: Deshabilita la Interrupción de Escritura en EEPROM.
1: Habilita la Interrupción de Escritura en EEPROM.
8/16/2019 03 Present Interrup 1787
19/39
Interrupciones
C4IE: Bandera de Habilitación por Comparador 4.
PIE2
BCL1IE: Bandera de Habilitación por colisión de Bus el SSP.
0: Deshabilita la Interrupción por colisión de Bus el SSP.
1: Habilita la Interrupción por colisión de Bus el SSP.
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
: es a a a n errupc n por ompara or .
1: Habilita la Interrupción por Comparador 4.
C3IE: Bandera de Habilitación por Comparador 3.
0:Deshabilita la Interrupción por Comparador 3.
1:Habilita la Interrupción por Comparador 3.
Prof. Antonio Pateti Prof. Antonio Pateti
CCP2IE: Bandera de Habilitación para la Interrupción del módulo CCP2.
0:Deshabilita la Interrupción del módulo CCP2.
1:Habilita la Interrupción del módulo CCP2.
8/16/2019 03 Present Interrup 1787
20/39
Interrupciones
PIR2
OSFIF: Bandera que señaliza Interrupción por falla en el Oscilador.
C2IF: Bandera que señaliza Interrupción por Comparador 2.
C1IF: Bandera que señaliza Interrupción por Comparador 1.
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
EEIF: Bandera que señaliza Interrupción en Escritura en la EEPROM.
BCL1IF: Bandera que señaliza Interrupción por colisión de Bus el SSP.
CCP2IF: Bandera que señaliza Interrupción del módulo CCP2.
Prof. Antonio Pateti Prof. Antonio Pateti
C4IF: Bandera que señaliza Interrupción por Comparador 4.
C3IF: Bandera que señaliza Interrupción por Comparador 3.
8/16/2019 03 Present Interrup 1787
21/39
Interrupciones
PIE4
PSMC3TIE: Bandera de Habilitación por Disparo del módulo PSMC3.
0: Deshabilita la Interrupción por Disparo del módulo PSMC3.
1: Habilita la Interrupción por Disparo del módulo PSMC3.
PSMC2TIE: Bandera de Habilitación or Dis aro del módulo PSMC2.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
0: Deshabilita la Interrupción por Disparo del módulo PSMC2.
1: Habilita la Interrupción por Disparo del módulo PSMC2.
PSMC1TIE: Bandera de Habilitación por Disparo del módulo PSMC1.
0: Deshabilita la Interrupción por Disparo del módulo PSMC1.
1: Habilita la Interrupción por Disparo del módulo PSMC1.
8/16/2019 03 Present Interrup 1787
22/39
Interrupciones
PIE4
PSMC3SIE: Bandera de Habilitación por Auto Shutdown del módulo PSMC3.
0: Deshabilita la Interrupción por Disparo del módulo PSMC3.
1: Habilita la Interrupción por Disparo del módulo PSMC3.
PSMC2SIE: Bandera de Habilitación or Auto Shutdown del módulo PSMC2.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
0: Deshabilita la Interrupción por Auto Shutdown del módulo PSMC2.
1: Habilita la Interrupción por Auto Shutdown del módulo PSMC2.
PSMC1SIE: Bandera de Habilitación por Auto Shutdown del módulo PSMC1.
0: Deshabilita la Interrupción por Auto Shutdown del módulo PSMC1.
1: Habilita la Interrupción por Auto Shutdown del módulo PSMC1.
8/16/2019 03 Present Interrup 1787
23/39
Interrupciones
PIR4
PSMC3TIF: Bandera que señaliza INT por Disparo del módulo PSMC3.
PSMC2TIF: Bandera que señaliza INT por Disparo del módulo PSMC2.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
PSMC3SIF: Bandera que señaliza INT por Auto Shutdown del módulo PSMC3.
PSMC2SIF: Bandera que señaliza INT por Auto Shutdown del módulo PSMC2.
PSMC1SIF: Bandera que señaliza INT por Auto Shutdown del módulo PSMC1.
.
8/16/2019 03 Present Interrup 1787
24/39
Interrupciones
INTCON
PIE/PIR
Circuito que activa la Interrupción en el CPU
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
25/39
Interrupciones
Interrupciones por cambio de nivel
IOCAP
IOCAN
IOCAF
IOCBP
IOCBN
IOCBF
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
IOCCP
IOCCN
IOCCF
8/16/2019 03 Present Interrup 1787
26/39
Interrupciones
IOCXP
IOCxP7: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Subida bit 7.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Subida bit 7.
IOCxP6: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Subida.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Subida bit 6.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Subida bit 6.
IOCxP5: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Subida bit 5.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Subida bit 5.
IOCxP4: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Subida bit 4.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Subida bit 4.
8/16/2019 03 Present Interrup 1787
27/39
Interrupciones
IOCXP
IOCxP3: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Subida bit 3.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Subida bit 3.
IOCxP2: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Subida.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Subida bit 2.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Subida bit 2.
IOCxP1: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Subida bit 1.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Subida bit 1.
IOCxP0: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Subida.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Subida bit 0.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Subida bit 0.
8/16/2019 03 Present Interrup 1787
28/39
Interrupciones
IOCXN
IOCxN7: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Bajada bit 7.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Bajada bit 7.
IOCxN6: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Bajada.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Bajada bit 6.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Bajada bit 6.
IOCxN5: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Bajada bit 5.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Bajada bit 5.
IOCxN4: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Bajada bit 4.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Bajada bit 4.
8/16/2019 03 Present Interrup 1787
29/39
Interrupciones
IOCXN
IOCxN3: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Bajada bit 3.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Bajada bit 3.
IOCxN2: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Bajada.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Bajada bit 2.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Bajada bit 2.
IOCxN1: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Bajada bit 1.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Bajada bit 1.
IOCxN0: Bandera de Habilitación Int. Por Cambio de Nivel Flanco Bajada.
0: Deshabilita Interrupción por Cambio de Nivel Flanco de Bajada bit 0.
1: Habilita la Interrupción por Cambio de Nivel Flanco de Bajada bit 0.
8/16/2019 03 Present Interrup 1787
30/39
Interrupciones
IOCXF
IOCxF7: Señaliza Cambio de Nivel en el pin7.
IOCxF6: Señaliza Cambio de Nivel en el pin6.
IOCxF5: Señaliza Cambio de Nivel en el pin5.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
IOCxF3: Señaliza Cambio de Nivel en el pin3.
IOCxF2: Señaliza Cambio de Nivel en el pin2.
IOCxF1: Señaliza Cambio de Nivel en el pin1.
IOCxF0: Señaliza Cambio de Nivel en el pin0.
8/16/2019 03 Present Interrup 1787
31/39
Interrupciones
Interrupciones por cambio de nivel
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
32/39
Interrupciones
Interrupciones por cambio de nivel
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
33/39
Interrupciones
Vector de Interrupción
Es la dirección donde debe colocarse la primera
instrucción de la Sub-Rutina de atención de
interrupción
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
Dir. 0004
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
34/39
Programa
PrincipalBSF 03,5
BCF 03,6
MOVF 3F,0
CALL SUMA
GOTO 000h
BCF 03,5
Dir_SUMA
Sub-Rut
InterrupciónDir_01
Dir_02
Dir_03
Dir_04
Dir_05
PILA
Como se atiende una Interrupción con el PIC
Interrupciones
0004Dir_SUMA
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
BSF 03,6
ADDWF 5A,1
RETURN
RETFIEDir_07
Dir_08
Dir_09
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
35/39
Interrupciones
Prioridades en la interrupciones
Ejemplo: Que pasa si se activan al mismo tiempo la
Interrupción externa INT y la de cambio de nivel.
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
36/39
Interrupciones
1er Caso: se atiende primero INT
Dir 0004
INTF=1 INTF0 Sub_Rut_INTSI
ORG 0004
BTFSC INTCON,INTF
GOTO Sub_Rut_INT
BTFSC INTCON,RBIF
GOTO Sub_Rut_RB
RETFIE
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
IOCIF=1
NO
IOCXFx0 Sub_Rut_RBSI
NO
RETFIE
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
37/39
Interrupciones
2do Caso: se atiende primero RBIF
Dir 0004
IOCIF=1 IOCXFx0 Sub_Rut_RBSI
ORG 0004
BTFSC INTCON,RBIF
GOTO Sub_Rut_RBBTFSC INTCON,INTF
GOTO Sub_Rut_INT
RETFIE
UNEXPO –
Pto. Ordaz. MICROPROCESADORES
INTF=1
NO
INTF0 Sub_Rut_INTSI
NO
RETFIE
Prof. Antonio Pateti Prof. Antonio Pateti
8/16/2019 03 Present Interrup 1787
38/39
Interrupciones
Ejemplo
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. AntonioProf. Antonio Pateti Pateti
8/16/2019 03 Present Interrup 1787
39/39
Interrupciones
Ejemplo
UNEXPO –
Pto. Ordaz. MICROPROCESADORESProf. Antonio Pateti Prof. Antonio Pateti