Den Hauptbestandteil des 8-bit Timer/Counters0 bildet die programmierbare Zählereinheit. Die nachfolgende Abbildung zeigt deren Blockdiagramm und Umgebung.
Blockschaltbild der Zählereinheit
Beschreibung der internen Signale:
count |
Inkrementiert TCNT0 um 1 |
clkTn |
Takt für den Timer/Counter, nachfolgend clkT0 |
max |
Signalisiert, dass TCNT0 seinen maximalen Wert erreicht hat |
Der Zähler wird bei jedem Takt von clkT0 um 1 erhöht. Der Takt clkT0 kann durch eine interne oder externe Quelle erzeugt werden, die mit den Bits CS02 bis CS00 ausgewählt wird. Wenn keine Taktquelle ausgewählt ist (CS02 bis CS00 = 0), wird der Timer/Counter angehalten. Unabhängig davon, ob der Takt läuft oder nicht, kann die CPU zu jeder Zeit auf den Wert des TCNT0-Registers zugreifen. Ein Schreiben der CPU in das TCNT0-Register hat Vorrang vor allen Lösch- und Zähl-Operationen.