Está en la página 1de 17

INTERRUPCIONES DE LOS

ATmega164P:
VECTORES, REGISTROS Y
BANDERAS
Elaborado por: Ing. Jaime E. Velarde
INTERRUPCIN
LAS INTERRUPCIONES SON EVENTOS
QUE SE PRODUCEN FUERA DE LA
EJECUCIN 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 INTERRUPCIN
RETORNO DE
INTERRUPCIN
LA LTIMA INSTRUCCIN QUE SE
DEBE EJECUTAR EN UNA RUTINA DE
SERVICIO: ES LA DE RETORNO DE
INTERRUPCIN
LA FORMA DE TRABAJAR SE PARECE
AL USO DE SUBRUTINAS, PERO SIN
LA PRESENCIA DE LA INSTRUCCIN
DE LLAMADA
COMPARACIN CON SUBRUTINAS
PROGRAMA CON SUBRUTINAS PROGRAMA CON INTERRUPCIONES PROGRAMA 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
IDENTIFICACIN DE LOS
EVENTOS
EL MICROCONTROLADOR IDENTIFICA
AL EVENTO QUE SE HA PRODUCIDO
CUANDO SE ENCIENDE LA BANDERA
ASOCIADA
LA EJECUCIN SE ENCAMINA A LA
RUTINA DE SERVICIO, SI EST
HABILITADA LA INTERRUPCIN Y SI
EL BIT I DEL SREG EST EN UNO
(BANDERA DE HABILITACIN GLOBAL
DE LAS INTERRUPCIONES)
UBICACIN DE LAS RUTINAS
LAS RUTINAS EMPIEZAN EN LAS
PRIMERAS LOCALIDADES PARES DE
LA MEMORIA FLASH, DENOMINADOS
VECTORES DE LA INTERRUPCIN
COMO SON NICAMENTE DOS
LOCALIDADES PARA LA RUTINA, SE
PUEDEN CONTINUAR EN CUALQUIER
PARTE DE LA MEMORIA MEDIANTE
UN SALTO EN EL VECTOR
VECTORES DE LAS RUTINAS

INTERRUPCIONES POR
SEALES EXTERNAS
Adems del RESET existen tres
interrupciones externas y cuatro
interrupciones por cambio de estado
en los Prticos de E/S
INTERRUPCIONES
EXTERNAS
LOS 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 SEALES QUE
PRODUCEN INTERRUPCIONES
MODOS DE OPERACIN DE LAS
INTERRUPCIONES EXTERNAS

ISCn1 ISCn0 DESCRIPCIN
0 0
El nivel lgico 0 en la entrada INTn
genera un pedido de interrupcin
0 1
Cualquier cambio en la entrada INTn
genera un pedido de interrupcin
1 0
La transicin de bajada en la entrada
INTn genera un pedido de interrupcin
1 1
La transicin de subida en la entrada
INTn genera un pedido de interrupcin
HABILITACIN DE LAS
INTERRUPCIONES EXTERNAS
LOS BITS INT0, INT1 e INT2 EN 1 HABILITAN
LOS PEDIDOS INDIVIDUALES DE
INTERRUPCIN, CAUSADOS POR LA
ACTIVIDAD EN LA RESPECTIVA ENTRADA
DE LA SEAL
PARA QUE SURTAN EFECTO ESTOS
PEDIDOS TAMBIN DEBE ESTAR EN 1 LA
BANDERA GENERAL DE HABILITACIN DE
INTERRUPCIONES
BANDERAS DE LAS
INTERRUPCIONES EXTERNAS
INTF0, INTF1 e INTF2 SE PONEN EN 1
POR EFECTO DE LA ACTIVIDAD DE LA
ENTRADA DE LA SEAL RESPECTIVA
REGRESAN A 0 CUANDO SE EJECUTA
LA RUTINA DE INTERRUPCIN O
CUANDO SE ESCRIBE UN 1 LGICO
INTERRUPCIONES POR
CAMBIOS EN LOS PRTICOS
LOS ATMEGA 164P TIENEN CUATRO
INTERRUPCIONES PARA LOS
CAMBIOS EN LOS PRTICOS
PCINT0 PARA EL PRTICO A
PCINT1 PARA EL PRTICO B
PCINT2 PARA EL PRTICO C
PCINT3 PARA EL PRTICO D
QUE TAMBIN SE LOS CONFIGURA
COMO ENTRADAS
HABILITACIN DE LAS
INTERRUPCIONES POR CAMBIO
LOS BITS PCIE0, PCIE1, PCIE2 y PCIE3 EN 1
HABILITAN LOS PEDIDOS DE
INTERRUPCIN, CAUSADOS POR LOS
CAMBIOS EN LAS ENTRADAS DE LOS
PRTICOS A, B, C y D RESPECTIVAMENTE
PARA QUE SURTAN EFECTO ESTOS
PEDIDOS TAMBIN DEBE ESTAR EN 1 LA
BANDERA GENERAL DE HABILITACIN DE
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 PRTICOS A, B,
C y D RESPECTIVAMENTE
REGRESAN A 0 CUANDO SE EJECUTA LA
RUTINA DE INTERRUPCIN O CUANDO SE
ESCRIBE UN 1 LGICO
IDENTIFICACIN DE LAS
ENTRADAS
LA DENOMINACIN QUE TIENE CADA
UNO DE LOS TERMINALES DE LOS
PRTICOS COMO INTERRUPCIONES
ES:
PCINT7..0 PARA LOS DEL PRTICO A
PCINT15..8 PARA LOS DEL PRTICO B
PCINT23..16 PARA LOS DEL PRTICO C
PCINT31..24 PARA LOS DEL PRTICO D
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 PRTICOS A, B, C
y D RESPECTIVAMENTE PARA QUE
LOS CAMBIOS GENEREN PEDIDOS DE
INTERRUPCIN