23
UNEXPO – Pto. Ordaz. MICROPROCESADORES Interrupciones Fuentes 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 Pateti Prof. Antonio Pateti

03 Present Interrup

Embed Size (px)

Citation preview

Page 1: 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

Page 2: 03 Present Interrup

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

Page 3: 03 Present Interrup

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

Page 4: 03 Present Interrup

UNEXPO – Pto. Ordaz. MICROPROCESADORES

InterrupcionesFuentes de Interrupciones a estudiar

Interrupción externa a través del pin RB0/INT

Prof. Antonio PatetiProf. Antonio Pateti

Page 5: 03 Present Interrup

UNEXPO – Pto. Ordaz. MICROPROCESADORES

InterrupcionesFuentes de Interrupciones a estudiar

Interrupción por cambio de nivel en RB7-RB4

Prof. Antonio PatetiProf. Antonio Pateti

Page 6: 03 Present Interrup

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

Page 7: 03 Present Interrup

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

Page 8: 03 Present Interrup

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

Page 9: 03 Present Interrup

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

Page 10: 03 Present Interrup

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

Page 11: 03 Present Interrup

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

Page 12: 03 Present Interrup

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

Page 13: 03 Present Interrup

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

Page 14: 03 Present Interrup

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

Page 15: 03 Present Interrup

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

Page 16: 03 Present Interrup

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

Page 17: 03 Present Interrup

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

Page 18: 03 Present Interrup

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

Page 19: 03 Present Interrup

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

Page 20: 03 Present Interrup

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

Page 21: 03 Present Interrup

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

Page 22: 03 Present Interrup

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

Page 23: 03 Present Interrup

UNEXPO – Pto. Ordaz. MICROPROCESADORES

Interrupciones

Ejemplo

RB0

RB1RB2RB3RB4RB5RB6RB7

PIC 16F87X

RC0RC1RC2RC3RC4RC5RC6RC7

Prof. Antonio PatetiProf. Antonio Pateti