Interrupciones en microcontrolador 8051 y estructura y programación

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





Las funciones más poderosas e importantes son las interrupciones en Microcontrolador 8051 . En la mayoría de los procesos en tiempo real, para manejar ciertas condiciones correctamente, la tarea real debe detenerse durante algún tiempo (toma la acción requerida) y luego debe regresar a la tarea principal. Para ejecutar este tipo de programas, las interrupciones son necesarias. Se diferencia completamente del método de sondeo en el que el procesador debe verificar secuencialmente cada dispositivo y preguntar si se requiere el servicio o no mientras consume más tiempo de procesador.

Interrupciones en microcontrolador 8051

Interrupciones en microcontrolador 8051



Las interrupciones en el microcontrolador 8051 son más deseables para reducir la verificación regular del estado de los dispositivos interconectados o incorporados. La interrupción es un evento que suspende temporalmente el programa principal, pasa el control a una sección de código especial, ejecuta la función relacionada con el evento y reanuda el flujo del programa principal donde lo había dejado.


Las interrupciones son de diferentes tipos, como software y hardware, enmascarables y no enmascarables, interrupciones fijas y vectoriales, etc. La rutina de servicio de interrupción (ISR) entra en escena cuando se produce una interrupción y luego le dice al procesador que tome la acción apropiada para la interrupción, y después de la ejecución de ISR, el controlador salta al programa principal.



Tipos de interrupciones en el microcontrolador 8051

El microcontrolador 8051 puede reconocer cinco eventos diferentes que hacen que el programa principal interrumpa la ejecución normal. Estas cinco fuentes de interrupciones en 8051 son:

  1. Interrupción de desbordamiento del temporizador 0- TF0
  2. Interrupción de desbordamiento del temporizador 1 - TF1
  3. Interrupción de proceso externa: INT0
  4. Alarma de proceso externa: INT1
  5. Interrupción de comunicación serial - RI / TI

Las interrupciones de temporizador y serie son generadas internamente por el microcontrolador, mientras que las interrupciones externas son generadas por dispositivos de interfaz o interruptores que están conectados externamente al microcontrolador. Estas interrupciones externas se pueden disparar por flanco o por nivel. Cuando ocurre una interrupción, el microcontrolador ejecuta la rutina del servicio de interrupción de modo que la ubicación de la memoria corresponda a la interrupción que la habilita. La interrupción correspondiente a la ubicación de la memoria se da en la siguiente tabla de vectores de interrupción.

Tabla de vectores de interrupción

Tabla de vectores de interrupción

Estructura de interrupción del microcontrolador 8051

Tras 'RESET', todas las interrupciones se desactivan y, por lo tanto, todas estas interrupciones deben ser activadas por un software. En todas estas cinco interrupciones, si alguna o todas están activadas, esto establece las banderas de interrupción correspondientes como se muestra en la figura. Todas estas interrupciones se pueden establecer o borrar por bit en algún registro de función especial que es Interrupción habilitada (IE), y esto a su vez depende de la prioridad, que es ejecutada por el registro de prioridad de interrupción IP.


Estructura de interrupción del microcontrolador 8051

Estructura de interrupción del microcontrolador 8051

Registro de habilitación de interrupciones (IE): Este registro es responsable de habilitar y deshabilitar la interrupción. Es un registro de bit direccionable en el que EA debe establecerse en uno para habilitar interrupciones. El bit correspondiente en este registro habilita interrupciones particulares como temporizador, entradas externas y seriales. En el siguiente registro IE, el bit correspondiente a 1 activa la interrupción y 0 la desactiva.

Registro de habilitación de interrupciones (IE)

Registro de habilitación de interrupciones (IE)

Registro de prioridad de interrupción (IP): También es posible cambiar los niveles de prioridad de las interrupciones configurando o borrando el bit correspondiente en el registro de prioridad de interrupción (IP) como se muestra en la figura. Esto permite que la interrupción de baja prioridad interrumpa la interrupción de alta prioridad, pero prohíbe la interrupción por otra interrupción de baja prioridad. Del mismo modo, la interrupción de alta prioridad no se puede interrumpir. Si estas prioridades de interrupción no están programadas, el microcontrolador se ejecuta de manera predefinida y su orden es INT0, TF0, INT1, TF1 y SI.

Registro de IP

Registro de IP

Registro TCON: Además de los dos registros anteriores, el registro TCON especifica el tipo de interrupción externa al microcontrolador 8051, como se muestra en la figura. Las dos interrupciones externas, ya sean disparadas por flanco o por nivel, se especifican mediante este registro mediante un conjunto, o se borran mediante los bits apropiados en él. Y también es un registro un poco direccionable.

Registro TCON

Registro TCON

Programación de interrupciones en 8051

Programación de interrupción del temporizador

Las interrupciones del temporizador 0 y del temporizador 1 son generadas por los bits de registro del temporizador TF0 y TF1. Estas interrupciones programación por código C implica:

  • Seleccionar el temporizador configurando el registro TMOD y su modo de funcionamiento.
  • Elegir y cargar los valores iniciales de TLx y THx para los modos apropiados.
  • Habilitando los registros IE y el bit de temporizador correspondiente en él.
  • Configuración del bit de ejecución del temporizador para iniciar el temporizador.
  • Escribir la subrutina para el temporizador durante el tiempo requerido y borrar el valor del temporizador TRx al final de la subrutina.
Programación de interrupción del temporizador

Programación de interrupción del temporizador

2.Programación de interrupciones por hardware externo

Los microcontroladores 8051 constan de dos interrupciones de hardware externas: INT0 e INT1 como se discutió anteriormente. Estos están habilitados en el pin 3.2 y el pin 3.3. Estos pueden activarse por flanco o por nivel. En el disparo de nivel, el nivel bajo en el pin 3.2 habilita la interrupción, mientras que en el pin 3.2 - la transición de alto a bajo habilita la interrupción disparada por flanco. Este disparo por flanco o disparo por nivel lo decide el registro TCON que se ha comentado anteriormente. los procedimiento de programación en 8051 es como sigue:

  • Habilite el bit correspondiente de interrupción externa en el registro IE.
  • Si es un disparo de nivel, simplemente escriba la subrutina apropiada para esta interrupción, o de lo contrario habilite el bit de registro TCON correspondiente a la interrupción disparada por flanco, ya sea INT0 o INT1.
Programación de interrupciones de hardware externas

Programación de interrupciones de hardware externas

3.Programación de interrupciones de comunicación en serie

Las interrupciones de la comunicación en serie entran en escena cuando es necesario enviar o recibir datos. Dado que se establece un bit de interrupción para los indicadores TI (Interrupción de transferencia) y RI (Interrupción del receptor), la rutina del Servicio de interrupción debe examinar estos indicadores para conocer la interrupción real.

La operación lógica OR de estos dos indicadores (RI y TI) provoca esta interrupción, y solo el software la borra. Aquí, se utiliza un registro especial SCON para controlar comunicación operación habilitando los bits correspondientes en él.

  • Configurar el registro IE para habilitar la interrupción en serie
  • Configurar el registro SCON para recibir o transferir operaciones
  • Escriba una subrutina para esta interrupción con la función apropiada y borre los indicadores TI o RI en esta rutina.
Programación de interrupciones en serie

Programación de interrupciones en serie

Se trata de interrupciones en el microcontrolador 8051, tipos, su estructura y programación. Espero que hayas recibido buena información de este artículo. Además, puede escribirnos en la sección de comentarios a continuación para la implementación en tiempo real de proyectos de microcontroladores para que podamos ayudarlo a tener una mejor experiencia práctica.

Créditos fotográficos