A 8051-es architektúra lehetőséget ad arra, hogy a processzor órajeléhez vagy más forráshoz kötötten számláljunk; ha pedig astabil jelről van szó, akkor időt mérjünk.
Az időzítő lejártakor (vagyis amikor túllépi a maximális értéket) megszakítást is lehet végeztetni. A TCON és TMOD regiszterekkel lehet a viselkedésüket személyre szabni. (csak a TCON címezhető bitenként, és itt csak a jelen pillanatban fontos részei szerepelnek)
Az időzítők számolhatnak órajelet, illetve a tüskekiosztáson található T0 és T1 tüskékre kapcsolt feszültség váltakozását (amikor 1-ről 0-ra vált). Az órajel viszont 12-vel osztva van, tehát a belső óra 12x lassabb, mint amit a processzor alapvetően kap. (újabb kiadásokon ezt az osztót lehet 6-ra csökkenteni)
A pillanatnyi álláspontokat a TL0@, TH0@, TL1@, és TH1@ regiszterekből lehet kiolvasni. A TL kisebb, mint a TH.
TMOD @ 89h:
- 7: 0: csak akkor fusson az 1-es időzítő, ha INT1=1
- 6: id. 1 léptetési üzemmód
- 1: számláló
- 0: időzítő
- 5: id. 1 számlálási üzemmód 1
- 4: id. 1 számlálási üzemmód 0
- 3: 0: csak akkor fusson a 0-s időzítő, ha INT1=1
- 2: id. 0 léptetési üzemmód
- 1: id. 0 számlálási üzemmód 1
- 0: id. 0 számlálási üzemmód 0
- 7@8fh: I1 túlcsordult (akkor kapcsol be, ha I1 túllépte a maximális értéket: 65311, 65535 vagy 255 az üzemmódtól függően; kivéve üzmd. 11-nél)
- 6@8eh: I1 be/ki
- 5@8dh: I0 túlcsordult
- 4@8ch: I0 be/ki
- 00: 13-bites mód. Ebben az esetben a TH összes és a TL jobb oldali 5 bitje használatos a következőképp: TH???????? TLxxx?????.
- 01: 16-bites mód. Ekkor a két byte mindegyik bitje részt vesz a számolásban.
- 10: 8-bites mód. TL normálisan működik, úgy, ahogy azt kell, viszont a TH nem változik. Ha TL 255-öt eléri, és 1-gyel nő, akkor a TH-ba beírt értékre áll vissza.
pl. TL⇐0ffh TH⇐20h | ha TL jelet kap, akkor 20h lesz benne, nem pedig 0. - 11: speciális mód, ami más hatást fejt ki a két időzítőre.
Id. 1 ebben a módban nem működik. Id. 0 ellenben két, egymástól független 8 bites alidőzítőt tartalmaz a TL0 és TH0 byteokban.
A TL0 túlcsorduláskor a TCON 5-ös (I0), a TH0 túlcsorduláskor pedig a TCON 7-es (I1) bitjét állítja 1-re.
Néhány változatban lehetőség adódik egy 3. időzítő, az I2 használatára. Ennek csak 1 számlálási üzemmódja van: 16-bites mód. Kapunk hozzá új regisztereket: TL2, TH2, T2CON, RCAP2L, RCAP2H.
T2CON:
- 7@0cfh: I2 túlcsordult
- 6@0ceh: I2 külső
- 5@0cdh:
- 4@0cch:
- 3@0cbh:
- 2@0cah:
- 1@0c9h:
- 0@0c8h:
Nincsenek megjegyzések:
Megjegyzés küldése
Mit gondolsz?