Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Existuje niekoľko spôsobov, ako implementovať časové oneskorenia v mikroprocesore:
* Softvérové slučky: Najjednoduchšia metóda. Opakovane sa vykonáva slučka obsahujúca sériu pokynov. Celkové oneskorenie závisí od počtu pokynov a rýchlosti hodín mikroprocesora. Tento prístup je nepresný, pretože je ovplyvnený faktormi, ako je manipulácia s prerušením a zaťaženie procesorom. Jednoduchý príklad v montáži môže vyzerať:
`` `Zostava
Oneskorenie:
December R16; Register poklesu
BRNE LESTA; Vetva, ak sa rovná nule (pokračujte v slučke)
RJMP Ďalej; Skočte na ďalšiu inštrukciu
`` `
* časovače/počítadlá: Mikroprocesory majú často vstavané časovače alebo počítadlá. Tieto periférie počítajú hodiny alebo externé udalosti. Program môže inicializovať časovač na konkrétnu hodnotu a potom počkať, kým sa započíta na nulu. Toto je všeobecne presnejšie a menej náchylné na zmeny v zaťažení procesora v porovnaní so softvérovými slučkami.
* Clock (RTC): Pri dlhších oneskoreniach sa môže RTC (ktorá zvyčajne beží nezávisle od hlavného procesora) na zabezpečenie presnej časovej referencie. Program môže skontrolovať RTC, aby sa určilo, kedy uplynie požadované oneskorenie.
* počkajte: Tieto sa pridávajú do cyklov prístupu do pamäte, aby sa synchronizovala s pomalšími pamäťovými zariadeniami. Aj keď to nie je priamo oneskorenia *mechanizmus *, čakacie stavy zvyšujú celkový čas strávený prístupom k pamäti, ktorý sa môže použiť ako súčasť schémy načasovania (hoci nie je ideálny a mal by sa používať opatrne).
Faktory ovplyvňujúce presnosť:
* Rýchlosť hodín: Frekvencia hodín priamo ovplyvňuje trvanie softvérových slučiek a počtu časovačov. Zmeny v rýchlosti hodín ovplyvnia presnosť oneskorenia.
* prerušuje: Rutiny prerušenia služieb (ISRS) môžu prerušiť vykonanie oneskorenej slučky, čím sa dosiahne dlhšie, ako sa očakávalo.
* Loadsor Load: Ak je procesor zaneprázdnený inými úlohami, môže to ovplyvniť oneskorenie.
Prečo používať oneskorenia času?
* synchronizácia: Koordinačné akcie s externým hardvérom (napr. Ovládanie LED diódy, senzory, motory).
* demontcing: Predchádzanie falošným signálom z prepínačov alebo tlačidiel.
* Obmedzenie rýchlosti: Riadenie frekvencie udalostí (napr. Obmedzenie rýchlosti prenosu údajov).
* User rozhrania: Vytváranie prestávok medzi akciami v používateľskom rozhraní.
Výber najlepšej metódy závisí od požiadaviek aplikácie na presnosť, trvanie a spotrebu zdrojov. Na krátke oneskorenia môžu stačiť softvérové slučky. Pre dlhšie alebo presnejšie oneskorenia sú uprednostňované časovače alebo RTC.