Die Impuls Zählmethode mit fester Torzeit ist sicher die einfachste Möglichkeit einen Drehzahlmesser zu bauen.
Dabei gibts allerdings den Nachteil, das man nur Schritte mit 60U/min dabei hat.
Und auch nur dann, wenn man als Torzeit 1sek verwendet.

Bei 0,5sek und 1 Impuls pro Umdrehung sind es dann schon 120 U/min.

Ich bin da lieber für die Periodendauermessung.

Man lässt einen Timer mit Überlaufzähler frei laufen.
tritt ein Impuls auf wird der Zählerstand des vorherigen Impulses vom aktuellen Zählerstand abgezogen.
Verwendet man dazu unsigned Variablen ist auch der Überlauf des Zählers kein Problem.
Dieser Wert entspricht quasi der Periodendauer der Drehzahl und kann in diese Umgerechnet werden.
Diese Methode ist gerade bei niedrigen Drehzahlen sehr genau und man erhält bei jedem Impuls eine Aussage über die Drehzahl.

Ab einer bestimmten Drehzahl werden die ermittelten Zählerstände wiederum so klein, das die Impulszählmethode wieder genauer ist.
Bei meinem letzten Projekt lag diese Drehzahl bei 22000 U/min.
Und da wir auch ein kleiner 2 Takter nur schwer drüber kommen.

Ein Problem der Periodendauermessung möchte ich auch nicht verschweigen. Wenn die Drehzahl so niedrig ist, das der Zähler in einer Periodendauer überläuft, kommt es natürlich zu Fehlmessungen.

Das sollte man in der Soft berücksichtigen und abfangen.

Eine Bascom Source kann ich Dir leider auch nicht anbieten, ich progge auch in "C".
Ausserdem hab ich die letzte gut funktionierende Drehzahlmeßroutine in Assembler geschrieben. Die geht aber auch bis 800000 U/min hoch.