Hallo,
Mein Programm soll später mal ein Frequenzzähler werden.
Mit Timer0 wird ein Zeitfenster vorgegeben in dem die Impulse gezält werden.
Wenn ich TTL-Impulse von einem Tongenerator einspeise (ATMEGA8 PD5 T1) erhalte ich keine Reaktion.
Wo liegt mein Fehler?
Code:'Dieses Programm soll mal ein Frequenzzähler werden, wenn es groß ist ;-) 'Mit Timer0 wird später ein Zählfenster von einer Sek eingestellt. 'Mein Problem ist, dass ich imPulse die ich an T1 (PD5) anlege 'nicht zählen kann. Ich erhalte immer 0 ?????? 'Wo ist mein Fehler? $regfile = "m8def.dat" $crystal = 16000000 $baud = 38400 Dim Var1 As Byte Dim Freq As Long Dim W As Long Print "hallo" 'zum Überprüfen der Verbindung Config Portb = Output Config Portd = Input Config Timer1 = Counter , Edge = Rising , Prescale = 1 Enable Timer1 'Counter1 Einstellungen On Timer1 Pulses Enable Interrupts Timer1 = 0 Config Timer0 = Timer , Prescale = 1024 'Konfiguriere Timer0 Enable Timer0 'Torzeit für Messung On Timer0 Sek Enable Interrupts Timer0 = 9 Do '....Hauptprogramm Loop End 'Interruptroutinen Von Timer0 Und Counter1 Sek: Incr Var1 If Var1 = 2 Then Freq = W + Timer1 Var1 = 0 Timer0 = 0 Toggle Portb.1 Print Freq Print W End If Return Pulses: W = W + 65536 Print "W" Print W Return







Zitieren

Lesezeichen