Časovače a počítadlá v mikrokontroléri 8051 a jeho aplikáciách

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





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á

Č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)

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

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

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)

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 - 1

Program - 2

Program - 2

Program - 3

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

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

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

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