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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.