C Control PRO Unit Mega 128 198219 User Manual

Product codes
198219
Page of 429
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
();
pulse(n);            
//  n Pulse generieren
count=
();
 Beim Mega128 ist aus Hardwaregründen die Benutzung von 
Tim e r_ 0
 als Zähler nicht möglich!
Timer1 (16 Bit)
//  Beispiel: Pulszählung mit CNT1
();
pulse(n);            
//  n Pulse generieren
count=
();
5.26.1.2
Frequenzerzeugung
Zur Frequenzerzeugung können 
Tim e r_ 0 , Tim e r_ 1
 und 
Tim e r_ 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 Frequenzblöcke (Projekt FRQ0)
void main(void)
{
    int delval;             
// Variable für die Ein-/Ausschaltzeit
    delval=
200
;             
// Wertzuweisung der Variablen delval
    
100
,PS0_1024); 
// Der Timer wird auf die Frequenz
                               
// Periode=138,9µs*100=13,9ms,Frequenz= 2Hz
    while (
1
)
    {
        AbsDelay(delval);        
// Zeitverzögerung um 200ms
        
();          
// Der Timer wird angehalten.
        AbsDelay(delval);        
// Zeitverzögerung um 200ms
        
(PS0_1024); 
// Der Timer wird mit dem Timer Prescaler
                                 
// PS0_1024 eingeschaltet.
    }
}