17interrupciones-091119071333-phpapp02
TRANSCRIPT
-
5/22/2018 17interrupciones-091119071333-phpapp02
1/17
INTERRUPCIONES DE LOS
ATmega164P:VECTORES, REGISTROS Y
BANDERAS
Elaborado por: Ing. Jaime E. Velarde
-
5/22/2018 17interrupciones-091119071333-phpapp02
2/17
INTERRUPCIN
LAS INTERRUPCIONES SON EVENTOSQUE SE PRODUCEN FUERA DE LA
EJECUCIN DEL PROGRAMA,
INCLUSIVE PUEDEN SER EXTERNASAL CIRCUITO INTEGRADO, QUEOBLIGAN AL MICROCONTROLADOR ACONTINUAR CON OTRA SECUENCIA
DE INSTRUCCIONES QUE SEDENOMINADA LA RUTINA DE
SERVICIO A LA INTERRUPCIN
-
5/22/2018 17interrupciones-091119071333-phpapp02
3/17
RETORNO DE
INTERRUPCIN
LA LTIMA INSTRUCCIN QUE SEDEBE EJECUTAR EN UNA RUTINA DE
SERVICIO: ES LA DE RETORNO DEINTERRUPCIN
LA FORMA DE TRABAJAR SE PARECEAL USO DE SUBRUTINAS, PERO SIN
LA PRESENCIA DE LA INSTRUCCINDE LLAMADA
-
5/22/2018 17interrupciones-091119071333-phpapp02
4/17
COMPARACIN CON SUBRUTINAS
PROGRAMA CON SUBRUTINAS PROGRAMA CON INTERRUPCIONESPROGRAMA CON INTERRUPCIONES
1, 2 y 3 son eventos que produceninterrupciones
PROGRAMA CON SUBRUTINAS
1, 2 y 3 son las ejecuciones de lasinstrucciones RCALL
-
5/22/2018 17interrupciones-091119071333-phpapp02
5/17
IDENTIFICACIN DE LOS
EVENTOS
EL MICROCONTROLADOR IDENTIFICAAL EVENTO QUE SE HA PRODUCIDOCUANDO SE ENCIENDE LA BANDERA
ASOCIADALA EJECUCIN SE ENCAMINA A LA
RUTINA DE SERVICIO, SI ESTHABILITADA LA INTERRUPCIN Y SI
EL BIT I DEL SREG EST EN UNO(BANDERA DE HABILITACIN GLOBAL
DE LAS INTERRUPCIONES)
-
5/22/2018 17interrupciones-091119071333-phpapp02
6/17
UBICACIN DE LAS RUTINAS
LAS RUTINAS EMPIEZAN EN LASPRIMERAS LOCALIDADES PARES DELA MEMORIA FLASH, DENOMINADOS
VECTORES DE LA INTERRUPCINCOMO SON NICAMENTE DOS
LOCALIDADES PARA LA RUTINA, SE
PUEDEN CONTINUAR EN CUALQUIERPARTE DE LA MEMORIA MEDIANTE
UN SALTO EN EL VECTOR
-
5/22/2018 17interrupciones-091119071333-phpapp02
7/17
VECTORES DE LAS RUTINAS
-
5/22/2018 17interrupciones-091119071333-phpapp02
8/17
INTERRUPCIONES POR
SEALES EXTERNAS
Adems del RESET existen tresinterrupciones externas y cuatrointerrupciones por cambio de estado
en los Prticos de E/S
-
5/22/2018 17interrupciones-091119071333-phpapp02
9/17
INTERRUPCIONES
EXTERNASLOS ATMEGA 164P TIENEN TRES
INTERRUPCIONES EXTERNASINT0TERMINAL PD2
INT1TERMINAL PD3INT2TERMINAL PB2
POR ESTOS TERMINALES, QUE SE LOS
CONFIGURA COMO ENTRADAS, SEINGRESAN LAS SEALES QUEPRODUCEN INTERRUPCIONES
-
5/22/2018 17interrupciones-091119071333-phpapp02
10/17
MODOS DE OPERACIN DE LAS
INTERRUPCIONES EXTERNAS
ISCn1 ISCn0 DESCRIPCIN
0 0El nivel lgico 0 en la entrada INTngenera un pedido de interrupcin
0 1 Cualquier cambio en la entrada INTngenera un pedido de interrupcin
1 0La transicin de bajada en la entradaINTn genera un pedido de interrupcin
1 1 La transicin de subida en la entradaINTn genera un pedido de interrupcin
-
5/22/2018 17interrupciones-091119071333-phpapp02
11/17
HABILITACIN DE LAS
INTERRUPCIONES EXTERNAS
LOS BITS INT0, INT1 e INT2 EN 1 HABILITANLOS PEDIDOS INDIVIDUALES DEINTERRUPCIN, CAUSADOS POR LAACTIVIDAD EN LA RESPECTIVA ENTRADA
DE LA SEALPARA QUE SURTAN EFECTO ESTOSPEDIDOS TAMBIN DEBE ESTAR EN 1 LABANDERA GENERAL DE HABILITACIN DEINTERRUPCIONES
-
5/22/2018 17interrupciones-091119071333-phpapp02
12/17
BANDERAS DE LAS
INTERRUPCIONES EXTERNAS
INTF0, INTF1 e INTF2 SE PONEN EN 1POR EFECTO DE LA ACTIVIDAD DE LA
ENTRADA DE LA SEAL RESPECTIVAREGRESAN A 0 CUANDO SE EJECUTALA RUTINA DE INTERRUPCIN OCUANDO SE ESCRIBE UN 1 LGICO
-
5/22/2018 17interrupciones-091119071333-phpapp02
13/17
INTERRUPCIONES POR
CAMBIOS EN LOS PRTICOSLOS ATMEGA 164P TIENEN CUATRO
INTERRUPCIONES PARA LOSCAMBIOS EN LOS PRTICOS
PCINT0PARA EL PRTICO APCINT1PARA EL PRTICO BPCINT2PARA EL PRTICO C
PCINT3PARA EL PRTICO DQUE TAMBIN SE LOS CONFIGURA
COMO ENTRADAS
-
5/22/2018 17interrupciones-091119071333-phpapp02
14/17
HABILITACIN DE LAS
INTERRUPCIONES POR CAMBIO
LOS BITS PCIE0, PCIE1, PCIE2 y PCIE3 EN 1HABILITAN LOS PEDIDOS DEINTERRUPCIN, CAUSADOS POR LOSCAMBIOS EN LAS ENTRADAS DE LOS
PRTICOS A, B, C y D RESPECTIVAMENTEPARA QUE SURTAN EFECTO ESTOSPEDIDOS TAMBIN DEBE ESTAR EN 1 LABANDERA GENERAL DE HABILITACIN DEINTERRUPCIONES
-
5/22/2018 17interrupciones-091119071333-phpapp02
15/17
BANDERAS DE LAS
INTERRUPCIONES POR CAMBIO
PCIF0, PCIF1, PCIF2 y PCIF3 SE PONEN EN 1POR EFECTO DE CAMBIOS PRODUCIDOSEN LAS ENTRADAS DE LOS PRTICOS A, B,
C y D RESPECTIVAMENTEREGRESAN A 0 CUANDO SE EJECUTA LARUTINA DE INTERRUPCIN O CUANDO SE
ESCRIBE UN 1 LGICO
-
5/22/2018 17interrupciones-091119071333-phpapp02
16/17
IDENTIFICACIN DE LAS
ENTRADASLA DENOMINACIN QUE TIENE CADAUNO DE LOS TERMINALES DE LOSPRTICOS COMO INTERRUPCIONES
ES:PCINT7..0PARA LOS DEL PRTICO APCINT15..8PARA LOS DEL PRTICO B
PCINT23..16 PARA LOS DEL PRTICO CPCINT31..24 PARA LOS DEL PRTICO D
-
5/22/2018 17interrupciones-091119071333-phpapp02
17/17
MASCARA DE LAS
INTERRUPCIONES POR CAMBIO
LOS BITS PCINT7..0, PCINT15..8,PCINT23..16 y PCINT31..24 EN 1HABILITAN INDIVIDUALMENTE LASENTRADAS DE LOS PRTICOS A, B, Cy D RESPECTIVAMENTE PARA QUELOS CAMBIOS GENEREN PEDIDOS DEINTERRUPCIN