C Control PRO UNIT MEGA 32 198206 Benutzerhandbuch
Produktcode
198206
110
Compiler
© 2005 Conrad Electronic
1. Beispiel: Frequenzerzeugung mit 125 * 4,34 µs = 1085µs Periode
125
,ps_64);
2. Beispiel: Frequenzerzeugung mit 10*1,085 µs =10,85 µs Periode und 2*1,085µs =2,17 µs
Phasenverschiebung
Phasenverschiebung
(
10
,
2
,ps_8);
5.3.16.3 Pulsweitenmodulation
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ässt sich sehr einfach ein Digital-Analog-Wandler
realisieren.
Timer_1 mit 16 Bit. Mit einer Pulsweitenmodulation lässt sich sehr einfach ein Digital-Analog-Wandler
realisieren.
Timer0 (8 Bit)
Beispiel: Pulsweitenmodulation mit 138,9 µs Periode und 5,42 µs Pulsweite, geändert auf 10,84 µs
Pulsweite
Pulsweite
Timer_T0PWM(
10
,
2
);
// Puls: 10*542,5 ns = 5,42 µs, Periode: 256*542,5 ns =
138,9 µs
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
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
5.3.16.4 Timerfunktionen
Es stehen zwei unabhängige Timer zur Verfügung. Timer_0 mit 8 Bit und Timer_1 mit 16 Bit. Die Timer
verfügen über einen programmierbaren Vorteiler, siehe Tabelle. Mit dem Timer lässt sich eine Zeit
festlegen, nach der ein Interrupt ausgelöst wird. In der Interruptroutine lassen sich dann bestimmte
Verarbeitungsschritte ausführen.
verfügen über einen programmierbaren Vorteiler, siehe Tabelle. Mit dem Timer lässt sich eine Zeit
festlegen, nach der ein Interrupt ausgelöst wird. In der Interruptroutine lassen sich dann bestimmte
Verarbeitungsschritte ausführen.
Timer_T0Time (8 Bit)
)
einschalten
void Timer0_ISR(void)
{
int irqcnt;
{
int irqcnt;
Port_WriteBit(
0
,
1
);
() ;
// Timer0 anhalten
irqcnt=Irq_GetCount(INT_TIM0COMP);
}
}