
Zitat von
MOLE
wie man die Frequenz aus alternativer Quelle richtig bestimmen kann
Hallo MOLE!
Es geht sicher auch besser, aber hier mein erster Versuch:
Code:
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
$baud = 9600
Dim Cur_freq As Long
Dim Avg_freq As Long
Dim Tmp As Long
'INT0 = PD2
Config Pind.2 = Input
Portd.2 = 1 'PullUp
Config Int0 = Falling
On Int0 On_int0
'TIMER0 so eingestellt dass der Interrupt jede Sekunde auslöst
Config Timer1 = Timer , Prescale = 256 , Clear Timer = 1
Compare1a = 31250
On Compare1a On_compare1a
Enable Int0
Enable Compare1a
Enable Interrupts
Do
Print Str(avg_freq) + " Hz"
Wait 2
Loop
End
On_int0:
Incr Cur_freq
Return
On_compare1a:
Tmp = Cur_freq
Cur_freq = 0
If Tmp = 0 Then
Avg_freq = 0
Else
Tmp = Avg_freq + Tmp
Avg_freq = Tmp / 2
End If
Return
mfg
Gerold
:-)
Lesezeichen