Fecha de publicación: May 03, 2013 8:22:47 PM
Una interrupcion en Microprocesadores, es como lo dice su palabra una interrupcion que se realiza al proceso que esta realizando en ese momento el procesador de tal manera que el procesador debe dejar la labor que estaba ejecutando para atender la interrupcion solicitante, una vez atendida puede retornar al proceso donde lo dejo.
Es como un subprograma, pero puede ser llamado via una interrupcion por hardware y detiene al programa principal en cualquier ejecucion permitiendole luego retornar a la labor que se estaba ejecutando.
Dependiendo del modelo de microcontrolador se tienen distintas interrupciones, pues esto depende de los recursos con los cuales cuenta el microcontrolador, esto varia de modelo a modelo. Por ejemplo en el microcontrolador AT89c51 tambien de la familia 8051, este posee los siguientes recursos que solicitan interrupcion
Interrupcion Externa 0
Timer 0
Interrupcion Externa 1
Timer 1
Puerto serie Rx y Tx
Adicionalmente el microcontrolador AT89c52 posee un recurso adicional al at89c51, posee un:
Timer 2
Ademas de poseer mas memoria de programa y memoria de datos.
cada una de estas interrupciones posee una direccion de memoria de programa a la cual se direcciona para ejecutar el programa que atendera dicha interrupcion. Las direcciones de interrupcion se denominan:
Vectores de Interrupcion
Adicionalmente el microcontrolador AT89c52 posee un recurso adicional al at89c51, posee un:
Timer 2
Ademas de mayor memoria de datos y memoria de programa.
Al energisar el microcontrolador las interrupciones estan desactivadas deben habilitarse manualmente via software, existe un registro global de interrupciones que habilita la funcion de interrupcion en general. Este registro se denomina "IE" Interrup Enable.
Un otro registro importante es el IP Interrup Priority de prioridad de interrupcion, quien esta encargado en caso de que varias interrupciones se ocacionen al mismo tiempo, dar a cada una una determina prioridad para ser atendido primero, esto configura por software. e individualmente cada una de las interrupciones puede ser habilitada o deshabilitada
El registro "IE" Interrup Enable
Las prioridades con el registro "IP" Interrup Priority
Como habiamos mencionado la interrupcion viene a ser un subprograma que resuelve la solicitud de la interrupcion y al ser un programa de subrutina debe retornar al programa que estaba corriendo antes de ser activada y atendida la interrupcion, esta instruccion es RETI RETorno de Interrupcion.
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; Leccion 11 Interrupciones
; Por:
; Raul Alejandro QL
; La Paz - Bolivia
; WWW:
; https://sites.google.com/site/cursodemicrocontroladores8051
; Facebok:
; http://www.facebook.com/LicRaulAlejandroQL
; Youtube:
; http://www.youtube.com/user/raulalejandroql
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ORG 0000H
AJMP programa_principal
;---- Interrupcion Externa 0
ORG 0003H
RETI
;---- Timer 0
ORG 000BH
reti
;---- Interrupcion Externa 1
ORG 0013H
reti
;---- Timer 1
ORG 001BH
reti
;---- Puerto Serial Tx y Rx
ORG 0023H
reti
;---- Timer 2
ORG 002BH
reti
;------Programa principal
ORG 40h
programa_principal:
nop
end