Temporizadores y contadores en el microcontrolador 8051 y sus aplicaciones

Muchas aplicaciones de microcontroladores requieren el recuento de eventos externos, como la frecuencia de los trenes de pulsos, y la generación de retrasos internos precisos entre las acciones del ordenador. Ambas tareas pueden implementarse con técnicas de software, pero los bucles de software para el recuento y la temporización no darán el resultado exacto y las funciones más importantes no se ejecutarán. Para evitar estos problemas, los temporizadores y contadores de los microcontroladores son las mejores opciones para las aplicaciones sencillas y de bajo coste. Estos temporizadores y contadores se utilizan como interrupciones en el microcontrolador 8051.

Hay dos temporizadores y contadores de 16 bits en el microcontrolador 8051: el temporizador 0 y el temporizador 1. Ambos temporizadores constan de un registro de 16 bits en el que el byte inferior se almacena en TL y el superior en TH. Los temporizadores pueden utilizarse como contadores y para operaciones de temporización, dependiendo de la fuente de los pulsos de reloj a los contadores.

Temporizadores y contadores
Índice de Contenido
  1. Los contadores y temporizadores del microcontrolador 8051 contienen dos registros de función especiales: TMOD (Registro de Modo de Temporizador) y TCON (Registro de Control de Temporizador), que se utilizan para activar y configurar los temporizadores y contadores. Control del Modo Temporizador (TMOD): TMOD es un registro de 8 bits que sirve para seleccionar el temporizador o contador y el modo de temporización. Los 4 bits inferiores se utilizan para controlar el funcionamiento del temporizador 0 o del contador 0, mientras que los 4 bits restantes se utilizan para controlar el funcionamiento del temporizador 1 o del contador 1. Este registro está en el registro SFR, la dirección del registro SFR es 89. Control del modo temporizador (TMOD)Puerta: Si el bit de compuerta se pone a "0", podemos iniciar y detener el temporizador "software" de la misma manera. Si la puerta se pone a "1", entonces podemos ejecutar el temporizador de hardware. C/T: Si el bit C/T es "1", entonces estás actuando en modo contador, y lo mismo si C+ está activado=/T es "0", el modo es de temporizador. Bit de selección de modo: M1 y M0 son bits de selección de modo, utilizados para seleccionar las operaciones del temporizador. Hay cuatro modos de funcionamiento del temporizador. Modo 0: Este es un modo de 13 bits, lo que significa que la operación del temporizador se completa con 8192 pulsos. Modo 1: Este es un modo de 16 bits, lo que significa que la operación del temporizador se completa con un máximo de "65535" pulsos de reloj. Modo 2: Este modo es un modo de carga automática de 8 bits, lo que significa que la operación del temporizador se completa con sólo '256' pulsos de reloj. Modo 3: Este modo es un modo de temporizador dividido, es decir, cargar los valores en T0 e iniciar automáticamente T1. Bits de selección de modoSelección del modo Valores de los temporizadores y contadores en el 8051
    1. Cálculos de retardo para el microcontrolador 8051
    2. Procedimiento de cálculo del calendario de retrasos
    3. Ejemplos de programas:
    4. Contadores en el 8051
    5. Aplicaciones de temporizadores y contadores en el 8051
    6. Contador digital con 8051
    7. Circuito de retardo con el microcontrolador 8051

Los contadores y temporizadores del microcontrolador 8051 contienen dos registros de función especiales: TMOD (Registro de Modo de Temporizador) y TCON (Registro de Control de Temporizador), que se utilizan para activar y configurar los temporizadores y contadores.

Control del Modo Temporizador (TMOD): TMOD es un registro de 8 bits que sirve para seleccionar el temporizador o contador y el modo de temporización. Los 4 bits inferiores se utilizan para controlar el funcionamiento del temporizador 0 o del contador 0, mientras que los 4 bits restantes se utilizan para controlar el funcionamiento del temporizador 1 o del contador 1. Este registro está en el registro SFR, la dirección del registro SFR es 89.

Control del modo temporizador (TMOD)
Control del modo temporizador (TMOD)

Puerta: Si el bit de compuerta se pone a "0", podemos iniciar y detener el temporizador "software" de la misma manera. Si la puerta se pone a "1", entonces podemos ejecutar el temporizador de hardware.

C/T: Si el bit C/T es "1", entonces estás actuando en modo contador, y lo mismo si C+ está activado
=/T es "0", el modo es de temporizador.

Bit de selección de modo: M1 y M0 son bits de selección de modo, utilizados para seleccionar las operaciones del temporizador. Hay cuatro modos de funcionamiento del temporizador.

Modo 0: Este es un modo de 13 bits, lo que significa que la operación del temporizador se completa con 8192 pulsos.

Modo 1: Este es un modo de 16 bits, lo que significa que la operación del temporizador se completa con un máximo de "65535" pulsos de reloj.

Modo 2: Este modo es un modo de carga automática de 8 bits, lo que significa que la operación del temporizador se completa con sólo '256' pulsos de reloj.

Modo 3: Este modo es un modo de temporizador dividido, es decir, cargar los valores en T0 e iniciar automáticamente T1.

Bits de selección de modo
Bits de selección de modo

Selección del modo Valores de los temporizadores y contadores en el 8051

Valores de selección de modo de los temporizadores y contadores
Valores de selección del modo de temporizador y contador

Registro de control del temporizador (TCON): TCON es otro registro utilizado para controlar las operaciones del contador y del temporizador en los microcontroladores. Es un registro de 8 bits en el que los cuatro bits superiores son responsables de los temporizadores y contadores y los bits inferiores son responsables de las interrupciones.

Registro de control del temporizador (TCON)
Registro de control del temporizador (TCON)

TF1: TF1 es el bit de bandera del temporizador1. Al calcular el retardo en el temporizador1, TH1 y TL1 alcanzan automáticamente el valor máximo "FFFF".

EX: mientras (TF1==1)

Si TF1=1, borra el bit de bandera y detiene el temporizador.

TR1: TR1 indica el bit de inicio o de parada del temporizador1. El inicio del temporizador puede tener lugar mediante una instrucción de software o un método de hardware.

EX: puerta=0 (inicio del temporizador 1 por instrucción de software)
TR1=1; (inicio del temporizador)

TF0: TF0 es el bit de bandera del temporizador 0. Al calcular el retardo en el temporizador1, TH0 y TL0 alcanzan automáticamente el valor máximo de "FFFF".

EX: Mientras (TF0==1)
Si TF0=1, borra el bit de bandera y detiene el temporizador.

TR0: TR0 indica el bit de inicio o de parada del 'temporizador0'; el inicio del temporizador puede ser por instrucción de software o por método de hardware.

EX: puerta=0 (inicio del temporizador 1 por instrucción de software)
TR0=1; (inicio del temporizador)

Cálculos de retardo para el microcontrolador 8051

El microcontrolador 8051 funciona a una frecuencia de 11,0592 MHz.

Frecuencia 11,0592MHz=12 pules

1 pulso de reloj =11,0592MHz/12

F =0,921 MHz

Tiempo de retardo=1/F

T=1/0,92MHz

T=1,080506 us (para "1" ciclo)

1000us=1MS

1000ms=1seg

Procedimiento de cálculo del calendario de retrasos

1. Primero tenemos que cargar el valor del registro TMOD para 'Timer0' y 'Timer1' en los diferentes modos. Por ejemplo, si queremos que el temporizador1 funcione en modo1, debe configurarse como 'TMOD=0x10'.

2. Siempre que ejecutamos el temporizador en el modo 1, el temporizador toma el máximo de 65535 pulsos. Los impulsos de retardo calculados deben restarse de los impulsos máximos y luego convertirse en un valor hexadecimal. Este valor debe cargarse en los bits superior e inferior del temporizador1. Este temporizador se programa mediante el lenguaje C incorporado en un microcontrolador.

Ejemplo: retraso de 500us

500us/1,080806us

461 pulsaciones

P=65535-461

P=65074

65074 convertido de hexa decimal =FE32

TH1=0xFE;

TL1=0x32;

3. Inicia el temporizador1 'TR1=1;'

4. Controla el bit de la bandera 'while(TF1==1)'

5. Borra el bit de la bandera "TF1=0"

6. Reinicia el temporizador "TR1=0"

Ejemplos de programas:

Programa 1
Programa 1
Programa 2
Programa- 2
Programa 3
Programa- 3

Contadores en el 8051

Podemos utilizar un contador manteniendo el bit C/T alto, es decir, un "1" lógico en el registro TMOD. Para una mejor comprensión, hemos proporcionado un programa que utiliza el temporizador 1 como contador. En este caso, los LEDs están conectados al puerto 2 del 8051 y el interruptor al pin P3.5 del temporizador1; por tanto, si se pulsa el interruptor, se contará el valor. De lo contrario, contará un sensor conectado externamente al pin del contador como entrada.

Contraprograma
Contraprograma

Aplicaciones de temporizadores y contadores en el 8051

Contador digital con 8051

El contador digital con el 8051 se obtiene programando el microcontrolador como se ha comentado anteriormente y conectándole un sistema de sensores. Este contador de objetos utiliza un sensor de infrarrojos que detecta un obstáculo cercano y también activa el pin 06 del microcontrolador. Cuando un objeto pasa por los sensores, el microcontrolador recibe una señal de interrupción de los sensores de infrarrojos e incrementa el recuento, que se muestra en la pantalla de 7 segmentos.

Contador digital con 8051
Contador digital con 8051

Circuito de retardo con el microcontrolador 8051

La siguiente figura muestra cómo se puede implementar el funcionamiento del temporizador para encender los LEDs de forma eficaz. La operación de retardo de tiempo para el conjunto de LEDs se programa en un microcontrolador de la manera comentada anteriormente. En este caso, un conjunto de LEDs se conecta al puerto 2 con una fuente de alimentación común. Cuando este circuito se enciende según el programa de retardo del microcontrolador, los LEDs se encienden.

Circuito de retardo de tiempo
Circuito de retardo de tiempo

Este artículo trata sobre el temporizador y los contadores del microcontrolador 8051 con circuitos básicos de programación y aplicación. Esperamos que la información de este artículo te haya proporcionado suficientes datos para comprender mejor el concepto. Además, si tienes alguna duda técnica sobre la programación del 8051 y sus circuitos, puedes ponerte en contacto con nosotros comentando a continuación.

Créditos de las fotos:

Si quieres conocer otros artículos parecidos a Temporizadores y contadores en el microcontrolador 8051 y sus aplicaciones puedes visitar la categoría Generalidades.

¡Más Contenido!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir