Temporizadores e contadores no microcontrolador 8051 e seus aplicativos

Experimente Nosso Instrumento Para Eliminar Problemas





Muitos dos aplicativos de microcontroladores exigem a contagem de eventos externos, como frequência dos trens de pulso e geração de atrasos de tempo internos precisos entre as ações do computador. Ambas as tarefas podem ser implementadas por técnicas de software, mas os loops de software para contagem e o tempo não darão o resultado exato, em vez de funções mais importantes não serem realizadas. Para evitar esses problemas, os temporizadores e contadores nos microcontroladores são as melhores opções para aplicações simples e de baixo custo. Esses temporizadores e contadores são usados ​​como interrupções no microcontrolador 8051 .

Existem dois temporizadores e contadores de 16 bits em Microcontrolador 8051 : temporizador 0 e temporizador 1. Ambos os temporizadores consistem em um registro de 16 bits no qual o byte inferior é armazenado em TL e o byte superior é armazenado em TH. O temporizador pode ser usado como um contador, bem como para a operação de temporização que depende da origem dos pulsos do relógio para os contadores.




Cronômetros e contadores

Cronômetros e contadores

Contadores e temporizadores no microcontrolador 8051 contêm dois registros de função especial: TMOD (Registro de modo de temporizador) e TCON (Registro de controle de temporizador), que são usados ​​para ativar e configurar cronômetros e contadores .



Controle do modo temporizador (TMOD): TMOD é um registrador de 8 bits usado para selecionar o temporizador ou contador e o modo dos temporizadores. 4 bits inferiores são usados ​​para operação de controle do temporizador 0 ou contador 0, e os 4 bits restantes são usados ​​para operação de controle do temporizador 1 ou contador 1. Este registro está presente no registro SFR, o endereço para o registro SFR é 89º.

Controle do modo temporizador (TMOD)

Controle do modo temporizador (TMOD)

Portão: Se o bit de gate for definido como '0', podemos iniciar e parar o temporizador de 'software' da mesma maneira. Se a porta estiver definida como '1', podemos executar o temporizador de hardware.

C / T: Se o bit C / T for ‘1’, então ele está atuando como um modo de contador, e da mesma forma quando definido C +
= / T bit é '0' e está agindo como um modo de temporizador.


Bits de seleção de modo: M1 e ​​M0 são bits de seleção de modo, usados ​​para selecionar as operações do temporizador. Existem quatro modos de operar os temporizadores.

Modo 0: Este é um modo de 13 bits que significa que a operação do temporizador é concluída com pulsos “8192”.

Modo 1: Este é um modo de 16 bits, o que significa que a operação do temporizador é concluída com pulsos de clock máximos de “65535”.

Modo 2: Este modo é um modo de recarga automática de 8 bits, o que significa que a operação do temporizador é concluída com apenas “256” pulsos de clock.

Modo 3: Este modo é um modo de temporizador dividido, o que significa que os valores de carregamento em T0 e inicia automaticamente o T1.

Bits de seleção de modo

Bits de seleção de modo

Valores de seleção de modo de temporizadores e contador em 8051

Valores de seleção de modo de temporizadores e contadores

Valores de seleção de modo de temporizadores e contadores

Registro de controle de temporizador (TCON): TCON é outro registro usado para controlar operações de contador e temporizadores em microcontroladores. É um registrador de 8 bits em que quatro bits superiores são responsáveis ​​por temporizadores e contadores e bits inferiores são responsáveis ​​por interrupções.

Registro de controle de cronômetro (TCON)

Registro de controle de cronômetro (TCON)

TF1: O TF1 significa bit de sinalização ‘timer1’. Sempre que calcular o retardo de tempo no temporizador1, o TH1 e TL1 atingem o valor máximo que é “FFFF” automaticamente.

EX: enquanto (TF1 == 1)

Sempre que TF1 = 1, limpe o bit de sinalização e pare o cronômetro.

TR1: O TR1 significa bit de início ou parada do temporizador1. Este início do cronômetro pode ser por meio de instruções de software ou por método de hardware.

EX: portão = 0 (iniciar temporizador 1 por meio de instrução de software)
TR1 = 1 (iniciar cronômetro)

TF0: O TF0 significa 'timer0' flag-bit. Sempre que calcular o atraso de tempo no temporizador1, o TH0 e TL0 atingem um valor máximo que é ‘FFFF’, automaticamente.

EX: enquanto (TF0 == 1)
Sempre que TF0 = 1, limpe o bit de sinalização e pare o cronômetro.

TR0: O TR0 significa 'timer0' iniciar ou parar o bit, este temporizador pode ser iniciado por meio de instrução de software ou método de hardware.

EX: portão = 0 (iniciar temporizador 1 por meio de instrução de software)
TR0 = 1 (iniciar cronômetro)

Cálculos de atraso de tempo para o microcontrolador 8051

O microcontrolador 8051 funciona com frequência de 11,0592 MHz.

Frequência 11,0592 MHz = 12 pules

1 pulso de relógio = 11,0592 MHz / 12

F = 0,921 MHz

Atraso de tempo = 1 / F

T = 1 / 0,92 MHz

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

1000us = 1MS

1000ms = 1seg

Procedimento para calcular o programa de atraso

1. Primeiro, temos que carregar o valor do registro TMOD para ‘Timer0’ e ‘Timer1’ em modos diferentes. Por exemplo, se quisermos operar o timer1 no modo1, ele deve ser configurado como “TMOD = 0x10”.

2. Sempre que operamos o temporizador no modo 1, o temporizador leva os pulsos máximos de 65535. Em seguida, os pulsos de atraso de tempo calculados devem ser subtraídos dos pulsos máximos e depois convertidos para o valor hexadecimal. Este valor deve ser carregado no bit superior e nos bits inferiores do timer1. Esta operação do temporizador é programada usando C incorporado em um microcontrolador .

Exemplo: atraso de 500us

500us / 1.080806us

461 pulsos

P = 65535-461

P = 65074

65074 convetado por hexa decimal = FE32

TH1 = 0xFE

TL1 = 0x32

3. Inicie o cronômetro1 “TR1 = 1”

4. Monitore o bit de sinalização “enquanto (TF1 == 1)”

5. Limpe o bit de sinalizador “TF1 = 0”

6. Prenda o cronômetro “TR1 = 0”

Programas de exemplo:

Programa- 1

Programa- 1

Programa- 2

Programa- 2

Programa- 3

Programa- 3

Contadores em 8051

Podemos usar um contador mantendo o bit C / T alto, ou seja, a lógica '1' no registro TMOD. Para melhor compreensão, fornecemos um programa que usa o temporizador 1 como contador. Aqui os LEDs são conectados à porta 2 do 8051 e a chave ao pino P3.5 do temporizador1 e, portanto, se a chave for pressionada, o valor será contado. Caso contrário, um sensor conectado externamente a este pino do contador como entrada realiza esta operação de contagem.

Programa de Contador

Programa de Contador

Aplicações de temporizadores e contadores em 8051

Contador Digital com 8051

O contador digital com 8051 é obtido programando o microcontrolador conforme discutido acima e anexando um sistema de sensor a ele. Este contador de objetos usa sensor IR que detecta o obstáculo próximo a ele e também habilita o pino do microcontrolador 06. Quando um objeto passa pelos sensores, o microcontrolador obtém um sinal de interrupção dos sensores IR e incrementa a contagem que é exibida no display de 7 segmentos.

Contador Digital com 8051

Contador Digital com 8051

Circuito de retardo de tempo usando o microcontrolador 8051

A figura abaixo mostra como a operação do temporizador pode ser implementada para alternar os LEDs de maneira eficaz. A operação de retardo para o conjunto de LEDs é programada em um microcontrolador da maneira discutida acima. Aqui, um conjunto de LEDs é conectado à porta 2 com um sistema de alimentação comum. Quando este circuito é ligado com base no atraso de tempo programa no microcontrolador apropriadamente, esses LEDs estão ligados.

Circuito de atraso de tempo

Circuito de atraso de tempo

Isso é tudo sobre o temporizador do microcontrolador 8051 e contadores com programação básica e circuitos de aplicação. Esperamos que as informações deste artigo possam ter fornecido dados suficientes para compreender melhor o conceito. Além disso, qualquer dúvida técnica sobre a programação do 8051 e seus circuitos, você pode entrar em contato conosco comentando abaixo.

Créditos fotográficos: