C Control PRO Unit Mega 128 198219 User Manual
Product codes
198219
371
C-Control Pro IDE
© 2013 Conrad Electronic
Beispiel: Pulsweitenmodulation mit 6,4 ms Periode und 1,28 ms Pulsweite Kanal A und 640 µs Pulswei-
te Kanal B
te Kanal B
100
,
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
Bei den Timer PWM Funktionen ist ein Wert von Null für den Pulsweiten Parameter nicht er-
laubt, und schaltet den Ausgang des PIN auch nicht aus. Um ein low Signal zu erzeugen, muss der
Timer ausgeschaltet werden (Timer_Disable) und der PIN auf Ausgang geschaltet werden. Benutzt
man eine PWM Funktion die mehrere PWM Signale erzeugt, dann eine PWM Funktion aufrufen
(z.B.Timer_T1PWM), die den PIN, der auf low geschaltet werden soll, nicht umfaßt.
Timer ausgeschaltet werden (Timer_Disable) und der PIN auf Ausgang geschaltet werden. Benutzt
man eine PWM Funktion die mehrere PWM Signale erzeugt, dann eine PWM Funktion aufrufen
(z.B.Timer_T1PWM), die den PIN, der auf low geschaltet werden soll, nicht umfaßt.
Ein Beispiel:
while(1)
{
Timer_T1PWMX(255,128,128,PS_8);
Timer_T1PWA(128);
Timer_T1PWB(128);
AbsDelay(1000);
// OC1B ausschalten
Timer_Disable(1);
Timer_T1PWM(255,128,PS_8);
Port_DataDirBit(14,1);
Port_WriteBit(14,0);
}
5.26.1.5
Puls & Periodenmessung
Mit Timer_1 oder Timer_3 (
nur Mega128
) können Pulsweiten oder Signalperioden gemessen werden.
Es wird mit Hilfe der Input Capture Funktion (spezielles Register des Controllers), die Zeit zwischen
zwei Flanken gemessen. Diese Funktion nutzt den Capture-Interrupt (
zwei Flanken gemessen. Diese Funktion nutzt den Capture-Interrupt (
). Der Puls
wird zwischen einer steigenden und der nächsten fallenden Signalflanke gemessen. Die Periode wird
zwischen zwei steigenden Signalflanken gemessen. Durch die Input Capture Funktion gehen Pro-
grammlaufzeiten nicht als Ungenauigkeit in das Meßergebnis ein. Mit dem programmierbaren Vortei-
ler kann die Auflösung des Timer_1 festgelegt werden. Vorteiler siehe
zwischen zwei steigenden Signalflanken gemessen. Durch die Input Capture Funktion gehen Pro-
grammlaufzeiten nicht als Ungenauigkeit in das Meßergebnis ein. Mit dem programmierbaren Vortei-
ler kann die Auflösung des Timer_1 festgelegt werden. Vorteiler siehe
) einschalten
word PM_Wert;
void Timer1_ISR(void)
{
int irqcnt;