zum Directory-modus

PIC-Mikrocontroller

Timer

Der Timer (TMR0), der ursprünglich den Namen RTCC (Real Time Clock Counter) trug, ist eine Echtzeituhr und -zähler mit einem 8-Bit-Register. Dieses kann durch einen an den RTCC-Pin angelegten Takt inkrementiert werden. Der interne Takt beträgt hierbei ein Viertel der Oszillatorfrequenz. Das externe RTCC-Signal kann mit Hilfe des RTE-Bits invertiert oder nicht-invertiert werden. Diese Operation wird durch ein XOR-Register durchgeführt. Mit einem nachfolgenden Multiplexer kann nun zwischen dem externen Signal und einem internen, aus dem Prozessortakt abgeleiteten Signal unterschieden werden. Diese Entscheidung übernimmt das RTS-Bit, das, wenn es gesetzt ist, den externen Takt auswählt.

Der aus dem Multiplexer kommende Takt kann nun entweder direkt auf den RTCC gegeben oder diesem über einen zusätzlichen Vorteiler zugeführt werden. Der Vorteiler kann über die Bits PS0 bis PS2 exponentiell eingestellt werden. Der Teilerfaktor ist dabei 2*n, wobei n die durch die Bits PS0 bis PS2 gebildete Zahl ist.

Anschließend entscheidet wieder ein Multiplexer darüber, ob das geteilte oder das ungeteilte Signal den nachfolgenden RTCC erreicht. Der Takt wirkt sich jedoch nicht unmittelbar auf den Zähler aus, sondern wird intern noch um 2 Befehlszyklen (8 Taktzyklen) verzögert. Dadurch soll auch der externe Zähltakt mit dem internen Befehlstakt synchronisiert werden.

Bei jedem Taktsignal wird der RTCC um eins erhöht. Steht der Wert FFh in dem Register, findet ein Überlauf statt und der Wert 00h folgt. Der RTCC kann dabei behandelt werden wie jedes andere Register auch.

Eine weitere Funktion ist eng mit dem RTCC verbunden, der Watch-Dog-Timer, WDT. Diese Einrichtung ist, wie der Name schon sagt, ein Wachhund, der den Prozessor aufweckt, wenn er "eingeschlafen" ist. Der WDT ist ein zeitgesteuerter Impulsgenerator, der, wenn er nicht regelmäßig zurückgesetzt wird, einen Resetimpuls auslöst. Diese Funktion wird für ein absturzsicheres System benötigt. In dem Programm muß dann regelmäßig der WDT zurückgesetzt werden. Stürzt das Programm ab, so wird der WDT nicht zurückgesetzt und löst einen Reset aus. Dann kann das Programm mit seiner Arbeit fortfahren. Der WDT ist von allen anderen Einrichtungen des Controllers unabhängig. Sogar seine Betriebsfrequenz wird intern speziell für ihn erzeugt.

Diese Steuerbits sind in dem sogenannten Option-Register zusammengefaßt (OPTION-Befehl). Die Anordnung der Bits und deren Bedeutung sind in der folgenden Tabelle dargestellt:

Tab.1
Anordnung der Bits und deren Bedeutung
BitBedeutung
0-2Wert des Vorteilers
3PSA-Bit, Vorteiler an WDT
4RTE-Bit, RTCC-Takt bei fallender Flanke
5RTS-Bit, externer RTCC-Takt
Seite 9 von 10