Programmierung der AVR-Microcontroller mit C - UlrichRadig.de
Programmierung der AVR-Microcontroller mit C - UlrichRadig.de
Programmierung der AVR-Microcontroller mit C - UlrichRadig.de
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