Temporizadores y contadores en el microcontrolador 8051 y sus aplicaciones

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





Mucho de aplicaciones de microcontroladores requieren el recuento de eventos externos como la frecuencia de los trenes de pulsos y la generación de retrasos de tiempo internos precisos entre las acciones de la computadora. Ambas tareas se pueden implementar mediante técnicas de software, pero los bucles de software para contar y cronometrar no darán el resultado exacto, sino que no se realizan funciones más importantes. Para evitar estos problemas, los temporizadores y contadores en los microcontroladores son mejores opciones para aplicaciones simples y de bajo costo. Estos temporizadores y contadores se utilizan como interrupciones en el microcontrolador 8051 .

Hay dos temporizadores y contadores de 16 bits en Microcontrolador 8051 : temporizador 0 y temporizador 1. Ambos temporizadores constan de un registro de 16 bits en el que el byte inferior se almacena en TL y el byte superior se almacena en TH. El temporizador se puede utilizar como contador y también para cronometrar la operación que depende de la fuente de los pulsos del reloj a los contadores.




Temporizadores y contadores

Temporizadores y contadores

Los contadores y temporizadores del microcontrolador 8051 contienen dos registros de funciones especiales: TMOD (registro de modo de temporizador) y TCON (registro de control de temporizador), que se utilizan para activar y configurar temporizadores y contadores .



Control de modo de temporizador (TMOD): TMOD es un registro de 8 bits que se utiliza para seleccionar temporizador o contador y modo de temporizadores. Los 4 bits inferiores se usan para controlar la operación del temporizador 0 o el contador 0, y los 4 bits restantes se usan para controlar la operación del temporizador 1 o el contador 1. Este registro está presente en el registro SFR, la dirección para el registro SFR es 89th.

Control de modo de temporizador (TMOD)

Control de modo de temporizador (TMOD)

Puerta: Si el bit de la puerta se establece en '0', entonces podemos iniciar y detener el temporizador de 'software' de la misma manera. Si la puerta se establece en '1', entonces podemos ejecutar el temporizador de hardware.

CONNECTICUT: Si el bit C / T es '1', entonces actúa como un modo de contador, y de manera similar cuando se establece C +
= / T bit es '0', actúa como un modo de temporizador.


Bits de selección de modo: M1 y M0 son bits de selección de modo, que se utilizan para seleccionar las operaciones del temporizador. Hay cuatro modos de operar los temporizadores.

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

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

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

Modo 3: Este modo es un modo de temporizador dividido, lo que significa los valores de carga en T0 e inicia automáticamente el T1.

Bits de selección de modo

Bits de selección de modo

Selección de modo Valores de temporizadores y contador en 8051

Valores de selección de modo de temporizadores y contadores

Valores de selección de modo de temporizadores y contadores

Registro de control de temporizador (TCON): TCON es otro registro que se utiliza para controlar las operaciones de los contadores y temporizadores en microcontroladores. Es un registro de 8 bits en el que 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: El TF1 significa bit de bandera 'timer1'. Siempre que se calcula el retardo de tiempo en el temporizador1, TH1 y TL1 alcanzan el valor máximo que es 'FFFF' automáticamente.

EJ: mientras (TF1 == 1)

Siempre que TF1 = 1, borre el bit de bandera y detenga el temporizador.

TR1: El TR1 significa bit de inicio o parada del temporizador1. Este inicio del temporizador puede realizarse mediante instrucciones de software o mediante el método de hardware.

EJ .: puerta = 0 (iniciar el temporizador 1 mediante la instrucción del software)
TR1 = 1 (Iniciar temporizador)

TF0: TF0 significa bit de bandera 'timer0'. Siempre que se calcula el retardo de tiempo en el temporizador1, TH0 y TL0 alcanzan un valor máximo que es 'FFFF', automáticamente.

EJ .: mientras (TF0 == 1)
Siempre que TF0 = 1, borre el bit de bandera y detenga el temporizador.

TR0: El TR0 significa bit de inicio o parada 'timer0', este inicio del temporizador puede ser a través de instrucciones de software o mediante el método de hardware.

EJ .: puerta = 0 (iniciar el temporizador 1 mediante la instrucción del software)
TR0 = 1 (Iniciar temporizador)

Cálculos de retardo de tiempo para el microcontrolador 8051

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

Frecuencia 11.0592MHz = 12 pules

1 pulso de reloj = 11.0592MHz / 12

F = 0,921 MHz

Retraso de tiempo = 1 / F

T = 1 / 0,92 MHz

T = 1.080506 us (para '1' ciclo)

1000us = 1MS

1000 ms = 1 segundo

Procedimiento para calcular el programa de retraso

1. Primero tenemos que cargar el valor del registro TMOD para 'Timer0' y 'Timer1' en diferentes modos. Por ejemplo, si queremos operar el timer1 en modo1 debe estar configurado como “TMOD = 0x10”.

2. Siempre que operamos el temporizador en el modo 1, el temporizador toma los pulsos máximos de 65535. Luego, los pulsos de retardo de tiempo calculados deben restarse de los pulsos máximos y luego convertirse a valor hexadecimal. Este valor debe cargarse en el bit superior y en los bits inferiores del timer1. Esta operación del temporizador se programa usando C integrado en un microcontrolador .

Ejemplo: retraso de tiempo de 500us

500us / 1.080806us

461 pulsos

P = 65535-461

P = 65074

65074 expresado por decimal hexadecimal = FE32

TH1 = 0xFE

TL1 = 0x32

3. Inicie el temporizador1 'TR1 = 1'

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

5. Borre el bit de bandera 'TF1 = 0'

6. Clave el temporizador 'TR1 = 0'

Programas de ejemplo:

Programa- 1

Programa- 1

Programa- 2

Programa- 2

Programa- 3

Programa- 3

Contadores en 8051

Podemos usar 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. Aquí los LED se conectan al puerto 2 del 8051 y el interruptor al pin P3.5 del timer1 y, por lo tanto, si se presiona el interruptor, se contará el valor. De lo contrario, un sensor conectado externamente a este pin contador como entrada realiza esta operación de conteo.

Programa de contador

Programa de contador

Aplicaciones de temporizadores y contadores en 8051

Contador digital con 8051

El contador digital con 8051 se logra programando el microcontrolador como se discutió anteriormente y adjuntando un sistema de sensor. Este contador de objetos utiliza un sensor de infrarrojos que detecta el obstáculo cercano y también permite pin del microcontrolador 06. Cuando un objeto pasa a través de los sensores, el microcontrolador recibe una señal de interrupción de los sensores de infrarrojos e incrementa la cuenta que se muestra en la pantalla de 7 segmentos.

Contador digital con 8051

Contador digital con 8051

Circuito de retardo de tiempo con microcontrolador 8051

La siguiente figura muestra cómo se puede implementar la operación del temporizador para cambiar los LED de manera efectiva. La operación de retardo de tiempo para el conjunto de LED se programa en un microcontrolador de la manera descrita anteriormente. Aquí, un conjunto de LED se conecta al puerto 2 con un sistema de suministro común. Cuando este circuito se enciende según el retardo de tiempo programa en el microcontrolador adecuadamente, estos LED se encienden.

Circuito de retardo de tiempo

Circuito de retardo de tiempo

Se trata del temporizador y contadores del microcontrolador 8051 con programación básica y circuitos de aplicación. Esperamos que la información de este artículo le haya proporcionado datos suficientes para comprender mejor el concepto. Además, cualquier duda técnica sobre la programación del 8051 y sus circuitos, puede contactarnos comentando a continuación.

Créditos fotográficos: