Forum: Mikrocontroller und Digitale Elektronik F.messung ohne Timer/Counter AT89S52


von Rick Dangerous (Gast)


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?

von Martin Götzenberger (Gast)


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

von leo9 (Gast)


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

von Rick Dangerous (Gast)


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?

von Jochen (Gast)


Lesenswert?

Der 89S52 hat doch 3 Timer, oder?

von Rick Dangerous (Gast)


Lesenswert?

nein, glaube der mit 3 Timer ist der 89S8252 oder so. wollte auch
ursprünglich den nehmen, aber an den 82S52 hatte ich schon da.

von Peter D. (peda)


Lesenswert?

Der Unterschied 8051/8052 ist: weitere 128 Byte SRAM und Timer T2.

Und T0 kannst Du noch in 2 * 8 Bit aufteilen, damit hast Du also
insgesamt 4 Timer/Counter.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.