Microcontroladores - 8051 interrupciones
Las interrupciones son los eventos que suspenden temporalmente el programa principal, pasan el control a las fuentes externas y ejecutan su tarea. Luego pasa el control al programa principal donde lo había dejado.
8051 tiene 5 señales de interrupción, es decir, INT0, TFO, INT1, TF1, RI / TI. Cada interrupción se puede habilitar o deshabilitar configurando bits del registro IE y todo el sistema de interrupciones se puede deshabilitar borrando el bit EA del mismo registro.
Registro IE (Interrupción habilitada)
Este registro es responsable de habilitar y deshabilitar la interrupción. El registro EA se establece en uno para habilitar interrupciones y en 0 para deshabilitar las interrupciones. Su secuencia de bits y sus significados se muestran en la siguiente figura.
EA | IE.7 | Deshabilita todas las interrupciones. Cuando EA = 0 no se reconocerá ninguna interrupción y EA = 1 habilita la interrupción individualmente. |
- | IE.6 | Reservado para utilización futura. |
- | IE.5 | Reservado para utilización futura. |
ES | IE.4 | Activa / desactiva la interrupción del puerto serie. |
ET1 | IE.3 | Habilita / deshabilita la interrupción de desbordamiento del temporizador1. |
EX1 | IE.2 | Habilita / deshabilita la interrupción externa1. |
ET0 | IE.1 | Habilita / deshabilita la interrupción de desbordamiento del timer0. |
EX0 | IE.0 | Habilita / deshabilita la interrupción externa0. |
Registro de IP (prioridad de interrupción)
Podemos cambiar los niveles de prioridad de las interrupciones cambiando el bit correspondiente en el registro de Prioridad de Interrupción (IP) como se muestra en la siguiente figura.
Una interrupción de baja prioridad solo puede ser interrumpida por la interrupción de alta prioridad, pero no por otra interrupción de baja prioridad.
Si se reciben simultáneamente dos interrupciones de diferentes niveles de prioridad, se atiende la solicitud de mayor nivel de prioridad.
Si las solicitudes de los mismos niveles de prioridad se reciben simultáneamente, entonces la secuencia de sondeo interno determina qué solicitud debe ser atendida.
- | IP.6 | Reservado para utilización futura. |
- | IP.5 | Reservado para utilización futura. |
PD | IP.4 | Define el nivel de prioridad de interrupción del puerto serie. |
PT1 | IP.3 | Define la interrupción del temporizador de 1 prioridad. |
PX1 | IP.2 | Define el nivel de prioridad de la interrupción externa. |
PT0 | IP.1 | Define el nivel de prioridad de interrupción del timer0. |
PX0 | IP.0 | Define la interrupción externa de nivel de prioridad 0. |
Registro TCON
El registro TCON especifica el tipo de interrupción externa al microcontrolador.