Titelbild Mikrocontroller

11.3. Compare Channel

Jeder Compare Channel vergleicht permanent den Zählerwert mit dem CMPx Register. Wenn beide Werte gleich sind, wird diese Übereinstimmung an den Waveform Generator weitergemeldet. Bei den Low Byte Countern wird zusätzlich das Interrupt Flag des compare Channels gesetzt und damit ein Event oder ein Interrupt erzeugt.

Single slope PWM

Bei der PWM bestimmt das PER Register die Periodendauer und das CMPx Register bestimmt die Pulsweite der durch den Wellenform Generator erzeugten Welle. Der Zähler zählt von TOP bis BOTTOM und startet dann erneut bei TOP. Der Ausgang des Wellenform Generators wird gesetzt, wenn der Zähler (CNT) mit dem CMPx Register übereinstimmt. Der Ausgang wird gelöscht, wenn der Zähler BOTTOM erreicht.

TC Typ2 single slope PWM

TC Typ2 single slope PWM


Port Pins

Um die Wellen an den Pins sichtbar zu machen, müssen die Pins als Ausgang eingestellt sein. Zu dem Low Byte Counter gehören die Channels A bis D und diese stehen in Verbindung mit den Pins 0 bis 3. Der High Byte Counter verwendet die Channels E bis H verbunden mit den Port Pins 4 bis 7.

Beispiel


Codebeispiel PWM Timer Typ2

Codebeispiel PWM Timer Typ2



Dieses Beispiel erzeugt zwei PWM. An Portpin C2 und Portpin C7. Die Frequenz des High Byte Counters ist doppelt so groß wie die des Low Byte Counters, da er einen halb so großen Periodenwert hat (40 statt 80). Auch die Pulsweiten sind unterschiedlich. Beim Low ¼ und beim High ¾.

Beispiel PWM Timer Typ2

Beispiel PWM Timer Typ2


Impressum