ALso den Drehzahlmesser hab ich damals auch in Bascom gemacht.
Der "Nachteil" mit der Auflösung war mir im Prinzip egal. Da es ja eigentlich keinen Unterschied macht, ob der Motor jetzt mit 3400 oder 3460 dreht.

Also mal ein Codeteil (Kann sein, dass irgendwo noch kleine Fehler sind, also ein = zuviel o.ä., aber seit Februar hab ich Bascom eigentlich nicht mehr verwendet)
Code:
' INT0 initialisieren
Config INT0 = Falling ' oder Rising; an sich egal
On INT0 ISR_Int0 ' Bei Auslösung: Springe nach ISR_Int0
Enable INT0 ' INT0 einschalten
Enable Interrupts ' Interrupts global freigeben

' Timer einstellen
Config Timer1 = ... je nach gewünschter Dauer...
On Timer1 ISR_Timer1
Enable Timer1

DIM Pulse as Word ' Zählvariable
DIM Drehzahl as Word

DO
'Main-Loop, irgendwas machen, z.B. Ausgaben etc
LOOP

ISR_Int0:
INCR Pulse ' Pulse um 1 erhöhen
Return

ISR_Timer1:
Drehzahl = Pulse * Faktor ' (Faktor je nach Motortakte/Zylinderzahl/Messzeit)
Pulse = 0
Return

So lassen sich schon mal die Pulse zählen. Jetzt nur noch nen Timer mit der gewünschten Zähllänge dazu, dort die Anzahl der Pulse auswerten und die Variable 'Pulse' wieder auf 0 setzen.