Forum: Mikrocontroller und Digitale Elektronik Softwarezähler 16 Bit


von R--- S. (rene66)


Lesenswert?

Hallo,

ich möchte gern bei einen externen LOW HIGH LOW Signal die High Zeit 
messen und diese dann Exakt im 16 Bit Bereich wiedergeben. Timer1 des 
Mega 16 ist leider schon vergeben und daher für diesen Zweck nicht 
genutzt werden.
habt Ihr Iden?
Sprache ist assembler.

von M. V. (-_-)


Lesenswert?

>diese dann Exakt im 16 Bit Bereich wiedergeben

Hmm, bitte was genau soll gemacht werden?

Welche Taktfrequenz? Was ist die maximale und minimale Dauer der 
High-Zeit?
Wie genau soll das Ergebnis sein?

>habt Ihr Iden?

Externen Interrupt nutzen, auf steigende Flanke stellen, Zeitzählung 
beginnen und auf fallend umstellen, Zeitzählung beenden.

von Spess53 (Gast)


Lesenswert?

Hi

Sieh dir mal die Beschreibung von 'adiw' an.

MfG Spess

von R--- S. (rene66)


Lesenswert?

Hallo,

Frequenz 16 Mhz

die Zeiten liegen im bereich zwischen 15,62 usec und ca. 28 usec.
Momentan hatte ich das mit Timer 1 Vorteiler /0. Dann habe ich das mit 
Timer0 und einen Vorteiler von 8 versucht. Das wird dann aber zu 
ungenau.
jetzt dachte ich ich kann das Problem mit einer Software Zählschleife 
lösen die die Zeit eines eines Externen High Pegelsmessen kann.

von Peter D. (peda)


Lesenswert?

René Schink wrote:
> Dann habe ich das mit
> Timer0 und einen Vorteiler von 8 versucht. Das wird dann aber zu
> ungenau.

Na dann den Overflowinterrupt aufsetzen und darin ein weiters Byte 
zählen.


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.