Forum: Mikrocontroller und Digitale Elektronik Korrekte Berechnung vom Startwert des Timers


von Kami (Gast)


Lesenswert?

Hallo zusammen,

ich hab hier eine Aufgabe und die dazugehörige Lösung. Nur leider 
verstehe ich einen Schritt absolut nicht :/
Berechnet werden soll der Startwert für einen Timer bei einem 
Systemticker von 1ms und einem Systemtakt von 18Mhz. Es handelt sich um 
einen 16Bit Timer und den dazugehörigen Interrupt. Später sollen damit 
zwei Funktionen betrieben werden, die jeweils alle 300ms und 1s 
aufgerufen werden. Wie man das umsetzt ist kein Problem, allerdings tue 
ich mich bei der Berechnung des Startwertes für den Timer schwer.

Theoretisch würde ich jetzt erst einmal die Periodendauer berechnen, 
also f = 1/T bzw. hier dann T = 1/f, aber in der Lösung steht dann 
folgendes:

1/(18/6)=1/3µs (woher kommt hier die 6?!)
und im Anschluss 1000µs/(1/3µs) = 3000 = 0x0BB8 -> 0xFFFF - 0x0BB8 = 
0xF447.

Könnte mir vielleicht jemand dieser Schritte mal plausibel erklären und 
vor allem, woher genau die 6 hier kommt?

Vielen Dank für eine Antwort! :)

von FPGASchubser (Gast)


Lesenswert?

Wäre gut wenn du den verwendeten Prozessor benennst.

Evtl. hadelt es sich um einen Prozessor der die Frequenz für einen 
Zyklus durch 6 Teilt.
z.B. Manche 8031 - Prozessoren !

Gruß

von Karl H. (kbuchegg)


Lesenswert?

Kami schrieb:

> 1/(18/6)=1/3µs (woher kommt hier die 6?!)

Druckfehler?
18Mhz sind zufällig 18 Millionen, also 18 * 10 hoch 6 Herz

Der Rest der Berechnung ist klar, auch wenn ich nicht verstehen kann, 
warum man das unbedingt HEX-rechnen muss. Aber ist OK.

von Kami (Gast)


Lesenswert?

> Evtl. hadelt es sich um einen Prozessor der die Frequenz für einen
> Zyklus durch 6 Teilt.
> z.B. Manche 8031 - Prozessoren !

Das war es tatsächlich, habe ich dann in den Datenblättern zum Timer 
doch noch gefunden. Vielen Dank dafür!

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.