Frequenz Messen

Gast #194254
Lesenswert?

Hallo, ich möchte mit meinem AT89S8252 eine Frequenz messen...

Meine Idee war den Timer 0 zu verwenden und dieser soll dann zählen
wenn an PortPin 3.2 eine 1 anliegt. Bei negativer Flanke löst dieser
einen Interrupt aus... der Zählerstand (16 Bit) wird BCD gewandelt und
über die Serielle Schnittstelle ausgegeben...

soweit funktioniert es... aber es kommen voll falsche Messwerte
heraus...auf Oszi sind es ca 7ms und der controller sagt 0,6 ms... was
noch seltsamer ist, das er auch sehr oft, bei hohen frequenzen 700Hz 0
als zählwert ausgiebt...geht ja gar nicht...

kennt sich jemand damit aus...hab auch schon überall im netzt
gesucht...finde aber nix.

was mach ich falsch??

Danke!
Gast #194257
Lesenswert?

Was für eine Taste? Ist die womöglich mit Masse verbunden? Weißt Du, was
Masse bzw. Versorgungsspannung ist? Weißt Du, was eine '1' und eine
'0' sind?

Franz hat übrigens mit seinem kryptisch erscheinenden Beitrag recht.
Ohne weitere Informationen von Dir können andere nur raten und daher
mehr oder weniger zufällige Hinweise geben.

Ich würde beispielsweise in Zeile 78 das dritte Zeichen durch ein '>'
ersetzen, das mache ich in solchen Fällen immer so.
Gast #194259
Lesenswert?

O je.

  "Ich hab halt als Port 2 Taster... wenn ich ihn drücke giebt der
  MC eine 0 aus."

Was bitte mag das heißen sollen?

(Masse ist übrigens eine landläufige Bezeichnung für das
Nullpotential).

Ich vermute mal, daß Dein Taster beim Drücken einen Portpin mit Masse
verbindet, der sonst über einen Pullup-Widerstand auf +5v-Pegel gehalten
wird. Damit könnte die Polarität erklärt sein.

Lerne Informationen in Sätzen unterzubringen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren