Taimeri un skaitītāji 8051 mikrokontrollerī un tā lietojumprogrammās

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Daudzi no mikrokontrolleru lietojumprogrammas pieprasīt ārēju notikumu, piemēram, impulsu vilcienu biežuma, skaitīšanu un precīzu iekšējo laika kavējumu ģenerēšanu starp datora darbībām. Abus šos uzdevumus var īstenot ar programmatūras paņēmieniem, taču programmatūras cilpas skaitīšanai un laika noteikšanai nedos precīzu rezultātu, bet svarīgākas funkcijas netiek veiktas. Lai izvairītos no šīm problēmām, mikrokontrolleru taimeri un skaitītāji ir labākas iespējas vienkāršām un lētām lietojumprogrammām. Šie taimeri un skaitītāji tiek izmantoti kā pārtrauc 8051 mikrokontrolleru .

Ir divi 16 bitu taimeri un skaitītāji 8051 mikrokontrolleris : taimeris 0 un taimeris 1. Abi taimeri sastāv no 16 bitu reģistra, kurā zemākais baits ir saglabāts TL, bet augstākais baits - TH. Taimeri var izmantot gan kā skaitītāju, gan arī uz laiku, kas atkarīgs no pulksteņa impulsu avota skaitītājiem.




Taimeri un skaitītāji

Taimeri un skaitītāji

Skaitītāji un taimeri 8051 mikrokontrollerī satur divus īpašus funkciju reģistrus: TMOD (taimera režīma reģistrs) un TCON (taimera vadības reģistrs), kurus izmanto aktivizēšanai un konfigurēšanai taimeri un skaitītāji .



Taimera režīma vadība (TMOD): TMOD ir 8 bitu reģistrs, ko izmanto taimera vai skaitītāja un taimeru režīma izvēlei. Zemākos 4 bitus izmanto taimera 0 vai skaitītāja0 vadības darbībai, bet atlikušos 4 bitus izmanto taimera1 vai skaitītāja1 vadības darbībai. Šis reģistrs atrodas SFR reģistrā, SFR reģistra adrese ir 89. vieta.

Taimera režīma vadība (TMOD)

Taimera režīma vadība (TMOD)

Vārti: Ja vārtu bits ir iestatīts uz “0”, mēs tāpat varam iedarbināt un apturēt “programmatūras” taimeri. Ja vārti ir iestatīti uz “1”, mēs varam veikt aparatūras taimeri.

C / T: Ja C / T bits ir ‘1’, tad tas darbojas kā skaitītāja režīms un līdzīgi, kad iestatīts C +
= / T bits ir “0”, tas darbojas kā taimera režīms.


Režīmu biti: M1 un M0 ir režīma atlases biti, kurus izmanto taimera darbību izvēlei. Taimeru darbināšanai ir četri režīmi.

0 režīms: Šis ir 13 bitu režīms, kas nozīmē, ka taimera darbība tiek pabeigta ar “8192” impulsiem.

1. režīms: Tas ir 16 bitu režīms, kas nozīmē, ka taimera darbība tiek pabeigta ar maksimālajiem pulksteņa impulsiem, kas ir “65535”.

2. režīms: Šis režīms ir 8 bitu automātiskās pārlādēšanas režīms, kas nozīmē, ka taimera darbība tiek pabeigta tikai ar “256” pulksteņa impulsiem.

3. režīms: Šis režīms ir dalītā taimera režīms, kas nozīmē ielādes vērtības T0 un automātiski sāk T1.

Režīmu izvēles biti

Režīmu izvēles biti

Režīmu izvēle Taimeru un skaitītāja vērtības 8051. gadā

Taimeru un skaitītāju režīma izvēles vērtības

Taimeru un skaitītāju režīma izvēles vērtības

Taimera vadības reģistrs (TCON): TCON ir vēl viens reģistrs, ko izmanto, lai kontrolētu skaitītāja un taimeru darbības mikrokontrolleros. Tas ir 8 bitu reģistrs, kurā četri augšējie biti ir atbildīgi par taimeri un skaitītāji, bet apakšējie biti - par pārtraukumiem.

Taimera vadības reģistrs (TCON)

Taimera vadības reģistrs (TCON)

TF1: TF1 apzīmē karodziņu ‘taimeris1’. Aprēķinot taimera1 kavēšanos, TH1 un TL1 automātiski sasniedz maksimālo vērtību, kas ir “FFFF”.

EX: kamēr (TF1 == 1)

Ikreiz, kad TF1 = 1, pēc tam notīriet karodziņu un apturiet taimeri.

TR1: TR1 nozīmē taimera1 sākuma vai apstāšanās bitu. Taimera palaišana var notikt, izmantojot programmatūras instrukcijas vai aparatūras metodi.

EX: vārti = 0 (sākuma taimeris 1, izmantojot programmatūras instrukcijas)
TR1 = 1 (sākuma taimeris)

TF0: TF0 apzīmē karodziņu ‘timer0’. Aprēķinot taimera laika kavēšanos1, TH0 un TL0 automātiski sasniedz maksimālo vērtību, kas ir “FFFF”.

EX: kamēr (TF0 == 1)
Ikreiz, kad TF0 = 1, pēc tam notīriet karodziņu un apturiet taimeri.

TR0: TR0 nozīmē ‘taimeris0’ sākuma vai apstāšanās bitu, šo taimera startēšanu var veikt, izmantojot programmatūras instrukcijas vai aparatūras metodi.

EX: vārti = 0 (sākuma taimeris 1, izmantojot programmatūras instrukcijas)
TR0 = 1 (sākuma taimeris)

Laika aizkaves aprēķini 8051 mikrokontrollerim

8051 mikrokontrolleris darbojas ar 11,0592 MHz frekvenci.

Frekvence 11,0592MHz = 12 pules

1 pulksteņa impulss = 11,0592MHz / 12

F = 0,921 MHz

Laika aizkave = 1 / F

T = 1 / 0,92MHz

T = 1,080506 us (ciklam “1”)

1000us = 1MS

1000 ms = 1 sek

Kavēšanās programmas aprēķināšanas procedūra

1. Vispirms mums ir jāielādē TMOD reģistra vērtība ‘Timer0’ un ‘Timer1’ dažādos režīmos. Piemēram, ja mēs vēlamies darbināt taimeri1 režīmā 1, tam jābūt konfigurētam kā “TMOD = 0x10”.

2. Ikreiz, kad taimeri darbinām 1. režīmā, taimeris ņem maksimālos impulsus 65535. Pēc tam aprēķinātie laika aiztures impulsi jāatskaita no maksimālajiem impulsiem un pēc tam jāpārvērš heksadecimālajā vērtībā. Šī vērtība ir jāielādē taimera1 lielākos un zemākos bitos. Šī taimera darbība ir ieprogrammēta, izmantojot iegulto C mikrokontrollerī .

Piemērs: 500us laika aizkave

500us / 1,080806us

461pulss

P = 65535-461

P = 65074

65074, kas izveidots ar heksas decimāldaļu = FE32

TH1 = 0xFE

TL1 = 0x32

3. Sāciet taimeri1 “TR1 = 1”

4. Uzraugiet karodziņu “kamēr (TF1 == 1)”

5. Notīriet karodziņu “TF1 = 0”

6. Nospiediet taimeri “TR1 = 0”

Programmu piemēri:

Programma- 1

Programma- 1

Programma- 2

Programma- 2

Programma- 3

Programma- 3

Skaitītāji 8051. gadā

Mēs varam izmantot skaitītāju, turot C / T bitu augstu, t.i., loģiku ‘1’ TMOD reģistrā. Lai labāk izprastu, mēs esam devuši vienu programmu, kurā kā skaitītājs tiek izmantots taimeris 1. Šeit gaismas diodes ir savienotas ar 8051 2. portu un slēdzi uz taimera1 kontaktu P3.5 un tāpēc, ja slēdzis tiek nospiests, vērtība tiks skaitīta. Pretējā gadījumā šo skaitīšanas darbību veic ārēji savienots sensors ar šo skaitītāja tapu.

Skaitītāja programma

Skaitītāja programma

Taimeru un skaitītāju pieteikumi 8051. gadā

Digitālais skaitītājs ar 8051

Digitālais skaitītājs ar 8051 tiek sasniegts, ieprogrammējot mikrokontrolleru, kā aprakstīts iepriekš, un tam pievienojot sensoru sistēmu. Šajā objektu skaitītājā tiek izmantots infrasarkanais sensors, kas uztver tuvumā esošo šķērsli un arī ļauj mikrokontrollera tapa 06. Kad kāds objekts iziet cauri sensoriem, mikrokontrolleris saņem pārtraukuma signālu no IR sensoriem un palielina skaitli, kas tiek parādīts 7 segmentu displejā.

Digitālais skaitītājs ar 8051

Digitālais skaitītājs ar 8051

Laika aizkaves ķēde, izmantojot mikrokontrolleru 8051

Zemāk redzamajā attēlā parādīts, kā taimera darbību var efektīvi pārslēgt gaismas diodēm. Gaismas diožu komplekta laika aiztures darbība tiek ieprogrammēta mikrokontrollerā, kā aprakstīts iepriekš. Šeit gaismas diožu komplekts ir savienots ar 2. pieslēgvietu ar kopēju barošanas sistēmu. Kad šī shēma ir ieslēgta, pamatojoties uz laika aizturi programma mikrokontrollerī pareizi šie LED ir ieslēgti.

Laika aizkaves ķēde

Laika aizkaves ķēde

Tas viss ir par mikrokontrollera taimeri 8051 un skaitītājiem ar pamata programmēšanas un lietojuma ķēdēm. Mēs ceram, ka šī raksta informācija, iespējams, ir devusi jums pietiekami daudz datu, lai labāk izprastu šo jēdzienu. Turklāt, ja rodas tehniskas šaubas par 8051 un tā shēmu programmēšanu, varat sazināties ar mums, komentējot tālāk.

Foto kredīti: