Titelbild Mikrocontroller

12.2. Register

Das Timer/Counter Register (TCNT1), die Output Compare Register (OCR1A/B) und das Input Capture Register (ICR1) sind alle 16-bit Register. Der Zugriff auf diese Register erfordert eine besondere Vorgehensweise, wie sie im Kapitel „Zugriff auf die 16-bit Register“ beschrieben wird. Die Timer/Counter Control Register (TCCR1A/B) sind 8-bit Register, auf die die CPU normal zugreifen kann. Die Signale der Interruptanforderungen (im Blockschaltbild als Int.Req. bezeichnet) sind im Timer Interrupt Flag Register (TIFR) sichtbar. Alle Interrupts können individuell im Timer Interrupt Mask Register (TIMSK) maskiert werden. Die beiden letztgenannten Register sind im Blockschaltbild nicht abgebildet, da sie auch die Bits für andere Timer-Einheiten enthalten.

Der Timer/Counter kann intern, über einen Vorteiler oder durch eine externe Taktquelle am T1 Pin getaktet werden. Die Taktauswahl-Logik gibt vor, durch welchen Takt und mit welcher Flanke der Timer seinen Wert inkrementiert oder dekrementiert. Der Timer/Counter ist inaktiv, wenn keine Taktquelle ausgewählt wurde. Der Ausgang der Taktauswahl-Logik wird als Timer-Takt clkT1 bezeichnet.

Die zweifach gebufferten Output Compare Register (OCR1A/B) werden ständig mit dem Wert des Timers verglichen. Das Ergebnis dieses Vergleiches kann vom Wellenformerzeuger genutzt werden, um eine PWM oder eine variable Frequenz am Ausgang des Output Compare Pins (OC1A/B) zu erzeugen. Das Ereignis der Vergleichsübereinstimmung setzt außerdem das Compare Match Flag (OCF1A/B), das genutzt werden kann, um einen Output Compare Interrupt auszulösen.

Das Input Capture Register kann den Wert des Timer/Counters vorgeben, wenn ein externes Ereignis an dem Input Capture Pin (ICP1) oder den Analog-Comparator Pins dies antriggert. Die Input Capture Einheit beinhaltet einen digitalen Filter, um Spitzen bei Wertveränderungen zu unterdrücken.

Der Top-Wert oder der Maximal-Wert des Timers kann in einigen Betriebsmodi durch das OCR1A Register, das ICR1 Register oder durch einen festen Wert vorgegeben werden. Wenn das OCR1A Register als Top-Wert im PWM-Modus verwendet wird, kann es nicht mehr verwendet werden, um den PWM Ausgang zu erzeugen. Der Top-Wert wird in diesen Fällen zweifach gebuffert und kann daher auch während des Laufens verändert werden. Wenn ein fester Top-Wert erforderlich ist, kann das ICR1 Register verwendet werden, wodurch das OCR1A Register für den PWM-Ausgang zur Verfügung steht.
« zurück:
12.1. Übersicht
» weiter:
12.3. Definitionen
Impressum