Keresés

Címkék

2025-04-25

Időzítő

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
TCON @ 88h:
  • 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
A számolási üzemmódok döntik el, hogy alapjáraton az időzítők miként viselkedjenek.
  • 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?