habe den Oszillator schon auf 2 Mhz stehen

habe testweise auch 4 oder 8 versucht
$crystal ist NICHT der Oszillator!
Der $crystal Wert bestimmt nicht die µC Frequenz sondern umgekehrt. Der Wert muß auf den Wert eingestellt werden, mit dem der µC läuft. BASCOM-Help: http://avrhelp.mcselec.com/crystal_1.htm
Zum Berechnen der Durchflußmenge in Deinem Programm:
Die Timerfrequenz ist mit "Config Timer1 = Timer, Prescale = 64" auf 15625 Hz eingestellt
Ich gehe immer noch davon aus, daß der µC wegen der unveränderten Fuses mit 1Mhz läuft (1Mhz / 64 = 15625Hz)
Mit dem Oszilloskop hast Du eine Zeit von Flanke zur Flanke des Sensorsignals von 0,060 Sekunden gemessen.
In dieser Zeit sollte also der Timer vom Start bis zum Stopp 938 (937,5) Schritte gemacht haben. Es sollte also in der Auswerteroutine
in "Tempword" ein Wert von 938 stehen.
Code:
Templong = Tempword * 95 '(Templong = 89110)
Tempsingle = 31250 / Templong '(Tempsingle = 0,35...)
Durchflusstemp = Tempsingle * 3600 '(Durchflusstemp = 1262)
If Durchflusstemp > 200 And Durchflusstemp < 1000 Then
Durchfluss = Durchflusstemp
end if
In Durchfluß müßte also 0 oder ein ungültiger Wert stehen, da 1262 nicht kleiner als 1000 ist.
Ohne Bedingung würde in Durchfluss also ungefähr das Doppelte von dem stehen, daß Du haben müsstest (625 Liter)
Wenn Du statt mit 31250 mit 15625 rechnest (der "echten" Timerfrequenz), kommst Du auf 631 Liter, also fast den richtigen Wert. Man merkt schon, daß das durch Meßungenauigkeit und Rundungsfehler schon nicht besonders gut ist.
Falls trozdem große Abweichungen entstehen: Du läßt ja Tempword am Display ausgeben. Was steht den da drin? Falls da zu große Differenzen auftauchen müßte man die eigentliche Messung mal genauer unter die Lupe nehmen.
PS
Der
AVR zeigt mir aber irgendwas um die 910 Liter an
Ist das am Ende die Displayausgabe von Tempword und Durchfluß wird aus o.g. Gründen irgendwie nicht angezeigt 
Noch ein PS:
Warum rechnest Du mit 95 ("Templong = Tempword * 95")? Mit 96 wird es genauer
Gruß
Searcher
Lesezeichen