12.11.2012 Aufrufe

Programmierung der AVR-Microcontroller mit C - UlrichRadig.de

Programmierung der AVR-Microcontroller mit C - UlrichRadig.de

Programmierung der AVR-Microcontroller mit C - UlrichRadig.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Der Timer/Counter zählt nun permanent von 0 bis zur Obergrenze und wie<strong><strong>de</strong>r</strong> zurück, er wird also<br />

als sogenannter Auf-/Ab Zähler betrieben. Die Obergrenze hängt davon ab, ob wir <strong>mit</strong> 8, 9 o<strong><strong>de</strong>r</strong> 10-<br />

Bit PWM arbeiten wollen:<br />

Auflösung Obergrenze Frequenz<br />

8 255 fTC1 / 510<br />

9 511 fTC1 / 1022<br />

10 1023 fTC1 / 2046<br />

Zusätzlich muss <strong>mit</strong> <strong>de</strong>n Bits COM1A1 und COM1A0 <strong>de</strong>sselben Registers die gewünschte<br />

Ausgabeart <strong>de</strong>s Signals <strong>de</strong>finiert wer<strong>de</strong>n:<br />

COM1A1 COM1A0 Be<strong>de</strong>utung<br />

0 0<br />

0 1<br />

1 0<br />

1 1<br />

Keine Wirkung, Pin wird nicht<br />

geschaltet.<br />

Keine Wirkung, Pin wird nicht<br />

geschaltet.<br />

Nicht invertieren<strong>de</strong> PWM.<br />

Der Ausgangspin wird gelöscht<br />

beim Hochzählen und gesetzt<br />

beim Herunterzählen.<br />

Invertieren<strong>de</strong> PWM.<br />

Der Ausgangspin wird gelöscht<br />

beim Herunterzählen und<br />

gesetzt beim Hochzählen.<br />

Der entsprechen<strong>de</strong> Befehl um beispielsweise <strong>de</strong>n Timer/Counter als nicht invertieren<strong>de</strong>n 10-Bit<br />

PWM zu verwen<strong>de</strong>n heisst dann:<br />

outp ((1

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!