Időzítők és számlálók a 8051 mikrovezérlőben és alkalmazásai

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Sok a mikrokontroller alkalmazások megkövetelik a külső események számlálását, például a pulzusvonatok gyakoriságát és a számítógépes műveletek közötti pontos belső késleltetések előállítását. Mindkét feladat megvalósítható szoftveres technikákkal, de a számláláshoz és az időzítéshez tartozó szoftverhurkok nem adják meg a pontos eredményt, sokkal fontosabb funkciók nem kerülnek végrehajtásra. E problémák elkerülése érdekében a mikrokontrollerek időzítői és számlálói jobb lehetőségeket kínálnak az egyszerű és olcsó alkalmazásokhoz. Ezeket az időzítőket és számlálókat a megszakítja a 8051 mikrovezérlőt .

Két 16 bites időzítő és számláló van 8051 mikrovezérlő : időzítő 0 és időzítő 1. Mindkét időzítő 16 bites regiszterből áll, amelyben az alacsonyabb bájtot TL-ben, a magasabb bájtot TH-ben tárolja. Az időzítő használható számlálóként, valamint időzítési műveletekhez, amelyek a számlálók impulzusainak forrásától függenek.




Időzítők és számlálók

Időzítők és számlálók

A számlálók és időzítők a 8051 mikrovezérlőben két speciális funkció regisztert tartalmaznak: TMOD (Timer Mode Register) és TCON (Timer Control Register), amelyek aktiválásra és konfigurálásra szolgálnak időzítők és számlálók .



Időzítő üzemmód vezérlés (TMOD): A TMOD egy 8 bites regiszter, amelyet az időzítő vagy számláló és az időzítők módjának kiválasztására használnak. Az alsó 4 bitet a 0 vagy a számláló0 időzítő vezérléséhez, a fennmaradó 4 bitet pedig az 1. időzítő vagy az 1. számláló vezérléséhez használjuk. Ez a regiszter az SFR regiszterben van, az SFR regiszter címe 89..

Időzítő üzemmód vezérlés (TMOD)

Időzítő üzemmód vezérlés (TMOD)

Kapu: Ha a kapu bit értéke „0”, akkor ugyanúgy elindíthatjuk és leállíthatjuk a „szoftver” időzítőt. Ha a kapu értéke „1”, akkor hardveres időzítőt tudunk végrehajtani.

C / T: Ha a C / T bit ’1’, akkor számláló módként működik, és hasonlóan a C + beállításakor
= / T bit „0”, időzítő módként működik.


Módválasztó bitek: Az M1 és M0 üzemmódválasztó bitek, amelyek az időzítő műveletek kiválasztására szolgálnak. Négy mód van az időzítők működtetésére.

0 mód: Ez egy 13 bites mód, ami azt jelenti, hogy az időzítő művelete befejeződik a „8192” impulzusokkal.

1. mód: Ez 16 bites üzemmód, ami azt jelenti, hogy az időzítő művelete a maximális „65535” óraimpulzusokkal fejeződik be.

2. mód: Ez az üzemmód egy 8 bites automatikus újratöltési mód, ami azt jelenti, hogy az időzítő művelete csak „256” óraimpulzusokkal fejeződik be.

3. mód: Ez az üzemmód split-timer mód, ami azt jelenti, hogy a T0 értékei betöltődnek, és automatikusan elindítja a T1-et.

Módválasztó bitek

Módválasztó bitek

Módválasztás Az időzítők és számláló értékei a 8051-ben

Az időzítők és számlálók módválasztási értékei

Az időzítők és számlálók módválasztási értékei

Időzítővezérlő regisztráció (TCON): A TCON egy másik regiszter, amelyet a számlálók és az időzítők működésének vezérlésére használnak a mikrovezérlőkben. Ez egy 8 bites regiszter, ahol négy felső bit felelős az időzítőkért, az számlálók, az alsó bitek pedig a megszakításokért.

Időzítő vezérlő regisztráció (TCON)

Időzítő vezérlő regisztráció (TCON)

TF1: A TF1 jelentése „timer1” zászló bit. Az időzítő1 időzítésének kiszámításakor a TH1 és a TL1 eléri a maximális értéket, amely automatikusan „FFFF”.

EX: míg (TF1 == 1)

Ha a TF1 = 1, akkor törölje a jelzőbitet és állítsa le az időzítőt.

TR1: A TR1 az timer1 start vagy stop bitet jelenti. Ez az időzítő elindítása történhet szoftveres utasításokkal vagy hardveres módszerrel.

EX: kapu = 0 (1. időzítő szoftveres utasításon keresztül)
TR1 = 1 (Indítási időzítő)

TF0: A TF0 jelentése „timer0” zászlóbit. Az időzítő1 késleltetésének kiszámításakor a TH0 és a TL0 automatikusan eléri a „FFFF” maximális értéket.

EX: míg (TF0 == 1)
Ha a TF0 = 1, akkor törölje a jelzőbitet és állítsa le az időzítőt.

TR0: A TR0 jelentése „timer0” start vagy stop bit, ez az időzítő elindítása történhet szoftveres utasításokkal vagy hardveres módszerrel.

EX: kapu = 0 (1. időzítő szoftveres utasításon keresztül)
TR0 = 1 (Indítási időzítő)

Időkésleltetési számítások a 8051 mikrovezérlőhöz

A 8051 mikrovezérlő 11,0592 MHz frekvenciával működik.

11,0592 MHz frekvencia = 12 pule

1 óra impulzus = 11,0592MHz / 12

F = 0,921 MHz

Időkésés = 1 / F

T = 1 / 0,92MHz

T = 1,080506 us („1” ciklus esetén)

1000us = 1MS

1000 ms = 1 másodperc

Eljárás a késleltetési program kiszámításához

1. Először a „Timer0” és „Timer1” TMOD regisztráció értékét kell betölteni különböző módokban. Például, ha az 1. időzítőt az 1. módban akarjuk működtetni, akkor azt „TMOD = 0x10” -ként kell konfigurálni.

2. Amikor az időzítőt az 1. módban működtetjük, az időzítő a 65535 maximális impulzusokat veszi fel. Ezután a kiszámított késleltetési impulzusokat ki kell vonni a maximális impulzusokból, és ezt követően hexadecimális értékre kell átalakítani. Ezt az értéket időzítő1 magasabb bitekkel és alacsonyabb bitekkel kell betölteni. Ezt az időzítő műveletet a beágyazott C mikrovezérlőbe .

Példa: 500us késleltetés

500us / 1,080806us

461impulzusok

P = 65535-461

P = 65074

65074 hexa decimális betűvel = FE32

TH1 = 0xFE

TL1 = 0x32

3. Indítsa el az időzítőt1 “TR1 = 1”

4. Figyelje a „while (TF1 == 1)” jelzőbitet

5. Törölje a „TF1 = 0” jelzőbitet

6. Csukja be az „TR1 = 0” időzítőt

Példa programok:

Program- 1

Program- 1

Program- 2

Program- 2

Program- 3

Program- 3

Számlálók 8051-ben

Használhatunk számlálót a C / T bit magasan tartásával, azaz az '1' logikával a TMOD regiszterben. A jobb megértés érdekében adtunk egy programot, amely számlálóként az 1. időzítőt használja. Itt a LED-ek a 8051 2. porthoz vannak kapcsolva, és a kapcsoló az időzítő1 P3.5 tűjéhez, és ezért, ha a kapcsolót megnyomják, az érték meg lesz számlálva. Ellenkező esetben egy külsőleg csatlakoztatott érzékelő ehhez a számláló csaphoz bemenetként végzi ezt a számlálási műveletet.

Counter Program

Counter Program

Időzítők és számlálók alkalmazása 8051-ben

Digitális számláló 8051-gyel

A 8051-es digitális számlálót úgy érjük el, hogy a mikrovezérlőt a fentiekben leírtak szerint programozzuk, és egy érzékelő rendszert csatlakoztatunk hozzá. Ez az objektumszámláló infravörös érzékelőt használ, amely érzékeli a közelében lévő akadályt, és lehetővé teszi a a mikrokontroller csapja 06. Amikor egy tárgy áthalad az érzékelőkön, akkor a mikrovezérlő megszakítási jelet kap az IR érzékelőktől, és növeli a számlálást, amely a 7 szegmenses kijelzőn jelenik meg.

Digitális számláló 8051-gyel

Digitális számláló 8051-gyel

Időkésleltetési áramkör 8051 mikrovezérlő használatával

Az alábbi ábra azt mutatja be, hogy az időzítő működése hogyan valósítható meg a LED-ek hatékony kapcsolásához. A LED-ek késleltetési műveletét egy mikrovezérlőben programozzák a fentiekben ismertetett módon. Itt a LED-ek egy sora csatlakozik a 2-es porthoz egy közös tápellátó rendszerrel. Amikor ezt az áramkört bekapcsolja az idő késleltetése alapján programot a mikrovezérlőben megfelelően ezek a LED-ek bekapcsolnak.

Időkésleltetési áramkör

Időkésleltetési áramkör

Mindez a 8051 mikrokontroller időzítőjéről és számlálóiról szól, alapvető programozási és alkalmazási áramkörökkel. Reméljük, hogy a cikkben szereplő információk elegendő adatot adhattak a koncepció jobb megértéséhez. Továbbá, ha bármilyen kétség merülne fel a 8051 és áramköreinek programozásával kapcsolatban, az alábbi megjegyzésekkel léphet velünk kapcsolatba.

Fotók:

  • Digitális számláló 8051 by ma
  • Időkésleltetés áramkör által vshamu