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

17interrupciones-091119071333-phpapp02

Embed Size (px)

Citation preview

  • 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