03 Present Interrup
Transcript of 03 Present Interrup
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesFuentes de Interrupciones para el PIC16F874/877
Interrupción externa a través del pin RB0/INT Interrupción por cambio de nivel en RB7-RB4
Interrupción por escritura en la EEPROM
Interrupción por desbordamiento del TMR0
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 PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesFuentes de Interrupciones para el PIC16F874/877
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
Interrupción por fin de conversión en el DAC
Interrupción por transferencia en el modulo PSP
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Interrupciones
ProgramaPrincipal
BSF 03,5BCF 03,6MOVF 3F,0CALL SUMAGOTO 000hBCF 03,5BSF 03,6ADDWF 5A,1RETURN
Dir_SUMA
Sub-RutInterrupción
RETFIE
Dir_01Dir_02Dir_03Dir_04Dir_05
Dir_07Dir_08Dir_09
PILADir_04
Como se atiende una Interrupción
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesFuentes de Interrupciones a estudiar
Interrupción externa a través del pin RB0/INT
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesFuentes de Interrupciones a estudiar
Interrupción por cambio de nivel en RB7-RB4
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesRegistros del área SFR que se utilzan con las Interrupciones
INTCON OPTION_REG PIE1 PIR1 PIE2 PIR2
Solo para INT/RB0
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesINDFTMR0PCL
STATUSFSR
PORTA
PORTCPORTB
PORTD
PCLATH
PIR1INTCON
PIR2TMR1L
T1CONTMR1H
TMR2T2CON
SSPBUFSSPCONCCPR1LCCPR1H
CCP1CONRCSTATXREGRCREGCCPR2LCCPR2H
CCP2CONADRESHADCON0
Banco 0
00h
RegistrosPropocitoGeneral(GPR)
96 Bytes
01h02h03h04h05h06h07h08h09h0Ah0Bh0Ch0Dh0Eh0Fh10h11h12h13h14h15h16h17h18h19h1Ah1Bh1Ch1Dh1Eh1Fh
7Fh
PORTE
20h
INDFOPTION_REG
PCLSTATUS
FSRTRISA
TRISCTRISB
TRISD
PCLATH
PIE1INTCON
PIE2
SSPCON2
PCON
PR2SSPADDSSPSTAT
TXSTASPBRG
ADRESLADCON1
Banco 1
80h
RegistrosPropocitoGeneral(GPR)
80 Bytes
81h82h83h84h85h86h87h88h89h8Ah8Bh8Ch8Dh8Eh8Fh90h91h92h93h94h95h96h97h98h99h9Ah9Bh9Ch9Dh9Eh9Fh
FFh
TRISE
A0h
F0hAcceso70h-7Fh
EFh
INDFTMR0PCL
STATUSFSR
PORTB
PCLATH
EEDATAINTCON
EEADREEDATHEEADRH
Banco 2
100h
RegistrosPropocitoGeneral(GPR)
80 Bytes
101h102h103h104h105h106h107h108h109h10Ah10Bh10Ch10Dh10Eh10Fh110h111h112h113h114h115h116h117h118h119h11Ah11Bh11Ch11Dh11Eh11Fh
17Fh
120h
Acceso70h-7Fh
170h16Fh
RegistrosPropocitoGeneral(GPR)
16 Bytes
INDFOPTION_REG
PCLSTATUS
FSR
TRISB
PCLATH
EECON1INTCON
EECON2ReservadoReservado
Banco 3
180h
RegistrosPropocitoGeneral(GPR)
80 Bytes
181h182h183h184h185h186h187h188h189h18Ah18Bh18Ch18Dh18Eh18Fh190h191h192h193h194h195h196h197h198h199h19Ah19Bh19Ch19Dh19Eh19Fh
1FFh
1A0h
Acceso70h-7Fh
1F0h1EFh
RegistrosPropocitoGeneral(GPR)
16 Bytes
Dir. Dir. Dir. Dir.
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesINTCON (Dir. 0Bh, 8Bh, 10Bh, 18Bh)
RBIF07
INTFT0IFRBIEGIE INTET0IEPEIE
GIE: Bandera de Habilitación Global de las Interrupciones.0: Deshabilitadas todas las Interrupciones.1: Permite habilitar las Interrupciones.
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 PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesINTCON (Dir. 0Bh, 8Bh, 10Bh, 18Bh)
RBIF07
INTFT0IFRBIEGIE INTET0IEPEIE
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.
RBIE:Bandera de Habilitación de la Interrupción por cambio en RB4-RB7.
0: Deshabilita la Interrupción por cambio en RB4-RB7.1:Habilita la Interrupción por cambio en RB4-RB7.
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesINTCON (Dir. 0Bh, 8Bh, 10Bh, 18Bh)
RBIF07
INTFT0IFRBIEGIE INTET0IEPEIE
T0IF: Bandera que señaliza Interrupción en TMR0.
INTF: Bandera que señaliza Interrupción Externa RB0/INT.
RBIF: Bandera que señaliza Interrupción por cambio RB4-RB7.
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesOPTION_REG (Dir. 81H, 181H)
PS007
PS1PS2PSARBPU T0SET0CSINTEDG
RBPU: Resistencias Pull-up del Puerto B.0: Activadas.1: Desactivadas.
INTEDG: Flanco activo de la Interrupción Externa.0: Flanco Descendente.1: Flanco Ascendente.
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
PIE1 (Dir. 8Ch)
TMR1IE07
TMR2IECCP1IESSPIEPSPIE TXIERCIEADIE
PSPIE: Bandera de Habilitación para la Interrupción del Puerto Paralelo Esclavo (PSP).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 para la Interrupción del conversor A/D.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.
Interrupciones
Prof. Antonio PatetiProf. Antonio Pateti
PIE1 (Dir. 8Ch)
TMR1IE07
TMR2IECCP1IESSPIEPSPIE TXIERCIEADIE
UNEXPO – Pto. Ordaz. MICROPROCESADORES
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.0: Deshabilita la Interrupción del módulo CCP1.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 PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesPIR1 (Dir. 0Ch)
TMR1IF07
TMR2IFCCP1IFSSPIFPSPIF TXIFRCIFADIF
PSPIF: Bandera que señaliza Interrupción en PSP.
ADIF: Bandera que señaliza Interrupción en el conversor A/D.
RCIF: Bandera que señaliza Interrupción en la Rx del USART.
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 PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesPIE2 (Dir. 8Dh)
CCP2IE07
BCLIEEEIE
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.
BCLIE: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.
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.
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
PIR2 (Dir. 0Dh)
CCP2IF07
BCLIFEEIF
Interrupciones
EEIE: Bandera que señaliza Interrupción en Escritura en la EEPROM.
BCLIE: Bandera que señaliza Interrupción por colisión de Bus el SSP.
CCP1IE: Bandera que señaliza Interrupción del módulo CCP2.
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Interrupción al CPUClear el bit GIE
T0IET0IF
INTEINTF
RBIERBIF
PEIE
BCLIEBCLIF
CCP2IECCP2IF
SSPIESSPIF
CCP1IECCP1IF
TMR2IETMR2IF
TMR1IETMR1IF
EEIF
PSPIEPSPIF
ADIEADIF
RCIERCIF
TXIFTXIE
EEIE
GIE
Interrupciones
INTCON
PIE1/PIR1
PIE2/PIR2
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
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
El vector de Interrupción para el PIC16F87X es:Dir. 0004
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
ProgramaPrincipal
BSF 03,5BCF 03,6MOVF 3F,0CALL SUMAGOTO 000hBCF 03,5BSF 03,6ADDWF 5A,1RETURN
Dir_SUMA
Sub-RutInterrupción
RETFIE
Dir_01Dir_02Dir_03Dir_04Dir_05
Dir_07Dir_08Dir_09
PILA
Como se atiende una Interrupción con el PIC
Interrupciones
0004
GIE=0
GIE=1
Dir_SUMA
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
InterrupcionesPrioridades en la interrupciones
Ejemplo: Que pasa si se activan al mismo tiempo la Interrupción externa INT y la de cambio de nivel en el nibble alto del puerto B (RB7:RB4)
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Interrupciones1er Caso: se atiende primero INT
Dir 0004
INTF=1
RBIF=1
INTF←0 Sub_Rut_INTSI
NO
RBIF←0 Sub_Rut_RBSI
NO
RETFIE
ORG 0004BTFSC INTCON,INTFGOTO Sub_Rut_INTBTFSC INTCON,RBIFGOTO Sub_Rut_RBRETFIE
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Interrupciones2do Caso: se atiende primero RBIF
Dir 0004
RBIF=1
INTF=1
RBIF←0 Sub_Rut_RBSI
NO
INTF←0 Sub_Rut_INTSI
NO
RETFIE
ORG 0004BTFSC INTCON,RBIFGOTO Sub_Rut_RBBTFSC INTCON,INTFGOTO Sub_Rut_INTRETFIE
Prof. Antonio PatetiProf. Antonio Pateti
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Interrupciones
Ejemplo
RB0
RB1RB2RB3RB4RB5RB6RB7
PIC 16F87X
RC0RC1RC2RC3RC4RC5RC6RC7
Prof. Antonio PatetiProf. Antonio Pateti