F.messung ohne Timer/Counter AT89S52

Gast #124533
Lesenswert?

Brauche mal euren Rat.
Ich muss mit dem o.g. Controller eine Frequenz messen, was ja
eigentlich kein Problem darstellen sollte, ABER ich habe beide Timer
die der uC hat schon im Gebrauch. Timer 0 läuft als Timer und erzeugt
internen Interrupt und Timer 1 läuft als externer Counter für
Drehzahlmessung (also auch eine Frequenzmessung).
3. Frequenz wird die Geschwindigkeit, aber wie kann ich nun die
messen?
Am besten wird es wohl sein, dass ich den Counter 1 multiplexe oder?
Gast #124534
Lesenswert?

Hallo!

Das kommt darauf an, welche Frequenzen du so hast, und was der
Controller sonst noch so machen muß. Reine Softwarelösungen haben halt
immer das Problem, daß sie leicht durch einen Interrupt unterbrochen
werden, und dann das Ergebnis nichts mehr ist. Wenn man aber gezielt in
einer 'Lücke' messen kann, spricht wenig gegen eine Softwarelösung.

Andererseits: was spricht denn gegen multiplexen?

servus,
Martin
Gast #124535
Lesenswert?

Für eine Lösung wären halt die Parameter interessant. Wenn die Periode
vom Timer0 mit dem zu messenden Signal zusammenpasst könntest du das
Signal auf einen ext. Interrupt legen, welcher eine Variable
incrementiert. Bei jedem Tmr0 overflow liest du die Variable aus und
setzt sie wieder auf Null.

grüsse leo9
Gast #124536
Lesenswert?

Gegen das multiplexen spricht eigentlich, das ich einen Pin mehr brauche
und der (minimale) Hardware aufwand. Pins sind verdammt knapp. Um es zu
konkretisieren: Es geht um einen Boardcomputer für meinen Wagen. Ich
überwache meine Boardspannung, Lambdawert, Innenraumtemp, Außentemp,
Motordrehzahl, Alarmanlagenfeatures usw.
Also was Software angeht ist der uC ziemlich ausgelastet.

Ich wollte jetzt noch die km/h hinzufügen, also letztendlich Pulse
zählen und auf die Zeit beziehen. Den Zeitbezug bekomme ich über Timer0
und Pulse habe ich mit Counter1 gezählt beim DZM.

Nehme mal an, dass das multiplexen doch wohl die einfachste und beste
Lösung ist?

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