Forum: Mikrocontroller und Digitale Elektronik Zeitintervall zur Messung


von Bastian (Gast)


Lesenswert?

Hallo,

ich möchte mit meinem 2313 in Assembler irgendwie die genaue Anzahl von 
Impulsen in einer fest definierten Zeitspanne zählen.

Also z.B. wieviele Impulse pro 500ms . Damit möchte ich dann etwas wie 
z.B. Umdr./min oder Umdr./sec realisieren.

Kann mir jemand eine Anregung geben, wie ich die Zeitnahme realisieren 
kann?



Danke

Gruß
Bastian

von thkais (Gast)


Lesenswert?

Du hast eigentlich schon alles selbst beantwortet.
Feste Zeitspanne: Einen Timer-Interrupt, der dem Hauptprogramm den 
Zählerwert mitteilt und den Zähler wieder auf 0 stellt. Am besten den 
16-Bit Timer mit Compare-Interrupt verwenden, da kann man sehr genau die 
Zeitbasis einstellen. Schau Dir im Datenblatt mal die Compare-Funktion 
an (wichtig ist auch das CTC-Bit).
Zählen: Entweder über Polling oder einen Externen Interrupt. Wenn der 
Controller nebenbei noch viel machen soll, ist der Externe Interrupt 
erste Wahl.
Bei niedrigen Frequenzen kann man aber auch die Zeit zwischen zwei 
Impulsen heranziehen, ist genauer.
Dann noch die Umrechnung. 500ms sind ne halbe Sekunde, Umdrehungen /Sec. 
: Zählerwert verdoppeln, Umdrehungen/min: Zählerwert x 120 
(vorausgesetzt 1 Impuls/Umdrehung).

von Michael (Gast)


Lesenswert?

Sieh Dir vielleicht dieses Programm an: 
www.mino-elektronik.de/fmeter/fm_software.htm; es macht mit einem 2313 
eine hochaufgelöste Frequenzmessung - die Drehzahl ist nur Faktor 60 
daneben.

von Bastian (Gast)


Lesenswert?

Danke für eure Anregungen. Dann muss ich mich wohl mal in die Timer 
Sache einarbeiten.

Grundsätzlich:
Der Timer zählt bei jedem Taktimpuls einen hoch und bei überlauf wird 
ein Bit gesetzt?
Dieses Bit muss man auswerten und man hat eine konstante Zeitspanne?



Gruß
Bastian

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.