Časovač (timer)

Page

Stránky / Arduino / Pod kapotou Arduina /

Arduino Uno používá mikrokontrolér ATmega328P a praktický každý mikrokontrolér v sobě obsahuje časovače. Časovače se dají využívat k množství úkolů. Postupně se s těmito možnostmi seznámíme.

ATmega328P

Mikrokontrolér obsahuje 3 časovače:

  • Timer0 - 8-bitový. Je využit k aktualizaci času v Arduinu.
  • Timer1 - 16-bitový.
  • Timer2 - 8-bitový.

Časovače v dalších mikrokontrolérech

ATtiny85

Mikrokontrolér obsahuje 2 časovače:

  • Timer0 - 8-bitový.
  • Timer1 - 8-bitový.

ATtiny13A

Mikrokontrolér obsahuje 1 časovač:

  • Timer0 - 8-bitový.

ATmega2560

Mikrokontrolér obsahuje 6 časovačů:

  • Timer0 - 8-bitový.
  • Timer1 - 16-bitový.
  • Timer2 - 8-bitový.
  • Timer3-5 - 16-bitový.

Zdroj hodinového signálu

Časovač potřebuje na svou činnost zdroj hodinového signálu. Ten může být různý a od toho závisí, jak se bude časovač projevovat.

  • Žádný zdroj hodin - Tehdy je časovač vypnutý.
  • Interní hodinový signál - Základní hodinový signál je možné pomocí preddeličiek snížit na požadovanou hodnotu. Děličky mají obvykle hodnoty 1, 8, 64, 256, 1024, ale někdy se vyskytují i jiné hodnoty. Snížení frekvence hodin je užitečné, protože obvykle časovače nepoužíváme na vysoké frekvenci, ale snažíme o nějakou frekvenci, která je bližší potřebám. Například pokud potřebujeme generovat nějaký signál na frekvenci 1 Hz, stačí nám signál základních hodin snížit pomocí děličky a až potom s ním nějak manipulovat.
  • Externí hodinový signál - Externí hodinový signál nám umožňuje počítat externí signály. Tehdy říkáme, že časovat pracuje jako počítadlo.

Režim generování signálu

Generovaný signál se může tvořit v různých režimech. Každý režim má své specifické nastavení registrů. Arduino například tyto režimy používá pro generování PWM signálu.

  • Normální
  • PWM Phase Correct
  • CTC
  • Fast PWM
  • PWM Phase and Frequency Correct

Online kalkulačka

V článcích se na generátor zdrojového textu budu obracet často. Proto je vhodné, pokud si zapamatujete tento hypertext a budete ho používat ve svých projektech.

CTC Timer Calculator

Články v blogu o časovačích ATmega328P

Jiné mikrokontroléry


14.09.2017


Menu