User manual

369 C-Control Pro IDE
© 2013 Conrad Electronic
5.26.1.1
Ereigniszähler
Hier zwei Beispiele, wie die Timer als Ereigniszähler genutzt werden:
Timer0 (8 Bit)
// Beispiel: Pulszählung mit CNT0
Timer_T0CNT();
pulse(n); // n Pulse generieren
count=Timer_T0GetCNT();
Beim Mega128 ist aus Hardwaregnden die Benutzung von
Tim er_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.26.1.2 Frequenzerzeugung
Zur Frequenzerzeugung können
Tim er_0, Tim er_1
und
Tim er_3
folgendermaßen eingesetzt werden:
Timer0 (8 Bit)
1. Beispiel:
// Rechtecksignal mit 10*1,085 µs = 10,85 µs Periodendauer
Timer_T0FRQ(10, PS0_8)
2. Beispiel: gepulste Frequenzbcke (Projekt FRQ0)
void main(void)
{
int delval; // Variable r die Ein-/Ausschaltzeit
delval=200; // Wertzuweisung der Variablen delval
Timer_T0FRQ(100,PS0_1024); // Der Timer wird auf die Frequenz
// Periode=138,s*100=13,9ms,Frequenz= 2Hz
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.
}
}