Tajmeri i brojači u mikrokontroleru 8051 i njegove primjene

Isprobajte Naš Instrument Za Uklanjanje Problema





Mnogi od primjene mikrokontrolera zahtijevaju brojanje vanjskih događaja kao što su frekvencija impulsnih vlakova i generiranje preciznih internih kašnjenja između radnji računala. Oba se zadatka mogu implementirati softverskim tehnikama, ali softverske petlje za brojanje i vremensko određivanje neće dati točan rezultat, nego se važnije funkcije ne rade. Da bi se izbjegli ovi problemi, mjerači vremena i brojači u mikrokontrolerima su bolja opcija za jednostavne i jeftine programe. Ovi mjerači vremena i brojači koriste se kao prekida u 8051 mikrokontroleru .

Postoje dva 16-bitna odbrojavanja i brojači 8051 mikrokontroler : timer 0 i timer 1. Oba se tajmera sastoje od 16-bitnog registra u kojem je donji bajt pohranjen u TL, a viši bajt pohranjen u TH. Odbrojavanje se može koristiti kao brojač, kao i za mjerenje vremena koje ovisi o izvoru impulsa takta na brojačima.




Tajmeri i brojači

Tajmeri i brojači

Brojači i mjerači vremena u mikrokontroleru 8051 sadrže dva posebna registra funkcija: TMOD (Timer Mode Register) i TCON (Timer Control Register), koji se koriste za aktiviranje i konfiguriranje mjerači vremena i brojači .



Kontrola načina odbrojavanja (TMOD): TMOD je 8-bitni registar koji se koristi za odabir odbrojavanja ili brojača i načina odbrojavanja. Donji 4-bitovi koriste se za nadzor rada timera 0 ili brojača0, a preostali 4-bita koriste se za upravljanje radom tajmera1 ili brojača1.Ovaj je registar prisutan u SFR registru, adresa za SFR registar je 89. mjesto.

Kontrola načina odbrojavanja (TMOD)

Kontrola načina odbrojavanja (TMOD)

Vrata: Ako je bit vrata postavljen na '0', tada možemo pokrenuti i zaustaviti tajmer 'softvera' na isti način. Ako je vrata postavljena na '1', tada možemo izvršiti hardverski tajmer.

C / T: Ako je C / T bit '1', tada djeluje kao način brojača, i slično kada je postavljen C +
= / T bit je '0', on djeluje kao način odbrojavanja.


Bitovi za odabir načina: M1 i M0 su bitovi za odabir načina rada koji se koriste za odabir operacija timera. Postoje četiri načina rada s timerima.

Način 0: Ovo je 13-bitni način rada što znači da se tajmer završava s impulsima '8192'.

Način 1: Ovo je 16-bitni način rada, što znači da se rad odbrojavanja dovršava s maksimalnim impulsima sata '65535'.

Način 2: Ovaj način rada je 8-bitni način automatskog ponovnog učitavanja, što znači da se tajmer završava sa samo '256' impulsa sata.

Način 3: Ovaj način rada je način odvojenog odbrojavanja, što znači učitavanje vrijednosti u T0 i automatski pokreće T1.

Bitovi za odabir načina

Bitovi za odabir načina

Odabir načina Vrijednosti mjerača vremena i brojača u 8051

Vrijednosti odabira načina rada brojača i brojača

Vrijednosti odabira načina rada brojača i brojača

Registar kontrole vremena (TCON): TCON je drugi registar koji se koristi za kontrolu rada brojača i odbrojavanja u mikrokontrolerima. To je 8-bitni registar u kojem su četiri gornja bita odgovorna za tajmere i brojače, a donji bitovi odgovorni za prekide.

Registar kontrole vremena (TCON)

Registar kontrole vremena (TCON)

TF1: TF1 je kratica za bit oznake ‘timer1’. Kad god izračunavaju vremensko kašnjenje u timeru1, TH1 i TL1 automatski dosežu maksimalnu vrijednost koja je 'FFFF'.

PRIMJER: dok (TF1 == 1)

Kad god je TF1 = 1, očistite bit zastavice i zaustavite tajmer.

TR1: TR1 označava startni ili zaustavni bit timera1. Pokretanje ovog odbrojavanja može se izvršiti putem softverskih uputa ili putem hardverske metode.

EX: gate = 0 (startni timer 1 kroz softverske upute)
TR1 = 1 (tajmer pokretanja)

TF0: TF0 označava bit-oznaku 'timer0'. Kad god se izračuna vremensko kašnjenje u timeru1, TH0 i TL0 automatski dosegnu maksimalnu vrijednost koja je 'FFFF'.

Npr: dok (TF0 == 1)
Kad god je TF0 = 1, očistite bit zastavice i zaustavite tajmer.

TR0: TR0 je kratica za 'timer0' start ili stop bit koji ovaj timer može započeti putem softverskih uputa ili putem hardverske metode.

EX: gate = 0 (startni timer 1 kroz softverske upute)
TR0 = 1 (Tajmer pokretanja)

Izračuni vremenskog kašnjenja za mikrokontroler 8051

Mikrokontroler 8051 radi s frekvencijom 11.0592 MHz.

Frekvencija 11.0592MHz = 12 pulova

1 impuls takta = 11,0592 MHz / 12

F = 0,921 MHz

Vremensko kašnjenje = 1 / F

T = 1 / 0,92 MHz

T = 1,080506 us (za ciklus „1“)

1000us = 1MS

1000 ms = 1 sek

Postupak za izračunavanje programa odgode

1. Prvo moramo učitati vrijednost registra TMOD za ‘Timer0’ i ‘Timer1’ u različitim načinima. Na primjer, ako želimo raditi s timerom1 u načinu1, on mora biti konfiguriran kao “TMOD = 0x10”.

2. Kad god radimo timer u načinu 1, tajmer uzima maksimalne impulse od 65535. Tada se izračunati impulsi s vremenskim odgodom moraju oduzeti od maksimalnih impulsa i nakon toga pretvoriti u heksadecimalnu vrijednost. Ova vrijednost mora se učitati u veći bit i niže bitove timera1. Ovaj postupak odbrojavanja programira se pomoću ugrađen C u mikrokontroler .

Primjer: kašnjenje od 500us

500us / 1.080806us

461impulsi

P = 65535-461

P = 65074

65074 prevedeno heksaksimalnom decimalom = FE32

TH1 = 0xFE

TL1 = 0x32

3. Pokrenite timer1 'TR1 = 1'

4. Nadgledajte bit zastavice 'while (TF1 == 1)'

5. Očistite bit zastavice 'TF1 = 0'

6. Označite tajmer 'TR1 = 0'

Primjeri programa:

Program- 1

Program- 1

Program- 2

Program- 2

Program- 3

Program- 3

Brojači 8051

Brojač možemo koristiti držanjem C / T bita visokim, tj. Logikom '1' u registru TMOD. Za bolje razumijevanje dali smo jedan program koji koristi brojač vremena 1 kao brojač. Ovdje su LED diode spojene na priključak 8051 2 i prekidač na pin timera1 P3.5 i stoga će se, ako se prekidač pritisne, vrijednost računati. Inače, vanjski spojeni senzor na ovaj brojač kao ulaz čini ovu operaciju brojanja.

Program brojača

Program brojača

Primjena mjerača vremena i brojača u 8051

Digitalni brojač s 8051

Digitalni brojač s 8051 postiže se programiranjem mikrokontrolera kao što je gore spomenuto i pričvršćivanjem sustava senzora na njega. Ovaj brojač predmeta koristi IR senzor koji otkriva prepreku u njegovoj blizini, a također omogućuje i pin mikrokontrolera 06. Kad objekt prolazi kroz senzore, tada mikrokontroler dobiva signal prekida od IR senzora i povećava broj koji je prikazan na 7-segmentnom zaslonu.

Digitalni brojač s 8051

Digitalni brojač s 8051

Krug vremenskog odgode Korištenje mikrokontrolera 8051

Sljedeća slika prikazuje kako se rad tajmera može primijeniti za učinkovito prebacivanje LED-a. Postupak odgode vremena za set LED-a programiran je u mikrokontroleru na gore razmatrani način. Ovdje je skup LED dioda spojen na priključak 2 zajedničkim sustavom napajanja. Kada se ovaj krug uključi na temelju vremenskog kašnjenja program u mikrokontroleru odgovarajuće su ove LED diode uključene.

Krug vremenskog kašnjenja

Krug vremenskog kašnjenja

Ovo je sve o tajmeru i brojačima mikrokontrolera 8051 s osnovnim sklopovima za programiranje i primjenu. Nadamo se da su vam podaci iz ovog članka mogli dati dovoljno podataka da biste bolje razumjeli koncept. Nadalje, bilo kakve tehničke nedoumice u vezi s programiranjem 8051 i njegovih sklopova, možete nas kontaktirati komentirajući u nastavku.

Foto bodovi: