Está en la página 1de 7

Interrupciones

Vector de interrupciones
Vector de interrupciones de longitud de palabra de 2 bytes. El vector de reset es afectado por el fusible BOOTRST, La direccin de inicio del vector de interrupciones es afectado por el bit IVSEL en MCUCR.

Vector de interrupciones
Vector No. 1 2 3 Direccin de programa 0x0000 0x0002 0x0004 Fuente RESET INT0 INT1

Definicin

Pin externo RESET Interrupcin externa 0 Interrupcin externa 1

4
5 6

0x0006
0x000C 0x000E

PCINT0
WDT

Cambio solicitud de Interrupcin Externa


Tiempo de espera de interrupciones

TIMER2 COMPA Comparador Timer/Counter

7
8 9 10 11 12

0x0012
0x0022 0x0024 0x0026 0x0028 0x002A

TIMER2 OVF
SPI, STC USART, RX USART, UDRE USART, TX ADC

Desbordamiento Timer/Counter
SPI, Transferencia serial USART Rx Vaciar registro de datos USART Tx Conversin de ADC

Vector No. 13 14 15

Direccin de programa 0x002C 0x002E 0x0030

Fuente EE Ready ANALOG COMP TWI

Definicin Inicio de memoria EEPROM Comparador analgico Interface serie 2-wire

16

0x0032

SPM Ready

Almacenamiento de memoria de programa

Colocacin de Vectores de interrupcin y reinicio de las diversas combinaciones de BOOTRST y los ajustes IVSEL.
BOOTRST IVSEL 1 0 Direccin de reinicio 0x0000 Direccionamiento del vector de interrupciones 0x0002

1
0 0

1
0 1

0x0000
Boot Reset Address Boot Reset Address

Boot Reset Address + 0x0002


0x0002 Boot Reset Address + 0x0002

Para entender cmo funciona el mecanismo de las interrupciones en bajo nivel, recordemos que el Contador es un registro que dirige cada una de las instrucciones que ejecuta el CPU. Pues bien, al dispararse la interrupcin el hardware guardar en la Bateria el valor actual del Contador y lo actualizar con el valor del Vector de Interrupcin respectivo, de modo que el CPU pasar a ejecutar el cdigo que se encuentre a partir de esa direccin. Al final del cdigo de la interrupcin debe haber una instruccin de retorno que restaure el Contador con el valor que se haba guardado en la Bateria. La instruccin es retirada y la pone en el compilador.

Si se llegara a producir el evento excepcional en que se disparen dos o ms interrupciones al mismo tiempo, se ejecutarn las interrupciones en orden de prioridad. Tiene mayor prioridad la interrupcin cuyo Vector se ubique ms abajo, es decir, entre todas, la interrupcin INT0 tiene prioridad.

También podría gustarte