Navigation:  Bibliotheken > Timer >

Pulsweitenmodulation

Vorherige SeiteZurück zur Kapitel ÜbersichtNächste Seite

 

Es stehen zwei unabhängige Timer für die Pulsweitenmodulation zur Verfügung. Timer_0 mit 8 Bit und Timer_1 mit 16 Bit. Mit einer Pulsweitenmodulation läßt sich sehr einfach ein Digital-Analog-Wandler realisieren. Auf dem Mega128 kann zusätzlich Timer_3 genutzt werden.

 

Timer0 (8 Bit)

 

Beispiel: Pulsweitenmodulation mit 138,9 µs Periode und 5,42 µs Pulsweite, geändert auf  10,84 µs Pulsweite

 

//  Puls: 10*542,5 ns = 5,42 µs, Periode: 256*542,5 ns = 138,9 µs

Timer_T0PWM(10,PS0_8);  

 

Timer_T0PW(20);         //  Puls: 20*542,5 ns = 10,84 µs

 

Timer1 (16 Bit)

 

 

Beispiel: Pulsweitenmodulation mit 6,4 ms Periode und 1,28 ms Pulsweite Kanal A und 640 µs Pulsweite Kanal B

 

Timer_T1PWMX(10,20,10,PS_1024); //  Periode: 100*69,44 µs = 6,94 ms

                                //  PulsA: 20*69,44 µs = 1,389 ms

                                //  PulsB: 10*69,44 µs = 694,4 µs