Blockdiagramm Timer/Counter
Das counter Register (CNT), das perioden Register (PER) und das dazugehörige Buffer Register (PERBUF) sowie die CCx Register mit den dazugehörenden Buffer Registern (CCxBUF) sind alle 16 Bit Register. Alle Buffer Register haben ein buffer valid Flag (BV) mit dem signalisiert wird, dass ein Buffer Register einen neuen Wert enthält. D.h. beim Lesen wird erst das Low Byte gelesen und dabei automatisch das High Byte in ein temporäres Register geschrieben. Beim Lesen des High Byte wird dann automatisch der Inhalt des temporären Registers gezogen. Beim Schreiben gilt: erst das Low Byte schreiben, dann das High Byte. Das Low Byte wird automatisch im temporären Register zwischengespeichert.
Im normalen Betrieb wird der Wert des Zählers permanent mit Null und dem Wert des Perioden Registers (PER) verglichen, um zu bestimmen, ob der Zähler BOTTOM oder TOP erreicht hat. Ebenso wird der Wert des Zählers mit den CCx Registern verglichen. Diese Vergleiche können verwendet werden, um Interrupts oder Events zu erzeugen.