Předurčení interních čítačů a časovačů mikrořadičů

Předurčení interních čítačů a časovačů mikrořadičů

Čítačem a časovačem mikrořadiče je tentýž interní obvod, který je možné použít v obou režimech. Čítač / časovač je sekvenční logický obvod, který je předurčen pro sčítaní impulzů, které jsou přivedeny z externího impulsního zdroje na jeden z vývodů pouzdra integrovaného obvodu.

Časovač je též sekvenční logický obvod určený ke sčítání impulzů, ale od čítače se liší tím, že na jeho vstup je trvale přiveden zdroj impulzů o konstantním kmitočtu. 

Čítací obvod může být kdykoliv vynulován nebo přednastaven do určitého stavu.

Časovač je především předurčen pro generování impulzů definonané délky trvání nezávisle na běhu vlastního programu v mikrořadiči. Časovač je uzpůsoben tak, že po skončení odměřeného odpočtu času byl schopen vyvolat interní přerušení běhu základního programu mikrořadiče a takto umožnit rozhodování ve větvení programu.

Důležitou funkcí jednočipových mikropočítačů a řadičů je čítání vnějších událostí, časových intervalů mezi nimi anebo jejich frekvence. Vnější události jsou na vstupech systému běžně prezentovány úrovněmi nebo změnami logických signálů. Od jednočipového mikropočítače a řadiče obvykle vyžadujeme , aby byl schopen v určitých časových okamžicích generovat podněty pro vnější prostředí - řídící signály pro nejrůznější spínače.

Čítání vnějších událostí lze u pomalejších dějů zajistit programem, a to buď průběžným sledováním hodnoty binárního signálu na příslušném vstupu, nebo lépe reakcí na přerušení vyvolané změnou hodnoty tohoto signálu.

Přímé měření nebo generování časových intervalů programem je možné jen ve velmi omezené míře (vycházíme ze známého kmitočtu hodin procesoru a počtu hodinových cyklů, které vyžaduje provedení každé instrukce). Je možné ho chápat jen jako nouzové řešení pro jednoduché aplikace, kdy není potřeba mít k dispozici podporu časovačem. V praxi se takovýmto řešením setkáváme v případě, kdy potřebujeme časově omezit ( s nepříliš velkou přesností) čekání v čekací smyčce, kdy potřebujeme definovat časový limit - time out. V některých aplikacích přichází v úvahu i nepřímé měření a generování delších časových intervalů čítáním událostí o známé frekvenci.

 

Zdroje
  • HRBÁČEK, Jiří. Komunikace mikrokontroléru s okolím. 1. vyd. Praha: BEN - technická literatura, 1999, 159 s. ISBN 80-86056-42-21.
  • MATOUŠEK, David. Práce s mikrokontroléry ATMEL AVR ATmega16. 1. vyd. Praha: BEN - technická literatura, 2006, 319 s. μC. ISBN 80-730-0174-8.
  • VÁŇA, Vladimír. Mikrokontroléry ATMEL AVR: programování v jazyce C : popis a práce ve vývojovém prostředí CodeVisionAVR C. 1. vyd. Praha: BEN - technická literatura, 2003, 215 s. ISBN 80-730-0102-0.