Laikmačiai ir skaitikliai 8051 mikrovaldiklyje ir jo programose

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Daugelis mikrovaldiklių programos reikalauti išorinių įvykių, tokių kaip impulsų traukinių dažnis, skaičiavimo ir tikslių vidinių laiko uždelsimų generavimo tarp kompiuterio veiksmų. Abi šias užduotis galima įgyvendinti taikant programinę įrangą, tačiau skaičiavimo ir laiko programinės įrangos kilpos tikslaus rezultato neduos, o svarbesnės funkcijos nėra atliekamos. Siekiant išvengti šių problemų, mikrokontrolerių laikmačiai ir skaitikliai yra geresnės galimybės paprastoms ir nebrangioms programoms. Šie laikmačiai ir skaitikliai naudojami kaip pertraukia 8051 mikrovaldiklį .

Yra du 16 bitų laikmačiai ir skaitikliai 8051 mikrovaldiklis : laikmatis 0 ir laikmatis 1. Abu laikmačius sudaro 16 bitų registras, kuriame apatinis baitas saugomas TL, o aukštesnis - TH. Laikmatis gali būti naudojamas kaip skaitiklis, taip pat laiko nustatymo operacijoms, kurios priklauso nuo laikrodžio impulsų į skaitiklius šaltinio.




Laikmačiai ir skaitikliai

Laikmačiai ir skaitikliai

Skaitikliai ir laikmačiai 8051 mikrovaldiklyje turi du specialius funkcijų registrus: TMOD (laikmačio režimo registras) ir TCON (laikmačio valdymo registras), kurie naudojami aktyvuoti ir konfigūruoti laikmačiai ir skaitikliai .



Laikmačio režimo valdymas (TMOD): TMOD yra 8 bitų registras, naudojamas laikmatiui ar skaitikliui ir laikmačių režimui pasirinkti. Apatiniai 4 bitai naudojami laikmačio 0 arba skaitiklio0 valdymui, o likę 4 bitai naudojami laikmačio1 arba skaitiklio1 valdymui. Šis registras yra SFR registre, SFR registro adresas yra 89-asis.

Laikmačio režimo valdymas (TMOD)

Laikmačio režimo valdymas (TMOD)

Vartai: Jei vartų bitas yra nustatytas į „0“, tokiu pačiu būdu mes galime paleisti ir sustabdyti „programinės įrangos“ laikmatį. Jei vartai nustatyti į „1“, tada galime atlikti aparatūros laikmatį.

C / T: Jei C / T bitas yra „1“, jis veikia kaip skaitiklio režimas ir panašiai, kai nustatoma C +
= / T bitas yra „0“, jis veikia kaip laikmačio režimas.


Režimo parinkimo bitai: M1 ir M0 yra režimo pasirinkimo bitai, kurie naudojami laikmačio operacijoms pasirinkti. Laikmačiams valdyti yra keturi režimai.

0 režimas: Tai yra 13 bitų režimas, o tai reiškia, kad laikmačio operacija baigiama „8192“ impulsais.

1 režimas: Tai yra 16 bitų režimas, o tai reiškia, kad laikmačio operacija baigiama maksimaliu laikrodžio impulsų skaičiumi, kuris yra „65535“.

2 režimas: Šis režimas yra 8 bitų automatinio perkrovimo režimas, o tai reiškia, kad laikmačio operaciją užbaigia tik „256“ laikrodžio impulsai.

3 režimas: Šis režimas yra laikmačio režimas, kuris reiškia T0 įkėlimo reikšmes ir automatiškai paleidžia T1.

Režimo pasirinkimo bitai

Režimo pasirinkimo bitai

Režimo pasirinkimas Laikmačių ir skaitiklio vertės 8051 m

Laikmačių ir skaitiklių režimo parinkimo vertės

Laikmačių ir skaitiklių režimo parinkimo vertės

Laikmačio valdymo registras (TCON): TCON yra dar vienas registras, naudojamas valdyti skaitiklių ir laikmačių operacijas mikrovaldikliuose. Tai yra 8 bitų registras, kuriame keturi viršutiniai bitai yra atsakingi už laikmačius ir skaitiklius, o apatiniai - už pertraukimus.

Laikmačio valdymo registras (TCON)

Laikmačio valdymo registras (TCON)

TF1: TF1 reiškia „timer1“ vėliavos bitą. Apskaičiuojant laiko laikmatį laikmatyje1, TH1 ir TL1 pasiekia maksimalią vertę, kuri yra „FFFF“ automatiškai.

Pvz .: kol (TF1 == 1)

Kai TF1 = 1, tada išvalykite žymos bitą ir sustabdykite laikmatį.

TR1: TR1 reiškia laikmačio1 paleidimo arba sustabdymo bitą. Laikmatis gali būti paleidžiamas programinės įrangos instrukcijomis arba aparatūros metodu.

EX: vartai = 0 (paleidimo laikmatis 1 per programinės įrangos instrukcijas)
TR1 = 1 (paleidimo laikmatis)

TF0: TF0 reiškia „timer0“ vėliavos bitą. Apskaičiuojant laiko laikmatį1 laikmatyje, TH0 ir TL0 automatiškai pasiekia maksimalią vertę, kuri yra „FFFF“.

Pvz .: kol (TF0 == 1)
Kai TF0 = 1, tada išvalykite žymos bitą ir sustabdykite laikmatį.

TR0: TR0 reiškia „timer0“ paleidimo arba sustabdymo bitą. Šis laikmatis gali būti paleistas naudojant programinę įrangą arba naudojant aparatūros metodą.

EX: vartai = 0 (paleidimo laikmatis 1 per programinės įrangos instrukcijas)
TR0 = 1 (paleidimo laikmatis)

8051 mikrovaldiklio vėlavimo laiko skaičiavimai

8051 mikrovaldiklis veikia 11,0592 MHz dažniu.

11.0592MHz dažnis = 12 pulių

1 laikrodžio impulsas = 11,0592MHz / 12

F = 0,921 MHz

Laiko vėlavimas = 1 / F

T = 1 / 0,92MHz

T = 1,080506 us („1“ ciklui)

1000us = 1MS

1000 ms = 1 sek

Vėlavimo programos apskaičiavimo tvarka

1. Pirmiausia skirtingais režimais turime įkelti „Timer0“ ir „Timer1“ TMOD registro vertes. Pavyzdžiui, jei norime naudoti laikmatį1 1 režime, jis turi būti sukonfigūruotas kaip „TMOD = 0x10“.

2. Kai laikmatį valdome 1 režimu, laikmatis ima maksimalius impulsus 65535. Tada apskaičiuoti laiko vėlavimo impulsai turi būti atimti iš didžiausių impulsų ir vėliau konvertuojami į šešioliktainę vertę. Ši vertė turi būti įkelta į laikmatį1 didesnį ir mažesnį bitą. Ši laikmačio operacija užprogramuota naudojant įterpta C į mikrovaldiklį .

Pavyzdys: 500 kartų vėlavimas

500us / 1,080806us

461pulsai

P = 65535–461

P = 65074

65074, užfiksuotas dešimtainiu skaičiumi po kablelio = FE32

TH1 = 0xFE

TL1 = 0x32

3. Paleiskite laikmatį1 „TR1 = 1“

4. Stebėkite žymos bitą „o (TF1 == 1)“

5. Išvalykite žymos bitą „TF1 = 0“

6. Uždarykite laikmatį „TR1 = 0“

Programų pavyzdžiai:

Programa- 1

Programa- 1

Programa- 2

Programa- 2

Programa- 3

Programa- 3

Skaitikliai 8051 m

Mes galime naudoti skaitiklį, išlaikydami C / T bitų aukštą, ty logiką '1' TMOD registre. Norėdami geriau suprasti, pateikėme vieną programą, kurioje laikmatis 1 naudojamas kaip skaitiklis. Šviesos diodai yra prijungti prie 8051 2 prievado ir jungiklio prie laikmačio 1 kaiščio P3.5, todėl, jei paspausite jungiklį, vertė bus skaičiuojama. Priešingu atveju išoriškai prijungtas jutiklis prie šio skaitiklio kaiščio, kaip įvestis, atlieka šią skaičiavimo operaciją.

Skaitliuko programa

Skaitliuko programa

Taimerių ir skaitiklių taikymai 8051 m

Skaitmeninis skaitiklis su 8051

Skaitmeninis skaitiklis su 8051 gaunamas užprogramavus mikrovaldiklį, kaip aptarta aukščiau, ir prie jo prijungus jutiklių sistemą. Šis objektų skaitiklis naudoja IR jutiklį, kuris aptinka šalia esančią kliūtį ir įgalina mikrovaldiklio kaištis 06. Kai objektas praeina per jutiklius, mikrovaldiklis gauna pertraukimo signalą iš IR jutiklių ir padidina skaičių, kuris rodomas 7 segmentų ekrane.

Skaitmeninis skaitiklis su 8051

Skaitmeninis skaitiklis su 8051

Laiko uždelsimo grandinė naudojant mikrovaldiklį 8051

Žemiau pateiktame paveikslėlyje parodyta, kaip laikmatis gali būti veiksmingai įjungtas šviesos diodams. Šviesos diodų rinkinio uždelsimo laikas yra užprogramuotas mikrovaldiklyje aukščiau aptartu būdu. Čia šviesos diodų rinkinys yra prijungtas prie 2 prievado su bendra tiekimo sistema. Kai ši grandinė įjungiama pagal laiko vėlavimą programa mikrovaldiklyje tinkamai, šie šviesos diodai įjungiami.

Laiko uždelsimo grandinė

Laiko uždelsimo grandinė

Tai viskas apie 8051 mikrovaldiklio laikmatį ir skaitiklius su pagrindinėmis programavimo ir taikymo grandinėmis. Tikimės, kad šio straipsnio informacija galėjo suteikti jums pakankamai duomenų, kad geriau suprastumėte sąvoką. Be to, jei turite kokių nors techninių abejonių dėl 8051 ir jo grandinių programavimo, galite susisiekti su mumis komentuodami toliau.

Nuotraukų kreditai:

  • Skaitmeninis skaitiklis su 8051 šiandien
  • Laiko vėlavimo grandinė vshamu