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
Čí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)
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
Výběr režimu Hodnoty časovačů a čítačů v 8051
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)
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 - 2
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
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
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í
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