Mnoho z aplikácie mikrokontrolérov vyžadujú počítanie externých udalostí, ako je napríklad frekvencia sledov impulzov, a generovanie presných interných časových oneskorení medzi činnosťami počítača. Obe tieto úlohy je možné implementovať softvérovými technikami, ale softvérové slučky na počítanie a načasovanie neprinesú presný výsledok, takže sa nerobia dôležitejšie funkcie. Aby sa zabránilo týmto problémom, sú časovače a počítadlá v mikrokontroléroch lepšou voľbou pre jednoduché a lacné aplikácie. Tieto časovače a počítadlá sa používajú ako preruší mikrokontrolér 8051 .
K dispozícii sú dva 16-bitové časovače a počítadlá Mikrokontrolér 8051 : časovač 0 a časovač 1. Oba časovače pozostávajú zo 16-bitového registra, v ktorom je spodný bajt uložený v TL a vyšší bajt je uložený v TH. Časovač je možné použiť ako počítadlo aj na časovanie, ktoré závisí od zdroja hodinových impulzov k počítadlám.
Časovače a počítadlá
Počítadlá a časovače v mikrokontroléri 8051 obsahujú dva špeciálne funkčné registre: TMOD (Register Timer Mode Register) a TCON (Timer Control Register), ktoré sa používajú na aktiváciu a konfiguráciu časovače a počítadlá .
Ovládanie časovača (TMOD): TMOD je 8-bitový register používaný na výber časovača alebo počítadla a režimu časovačov. Dolné 4 bity sa používajú na riadenie prevádzky časovača 0 alebo počítadla0 a zvyšné 4 bity sa používajú na riadenie prevádzky časovača 1 alebo počítadla 1. Tento register sa nachádza v registri SFR, adresa registra SFR je 89..
Ovládanie pomocou časovača (TMOD)
Brána: Ak je bit brány nastavený na „0“, môžeme „softvérový“ časovač spustiť a zastaviť rovnakým spôsobom. Ak je brána nastavená na „1“, môžeme vykonať hardvérový časovač.
C / T: Ak je bit C / T ‘1’, potom funguje ako režim počítadla a podobne, keď je nastavený C +
= / T bit je „0“, funguje ako režim časovača.
Bity pre výber režimu: M1 a M0 sú bity pre výber režimu, ktoré sa používajú na výber činností časovača. Časovače sú ovládané štyrmi režimami.
Režim 0: Toto je 13-bitový režim, čo znamená, že prevádzka časovača je ukončená impulzmi „8192“.
Režim 1: Toto je 16-bitový režim, čo znamená, že prevádzka časovača je dokončená s maximálnymi hodinovými impulzmi „65535“.
Režim 2: Tento režim je 8-bitový režim automatického načítania, čo znamená, že činnosť časovača je dokončená iba s „256“ hodinovými impulzmi.
Režim 3: Tento režim je režim s deleným časovačom, čo znamená načítané hodnoty v T0 a automaticky spustí T1.
Bity pre výber režimu
Výber režimu Hodnoty časovačov a počítadla v roku 8051
Hodnoty výberu režimu časovačov a počítadiel
Register časovača riadenia (TCON): TCON je ďalší register používaný na riadenie činností počítadla a časovačov v mikrokontroléroch. Jedná sa o 8-bitový register, v ktorom štyri horné bity zodpovedajú za časovače a počítadlá a dolné bity zodpovedajú za prerušenia.
Register časovača (TCON)
TF1: TF1 znamená príznakový bit „časovač1“. Pri každom výpočte časového oneskorenia v časovači1 dosiahnu TH1 a TL1 automaticky maximálnu hodnotu, ktorá je „FFFF“.
EX: while (TF1 == 1)
Kedykoľvek je TF1 = 1, potom vyčistite príznakový bit a zastavte časovač.
TR1: Skratka TR1 predstavuje bit spustenia alebo zastavenia časovača1. Toto spustenie časovača sa môže uskutočniť pomocou softvérových pokynov alebo pomocou hardvérovej metódy.
EX: brána = 0 (štartovací časovač 1 prostredníctvom softvérovej inštrukcie)
TR1 = 1 (časovač spustenia)
TF0: TF0 znamená príznakový bit „timer0“. Pri každom výpočte časového oneskorenia v časovači1 dosiahnu TH0 a TL0 automaticky maximálnu hodnotu, ktorá je ‘FFFF’.
EX: while (TF0 == 1)
Kedykoľvek je TF0 = 1, potom vyčistite príznakový bit a zastavte časovač.
TR0: Skratka TR0 predstavuje bit „časovača0“ na spustenie alebo zastavenie, tento časovač sa môže spustiť pomocou softvérového pokynu alebo hardvérovej metódy.
EX: brána = 0 (štartovací časovač 1 prostredníctvom softvérovej inštrukcie)
TR0 = 1 (časovač spustenia)
Výpočty oneskorenia pre mikrokontrolér 8051
Mikrokontrolér 8051 pracuje s frekvenciou 11,0592 MHz.
Frekvencia 11,0592 MHz = 12 platní
1 hodinový impulz = 11,0592 MHz / 12
F = 0,921 MHz
Časové oneskorenie = 1 / F
T = 1 / 0,92 MHz
T = 1,080506 us (pre „1“ cyklus)
1 000 us = 1MS
1 000 ms = 1 s
Postup výpočtu programu oneskorenia
1. Najprv musíme načítať hodnotu registra TMOD pre režimy „Timer0“ a „Timer1“ v rôznych režimoch. Napríklad, ak chceme prevádzkovať časovač 1 v režime 1, musí byť nakonfigurovaný ako „TMOD = 0x10“.
2. Kedykoľvek pracujeme s časovačom v režime 1, časovač vezme maximálny počet impulzov 65535. Potom sa musia vypočítané impulzy časového oneskorenia odpočítať od maximálnych impulzov a potom prepočítať na hexadecimálnu hodnotu. Táto hodnota sa musí načítať do vyšších bitov a nižších bitov časovača1. Táto činnosť časovača sa programuje pomocou zabudovaný v mikrokontroléri .
Príklad: časové oneskorenie 500us
500us / 1,080806us
461 impulzov
P = 65535-461
P = 65074
65074 konvertovaných pomocou hexadecimálneho čísla = FE32
TH1 = 0xFE
TL1 = 0x32
3. Spustite časovač1 „TR1 = 1“
4. Monitorujte príznakový bit „while (TF1 == 1)“
5. Vymažte príznakový bit „TF1 = 0“.
6. Vynulujte časovač „TR1 = 0“
Príklady programov:
Program - 1
Program - 2
Program - 3
Počítadlá v roku 8051
Počítadlo môžeme použiť tak, že udržíme C / T bit vysoko, tj. Logiku „1“ v registri TMOD. Pre lepšie pochopenie sme uviedli jeden program, ktorý používa časovač 1 ako počítadlo. Tu sú LED pripojené k portu 8051 Port 2 a prepínaču na pin P1, časovač1, a preto, ak je prepínač stlačený, bude hodnota spočítaná. V opačnom prípade externe pripojený snímač k tomuto kolíku počítadla ako vstup robí túto počítaciu operáciu.
Counter Program
Aplikácie časovačov a počítadiel v 8051
Digitálne počítadlo s 8051
Digitálne počítadlo s 8051 sa dosahuje programovaním mikrokontroléra, ako je uvedené vyššie, a pripojením snímacieho systému k nemu. Toto počítadlo objektov využíva infračervený senzor, ktorý detekuje prekážku v jej blízkosti a tiež umožňuje kolík mikrokontroléra 06. Keď objekt prechádza senzormi, potom mikrokontrolér dostane signál prerušenia z IR senzorov a zvýši počet, ktorý sa zobrazí na 7-segmentovom displeji.
Digitálne počítadlo s 8051
Obvod oneskorenia pomocou mikrokontroléra 8051
Nasledujúci obrázok ukazuje, ako je možné implementovať činnosť časovača na efektívne prepínanie LED diód. Prevádzka časového oneskorenia pre skupinu LED je programovaná v mikrokontroléri vyššie opísaným spôsobom. Tu je skupina LED pripojená k portu 2 so spoločným napájacím systémom. Keď je tento obvod zapnutý na základe časového oneskorenia program v mikrokontroléri zodpovedajúcim spôsobom sú tieto LED zapnuté.
Obvod časového oneskorenia
Toto je všetko o časovači a počítadlách mikrokontroléra 8051 so základnými programovacími a aplikačnými obvodmi. Dúfame, že informácie v tomto článku vám mohli poskytnúť dostatok údajov na lepšie pochopenie koncepcie. Ďalej máte akékoľvek technické pochybnosti o programovaní 8051 a jeho obvodoch, môžete nás kontaktovať komentárom nižšie.
Fotografické úvery:
- Digitálne počítadlo s 8051 číslicami obvod dnes
- Obvod časového oneskorenia o vshamu