Časovače a čítače v mikrokontroléru 8051 a jeho aplikacích

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





Mnoho z aplikace mikrokontroléru vyžadují počítání externích událostí, jako je frekvence pulzních sledů a generování přesných interních časových zpoždění mezi akcemi počítače. Oba tyto úkoly lze implementovat softwarovými technikami, ale softwarové smyčky pro počítání a načasování neposkytnou přesný výsledek, spíše se nedělají důležitější funkce. Aby se těmto problémům předešlo, jsou časovače a čítače v mikrokontrolérech lepší volbou pro jednoduché a levné aplikace. Tyto časovače a čítače se používají jako přerušení v mikrokontroléru 8051 .

K dispozici jsou dva 16bitové časovače a čítače 8051 mikrokontrolér : časovač 0 a časovač 1. Oba časovače se skládají ze 16bitového registru, ve kterém je spodní bajt uložen v TL a vyšší bajt je uložen v TH. Časovač lze použít jako čítač i pro časování, které závisí na zdroji hodinových pulzů pro čítače.




Časovače a počitadla

Časovače a počitadla

Čítače a časovače v mikrokontroléru 8051 obsahují dva speciální funkční registry: TMOD (Timer Mode Register) a TCON (Timer Control Register), které se používají k aktivaci a konfiguraci časovače a čítače .



Ovládání režimu časovače (TMOD): TMOD je 8bitový registr používaný k výběru časovače nebo čítače a režimu časovačů. Dolní 4 bity se používají pro řízení provozu časovače 0 nebo čítače0 a zbývající 4 bity se používají pro řízení provozu časovače 1 nebo čítače 1. Tento registr je přítomen v registru SFR, adresa registru SFR je 89.

Ovládání režimu časovače (TMOD)

Ovládání režimu časovače (TMOD)

Brána: Pokud je bit brány nastaven na „0“, můžeme „softwarový“ časovač spustit a zastavit stejným způsobem. Pokud je brána nastavena na „1“, můžeme provést hardwarový časovač.

C / T: Pokud je bit C / T „1“, funguje jako režim čítače a podobně, když je nastaven C +
= / T bit je „0“, funguje jako režim časovače.


Bity pro výběr režimu: M1 a M0 jsou bity pro výběr režimu, které se používají k výběru operací časovače. K dispozici jsou čtyři režimy pro ovládání časovačů.

Režim 0: Toto je 13bitový režim, což znamená, že operace časovače je dokončena pulzy „8192“.

Režim 1: Toto je 16bitový režim, což znamená, že operace časovače je dokončena s maximálními hodinovými pulzy „65535“.

Režim 2: Tento režim je 8bitový režim automatického načítání, což znamená, že operace časovače je dokončena pouze s „256“ hodinovými impulsy.

Režim 3: Tento režim je režim s časovačem, což znamená načítání hodnot v T0 a automatické spuštění T1.

Bity pro výběr režimu

Bity pro výběr režimu

Výběr režimu Hodnoty časovačů a čítačů v 8051

Hodnoty výběru režimu časovačů a čítačů

Hodnoty výběru režimu časovačů a čítačů

Timer Control Register (TCON): TCON je další registr používaný k řízení operací čítače a časovačů v mikrokontrolérech. Jedná se o 8bitový registr, kde čtyři horní bity jsou zodpovědné za časovače a čítače a dolní bity jsou odpovědné za přerušení.

Registr časovače řízení (TCON)

Registr časovače řízení (TCON)

TF1: TF1 znamená příznakový bit „časovač1“. Kdykoli počítáme časové zpoždění v časovači1, TH1 a TL1 dosáhnou automaticky maximální hodnoty, která je „FFFF“.

EX: while (TF1 == 1)

Kdykoli je TF1 = 1, zrušte příznakový bit a zastavte časovač.

TR1: TR1 znamená start / stop bit časovače1. Toto spuštění časovače může být provedeno softwarovou instrukcí nebo hardwarovou metodou.

EX: brána = 0 (startovací časovač 1 prostřednictvím softwarové instrukce)
TR1 = 1 (časovač spuštění)

TF0: TF0 znamená příznakový bit „timer0“. Při každém výpočtu časového zpoždění v časovači 1 TH0 a TL0 dosáhnou automaticky maximální hodnoty, která je „FFFF“.

EX: while (TF0 == 1)
Kdykoli je TF0 = 1, zrušte příznakový bit a zastavte časovač.

TR0: TR0 je zkratka pro bit „časovače0“ pro spuštění nebo zastavení, tento časovač může být spuštěn pomocí softwarové instrukce nebo pomocí hardwarové metody.

EX: brána = 0 (startovací časovač 1 prostřednictvím softwarové instrukce)
TR0 = 1 (časovač spuštění)

Výpočty časového zpoždění pro mikrokontrolér 8051

Mikrokontrolér 8051 pracuje s frekvencí 11,0592 MHz.

Frekvence 11,0592 MHz = 12 pules

1 hodinový pulz = 11,0592 MHz / 12

F = 0,921 MHz

Časové zpoždění = 1 / F

T = 1 / 0,92 MHz

T = 1,080506 us (pro „1“ cyklus)

1000us = 1MS

1000 ms = 1 s

Postup výpočtu programu zpoždění

1. Nejprve musíme načíst hodnotu registru TMOD pro „Timer0“ a „Timer1“ v různých režimech. Například pokud chceme provozovat časovač 1 v režimu 1, musí být nakonfigurován jako „TMOD = 0x10“.

2. Kdykoli pracujeme s časovačem v režimu 1, časovač vezme maximální pulsy 65535. Poté musí být vypočítané impulzy časového zpoždění odečteny od maximálních impulsů a poté převedeny na hexadecimální hodnotu. Tato hodnota musí být načtena do vyšších bitů a nižších bitů časovače 1. Tento časovač je naprogramován pomocí vložený C do mikrokontroléru .

Příklad: časové zpoždění 500us

500us / 1,080806us

461 impulzů

P = 65535-461

P = 65074

65074 konvektováno hexadecimálně = FE32

TH1 = 0xFE

TL1 = 0x32

3. Spusťte časovač1 „TR1 = 1“

4. Monitorujte bit bitu „while (TF1 == 1)“

5. Vymažte příznakový bit „TF1 = 0“

6. Vynulujte časovač „TR1 = 0“

Ukázkové programy:

Program - 1

Program - 1

Program - 2

Program - 2

Program - 3

Program - 3

Počítadla v 8051

Můžeme použít čítač tak, že udržujeme C / T bit vysoko, tj. Logiku „1“ v registru TMOD. Pro lepší pochopení jsme dali jeden program, který používá časovač 1 jako počítadlo. Zde jsou LED diody připojeny k portu 8051 Port 2 a přepínači na pin P1, časovač 1, a proto, pokud je přepínač stisknutý, bude hodnota spočítána. Jinak externě připojený senzor k tomuto pinu čítače jako vstup provede tuto počítací operaci.

Counter Program

Counter Program

Aplikace časovačů a čítačů v 8051

Digitální počítadlo s 8051

Digitální čítač s 8051 je dosažen programováním mikrokontroléru, jak je popsáno výše, a připojením senzorového systému k němu. Tento čítač objektů používá infračervený senzor, který detekuje překážku poblíž ní a také umožňuje kolík mikrokontroléru 06. Když objekt projde senzory, pak mikrokontrolér získá signál přerušení z infračervených senzorů a zvýší počet, který se zobrazí na 7segmentovém displeji.

Digitální počítadlo s 8051

Digitální počítadlo s 8051

Obvod zpoždění pomocí mikrokontroléru 8051

Níže uvedený obrázek ukazuje, jak lze efektivně realizovat provoz časovače pro účinné spínání LED. Provoz s časovým zpožděním pro sadu LED je naprogramován v mikrokontroléru výše popsaným způsobem. Zde je k portu 2 připojena sada LED se společným napájecím systémem. Když je tento obvod zapnutý na základě časového zpoždění program v mikrokontroléru tyto LED jsou příslušně zapnuty.

Obvod časového zpoždění

Obvod časového zpoždění

Jedná se o časovač a čítače mikrokontroléru 8051 se základními programovacími a aplikačními obvody. Doufáme, že vám informace z tohoto článku mohly poskytnout dostatek dat, abyste lépe porozuměli konceptu. Jakékoli technické pochybnosti o programování 8051 a jeho obvodech nás můžete kontaktovat níže uvedeným komentářem.

Fotografické kredity:

  • Digitální čítač s 8051 čísly obvod dnes
  • Obvod časového zpoždění o vshamu