<< Előző oldal Vissza a tartalomjegyzékhez Következő oldal >>
15.2.3. Timer 0 megszakításkérés
A TMR0 regiszter túlcsordulásakor (átváltás H'FF'-ről H'00'-ra) az INTCON vezérlő regiszterben elhelyezett T0IF jelzőbit logikai "1" értékre áll be. Ha a Timer 0 túlcsordulás megszakítás az ugyanitt elhelyezett T0IE bittel engedélyezett, és a megszakítások globálisan is engedélyezettek, létrejön egy megszakításkérés. (A T0IF jelzőbitet szoftverből kell nullázni.)
A Timer 0 túlcsordulás megszakítás nem használható a mikrovezérlő SLEEP üzemmódból való ébresztésére, mivel a Timer 0 SLEEP üzemmódban ki van kapcsolva, így külső jellel sem léptethető.
A következő ábra a Timer 0 túlcsordulás megszakítás lefolyását mutatja be:
15.2.3-1. Ábra
A T0IF jelzőbit a számláló túlcsordulása után egy órajelciklussal logikai "1"-re vált. (Külső léptetés esetén figyelembe kell venni, hogy a számláló növelése csak a léptető jel megjelenése után 3..7 órajelciklus múlva következik be.) A T0IF jelzőbit mintavételezése minden esetben a Q1 órajelciklus végén történik meg. A soron következő utasítás még végrehajtódik, de az éppen beolvasott már törlődik.
A T0IF jelzőbit értékváltozásának észlelését követő utasításciklusban az INTCON vezérlő regiszterben elhelyezett GIE globális engedélyező bit "0"-ra vált, vagyis az összes többi megszakítás tiltásra kerül. Utasításbeolvasás, utasításvégrehajtás nem történik.
A Timer 0 túlcsordulását követő harmadik utasításciklusban történik meg az utasításbeolvasás a 0004h címről.
A túlcsordulást követő negyedik utasításciklusban indul meg az utasításvégrehajtás.
(A T0IF jelzőbitet még a megszakításkezelő szubrutinból való kilépés előtt nullázni kell, különben a RETFIE utasítás hatására egy újabb megszakításelfogadás indul meg.)
A tényleges megszakításkésleltetés belső léptetés esetén 4 utasításciklus, de külső léptetés esetén a túlcsordulást előidéző eseményhez képest 5 vagy 6 utasításciklus lehet.
Tudomány és Technika (test@t-es-t.hu)
<< Előző oldal Vissza a tartalomjegyzékhez Vissza a lap tetejére Következő oldal >>