Atmel ATmega164P/V Manual De Usuario página 16

Microcontrolador avr de 8 bits de alto rendimiento y bajo consumo.
Tabla de contenido

Publicidad

Dependiendo del valor del contador del programa, las interrupciones deben ser
deshabilitadas automáticamente cuando los bits Boot Lock (BLB02 o BLB12) son
programados.
Esta característica mejora la seguridad de software.
La dirección más baja en el espacio de la memoria de programa está definida
por defecto como vectores de Reset e Interrupción.
La lista completa de vectores se muestra en la página 61 del Data Sheet. La lista
también determina los niveles de prioridad de las diferentes interrupciones. El
nivel de prioridad es desde la dirección mas baja a la más alta. El RESET tiene la
prioridad más alta y la siguiente es el pedido de interrupción externa (INTO).
Los vectores de interrupción pueden ser movidos al inicio de la sección de la
parte baja de la Flash por la configuración del bit IVSEL en el MCU del registro
de Control (MCUCR). El vector de Reset también puede ser movido al inicio de
la sección de la parte mas baja por la programación del fusible BOOTRST.
Cuando ocurre una Interrupción, el bit I del Habilitador de Interrupciones
Globales es limpiado y todas las interrupciones son deshabilitadas.
El software del usuario puede escribir uno lógico en el bit I para habilitar de
nuevo las interrupciones.
Todas las interrupciones habilitadas pueden entonces interrumpir las rutinas de
interrupciones. El bit I es puesto en uno automáticamente cuando regresa de
una interrupción al ser ejecutada la instrucción RETI.
Existen básicamente dos tipos de interrupciones. El primer tipo es disparado
por un evento que configura la bandera de interrupción. Para estas
interrupciones, el Contador de Programa es direccionado para el actual Vector
de Interrupción a medida que se ejecuta una rutina de interrupción manual y
limpiada por hardware la correspondiente bandera de interrupción. La bandera
de interrupción puede también ser limpiada por uno lógico para la posición de
la bandera del bit.
Si una condición de interrupción ocurre mientras se habilita el bit de
interrupción correspondiente este es limpiado, la bandera de interrupción será
puesto en uno y la interrupción recordará ser siempre habilitada o la bandera es
limpiada por software.
De igual forma, si una o más condiciones de interrupción ocurren mientras el
bit de interrupción es limpiado, la correspondiente bandera de interrupción
será puesta en uno y la Bandera de Interrupción Global es Habilitada mientras
el bit es uno, y entonces será ejecutada por el orden de prioridad.
El segundo tipo de interrupción será disparada mas larga que la condición de
interrupción actual.
Si la condición de interrupción desaparece antes que la interrupción sea
habilitada, la interrupción no será disparada. Cuando existe una interrupción
en el AVR, esta siempre regresará al programa principal y ejecutará una o más
interrupciones antes de cualquier pedido de interrupción. Note que el Registro

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

Atmega324p/vAtmega644p/v

Tabla de contenido