Code:$regfile = "2313def.dat" Dim Var1 As Byte Dim Var2 As Long Dim Freq As Long Config Portb = Output Config Portd = Output Enable Interrupts Enable Timer0 Enable Timer1 Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Counter , Edge = Rising Config Pinb.5 = Input Portb.5 = 0 On Timer0 Test1: ' Springe zu Test1 wenn Timer0 "voll" On Timer1 Test2: ' Springe zu Test2 wenn Timer1 "voll" Timer0 = 216 ' Constante zum erzeugen einer "Exacten" Sek. Timer1 = 0 Start Timer0 Start Timer1 'Auf die Pins, Fertig, Messen! Do ' Anzeige Schlaufe Loop Test1: ' Wenn Timer0 (Gatetimer) voll, dann Var1 + 1 Incr Var1 If Var1 = 39 Then 'Wenn Timer0 39 überlief (1 Sek) dann: If Portd.5 = 0 Then Portd.5 = 1 Else Portd.5 = 0 ' Wenn Sek. vorbei schaltet LED an oder aus ( zur Kontrolle ) Freq = Timer1 ' Lese Timer1 aus ( Counter ) Freq = Freq + Var2 ' Addiere Timer1 und Anzahl der überlaufe von Timer1*256 Var1 = 0 Var2 = 0 Stop Timer0 ' Starte Messung erneut Stop Timer1 Timer0 = 126 Timer1 = 0 Start Timer0 Start Timer1 Return End If Return Test2: ' Wenn counter (Timer1) überlauft, dann addiere 65536 Var2 = Var2 + 65536 Return
Lesezeichen