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