User manual
166 C-Control Pro Mega Series
© 2005 Conrad Electronic
pulse(n);
// n Pulse generieren
count=Timer_T0GetCNT();
Beim
Mega128
ist aus Hardwaregründen die Benutzung von Timer_0 als Zähler nicht möglich!
Timer1 (16 Bit)
// Beispiel: Pulszählung mit CNT1
Timer_T1CNT();
pulse(n);
// n Pulse generieren
count=Timer_T1GetCNT();
5.4.18.2 Frequenzerzeugung
Zur Frequenzerzeugung können Timer_0 und Timer_1 folgendermaßen eingesetzt werden:
Timer0 (8 Bit)
1. Beispiel:
Timer_T0FRQ(10, PS0_8)
// Rechtecksignal mit 10*1,085 µs = 10,85 µs Periodendauer
2. Beispiel: gepulste Frequenzblöcke (Projekt FRQ0)
void
main(
void
)
{
int
delval;
// Variable für die Ein-/Ausschaltzeit
delval=200;
// Wertzuweisung der Variablen delval
Timer_T0FRQ(100,PS0_1024);
// Der Timer wird auf die Frequenz
// Periode=138,9 µs*100=13,9 ms, Frequenz= 72Hz
while
(1)
{
AbsDelay(delval);
// Zeitverzögerung um 200ms
Timer_T0Stop();
// Der Timer wird angehalten.
AbsDelay(delval);
// Zeitverzögerung um 200ms
Timer_T0Start(PS0_1024);
// Der Timer wird mit dem Timer Prescaler
// PS0_1024 eingeschaltet.
}
}
Das Programm ist auf dem
Mega128
nicht im USB Modus funktionsfähig, da der Ausgang PB4 im
Zusammenhang mit dem USB Interface auf dem Application Board genutzt wird.
Timer1 (16 Bit)
1. Beispiel: Frequenzerzeugung mit 125 * 4,34 µs = 1085µs Periode
Timer_T1FRQ(125,PS_64);
2. Beispiel: Frequenzerzeugung mit 10*1,085 µs =10,85 µs Periode und 2*1,085µs =2,17 µs
Phasenverschiebung
Timer_T1FRQX(10,2,PS_8);