Hallo!
Also nachdem ich mir überlegt habe das es Schwachsinn ist eine Frequenz erst über nen D/A Wandler zu wandeln und anschließend mit dem ADC vom Mikrocontroller zu wandeln und weiter zu verarbeiten (is ja dumm weil ich dann ja "umsonst" umwandel) habe ich mir folgendes Programm überlegt um eine Rechteckfrequenz zu messen:

Code:
$regfile = "2313def.dat"
 $framesize = 32
 $swstack = 32
 $hwstack = 32
 $crystal = 8000000
 $baud = 9600

Config Portb.0 = Output                                     'definiert Portb.0 als output

Config Pind.5 = Input                                       'Ein Pin (PD5) wird als Eingang definiert
Portd.5 = 1                                                 'Interner Pullup Widerstand ein

Config Timer1 = Timer , Prescale = 256                      'Konfiguriere Timer1
Enable Timer1                                               'schalte den Timer1 ein
On Timer1 Isr_von_timer1                                    'verzweige bei Timer1 überlauf zu   Isr_von_Timer1
Enable Interrupts
Timer1 = 34285                                              'Timer1 soll schon von 34285 wegzählen


Dim Signale As Integer
Signale = 0

Do

If Pind.5 = 0 Then
   Incr Signale

  Else
    'nichts tun da wir keinen Eingangsimpuls haben
  End If
Loop

End

Isr_von_timer1:                                             'ISR von Timer1
                                              'Timer1 soll wieder von 34285 wegzählen
If Signale > 3 Then
Portb.0 = 1
Else
Portb.0 = 0
End If
Wait 1
Signale = 0
Timer1 = 34285


Return

Ich lege also an PD5 eine rechteckfrequenz an die den Eingang nach Masse zieht. Sobald der Eingang nach Masse gezogen wird wird die Variable "Signale" incrementiert. Der Timer ist so konfiguriert, dass jede Sekunde überprüft wird wieviele Eingangsimpulse in der Sekunde angekommen sind. Momentan überprüfe ich dann ob es mehr als 3 sind. Falls ja wird PB0 auf high gesetzt woran ich eine LED klemmen habe.


Zum testen habe ich einen Taster nach masse gelegt von PD5. Über diesen erzeuge ich also zum testen meine Rechteckfrequenz. Wenn ich jetzt schneller als 3 mal pro sekunde drücke sollte eigentlich die LED angehen. Leider ist die LED schon an sobald ich die Stromversorgung vom MC anmache....
Hab ich einen Denkfehler in meinem Programm?