17 Interrupciones

17
INTERRUPCIONES DE LOS ATmega164P: VECTORES, REGISTROS Y BANDERAS Elaborado por: Ing. Jaime E. Velarde

description

Definición y funcionamiento de las Interrupciones. Registros utilizados en las interrupciones externas y cambios en los Pórticos del ATmega164P

Transcript of 17 Interrupciones

Page 1: 17 Interrupciones

INTERRUPCIONES DE LOS

ATmega164P:

VECTORES, REGISTROS Y

BANDERAS

Elaborado por: Ing. Jaime E. Velarde

Page 2: 17 Interrupciones

INTERRUPCIÓN

LAS INTERRUPCIONES SON EVENTOS QUE SE PRODUCEN FUERA DE LA

EJECUCIÓN DEL PROGRAMA, INCLUSIVE PUEDEN SER EXTERNAS

AL CIRCUITO INTEGRADO, QUE OBLIGAN AL MICROCONTROLADOR A CONTINUAR CON OTRA SECUENCIA

DE INSTRUCCIONES QUE SE DENOMINADA LA RUTINA DE

SERVICIO A LA INTERRUPCIÓN

Page 3: 17 Interrupciones

RETORNO DE

INTERRUPCIÓNLA ÚLTIMA INSTRUCCIÓN QUE SE

DEBE EJECUTAR EN UNA RUTINA DE

SERVICIO: ES LA DE RETORNO DE

INTERRUPCIÓN

LA FORMA DE TRABAJAR SE PARECE

AL USO DE SUBRUTINAS, PERO SIN

LA PRESENCIA DE LA INSTRUCCIÓN

DE LLAMADA

Page 4: 17 Interrupciones

COMPARACIÓN CON SUBRUTINAS

PROGRAMA CON SUBRUTINAS PROGRAMA CON INTERRUPCIONESPROGRAMA CON INTERRUPCIONES

1, 2 y 3 son eventos que producen

interrupciones

PROGRAMA CON SUBRUTINAS

1, 2 y 3 son las ejecuciones de las

instrucciones RCALL

Page 5: 17 Interrupciones

IDENTIFICACIÓN DE LOS

EVENTOS

EL MICROCONTROLADOR IDENTIFICA AL EVENTO QUE SE HA PRODUCIDO CUANDO SE ENCIENDE LA BANDERA

ASOCIADA

LA EJECUCIÓN SE ENCAMINA A LA RUTINA DE SERVICIO, SI ESTÁ

HABILITADA LA INTERRUPCIÓN Y SI EL BIT I DEL SREG ESTÁ EN UNO

(BANDERA DE HABILITACIÓN GLOBAL DE LAS INTERRUPCIONES)

Page 6: 17 Interrupciones

UBICACIÓN DE LAS RUTINAS

LAS RUTINAS EMPIEZAN EN LAS

PRIMERAS LOCALIDADES PARES DE

LA MEMORIA FLASH, DENOMINADOS

VECTORES DE LA INTERRUPCIÓN

COMO SON ÚNICAMENTE DOS

LOCALIDADES PARA LA RUTINA, SE

PUEDEN CONTINUAR EN CUALQUIER

PARTE DE LA MEMORIA MEDIANTE

UN SALTO EN EL VECTOR

Page 7: 17 Interrupciones

VECTORES DE LAS RUTINAS

Page 8: 17 Interrupciones

INTERRUPCIONES POR

SEÑALES EXTERNASAdemás del RESET existen tres

interrupciones externas y cuatro

interrupciones por cambio de estado

en los Pórticos de E/S

Page 9: 17 Interrupciones

INTERRUPCIONES

EXTERNASLOS ATMEGA 164P TIENEN TRES

INTERRUPCIONES EXTERNAS

INT0 TERMINAL PD2

INT1 TERMINAL PD3

INT2 TERMINAL PB2

POR ESTOS TERMINALES, QUE SE LOS CONFIGURA COMO ENTRADAS, SE

INGRESAN LAS SEÑALES QUE PRODUCEN INTERRUPCIONES

Page 10: 17 Interrupciones

MODOS DE OPERACIÓN DE LAS

INTERRUPCIONES EXTERNAS

ISCn1 ISCn0 DESCRIPCIÓN

0 0El nivel lógico 0 en la entrada INTn

genera un pedido de interrupción

0 1Cualquier cambio en la entrada INTn

genera un pedido de interrupción

1 0La transición de bajada en la entrada

INTn genera un pedido de interrupción

1 1La transición de subida en la entrada

INTn genera un pedido de interrupción

Page 11: 17 Interrupciones

HABILITACIÓN DE LAS

INTERRUPCIONES EXTERNASLOS BITS INT0, INT1 e INT2 EN 1 HABILITAN LOS PEDIDOS INDIVIDUALES DE INTERRUPCIÓN, CAUSADOS POR LA ACTIVIDAD EN LA RESPECTIVA ENTRADA DE LA SEÑAL

PARA QUE SURTAN EFECTO ESTOS PEDIDOS TAMBIÉN DEBE ESTAR EN 1 LA BANDERA GENERAL DE HABILITACIÓN DE INTERRUPCIONES

Page 12: 17 Interrupciones

BANDERAS DE LAS

INTERRUPCIONES EXTERNAS

INTF0, INTF1 e INTF2 SE PONEN EN 1

POR EFECTO DE LA ACTIVIDAD DE LA

ENTRADA DE LA SEÑAL RESPECTIVA

REGRESAN A 0 CUANDO SE EJECUTA

LA RUTINA DE INTERRUPCIÓN O

CUANDO SE ESCRIBE UN 1 LÓGICO

Page 13: 17 Interrupciones

INTERRUPCIONES POR

CAMBIOS EN LOS PÓRTICOSLOS ATMEGA 164P TIENEN CUATRO

INTERRUPCIONES PARA LOS CAMBIOS EN LOS PÓRTICOS

PCINT0 PARA EL PÓRTICO A

PCINT1 PARA EL PÓRTICO B

PCINT2 PARA EL PÓRTICO C

PCINT3 PARA EL PÓRTICO D

QUE TAMBIÉN SE LOS CONFIGURA COMO ENTRADAS

Page 14: 17 Interrupciones

HABILITACIÓN DE LAS

INTERRUPCIONES POR CAMBIO

LOS BITS PCIE0, PCIE1, PCIE2 y PCIE3 EN 1 HABILITAN LOS PEDIDOS DE INTERRUPCIÓN, CAUSADOS POR LOS CAMBIOS EN LAS ENTRADAS DE LOS PÓRTICOS A, B, C y D RESPECTIVAMENTE

PARA QUE SURTAN EFECTO ESTOS PEDIDOS TAMBIÉN DEBE ESTAR EN 1 LA BANDERA GENERAL DE HABILITACIÓN DE INTERRUPCIONES

Page 15: 17 Interrupciones

BANDERAS DE LAS

INTERRUPCIONES POR CAMBIO

PCIF0, PCIF1, PCIF2 y PCIF3 SE PONEN EN 1

POR EFECTO DE CAMBIOS PRODUCIDOS

EN LAS ENTRADAS DE LOS PÓRTICOS A, B,

C y D RESPECTIVAMENTE

REGRESAN A 0 CUANDO SE EJECUTA LA

RUTINA DE INTERRUPCIÓN O CUANDO SE

ESCRIBE UN 1 LÓGICO

Page 16: 17 Interrupciones

IDENTIFICACIÓN DE LAS

ENTRADASLA DENOMINACIÓN QUE TIENE CADA UNO DE LOS TERMINALES DE LOS PÓRTICOS COMO INTERRUPCIONES ES:

PCINT7..0 PARA LOS DEL PÓRTICO A

PCINT15..8 PARA LOS DEL PÓRTICO B

PCINT23..16 PARA LOS DEL PÓRTICO C

PCINT31..24 PARA LOS DEL PÓRTICO D

Page 17: 17 Interrupciones

MASCARA DE LAS

INTERRUPCIONES POR CAMBIO

LOS BITS PCINT7..0, PCINT15..8, PCINT23..16 y PCINT31..24 EN 1 HABILITAN INDIVIDUALMENTE LAS ENTRADAS DE LOS PÓRTICOS A, B, C y D RESPECTIVAMENTE PARA QUE LOS CAMBIOS GENEREN PEDIDOS DE INTERRUPCIÓN