Wie kann man mit 8 Bit Timer Ein sekunden Takt erzeugen (rechnen)?
Danke im voraus.
4 Antworten
![](https://images.gutefrage.net/media/user/iqKleinerDrache/1569246496760_nmmslarge__3_0_160_160_b62c7a52995284adf52d0d38e9cb1bc5.png?v=1569246497000)
a = a + 1
if (a mod hz) = 0 then sekundentask
// a = zähler
// hz = Hertzzahl des Timers (muss kleiner 256 sein)
// sekundentask ist alles was eben jede sekunde gemacht werden soll
![](https://images.gutefrage.net/media/user/Commodore64/1444744661_nmmslarge.jpg?v=1444744661000)
Meinst Du Mikrocontroller wie PIC oder AVR?
Dafür gibt es Webseiten und Apps die Dir das direkt berechnen können.
Zum Beispiel hier:
https://eleccelerator.com/avr-timer-calculator/
Beim Arduino richtet das System direkt einen Timer mit 1ms Interrupt ein. In die ISR kannst Du dann einen Zähler einbauen der das dann noch mal durch 1000 Teilt. Der 1ms Timer wird für die Delay Befehle verwendet und steuert noch einige andere Funktionen wie z.B. USB Kommunikation.
![](https://images.gutefrage.net/media/user/Commodore64/1444744661_nmmslarge.jpg?v=1444744661000)
Gib mal "AVR" in Dein Smartphone im Appstore ein. Da findest Du einige Tools, unter anderem auch Code-Generatoren wo Du den Timertakt eingibst und fertigen Code bekommst.
Für den AVR gibt es auch "RTC" (Real Time Clock) Funktionen die direkt Millisekunden, Sekunden, Stunden, Tage, Wochentage, Monate und Jahre in (globale) Variablen schreiben die man dann in seinem programm beliebig benutzen kann.
Nicht vergessen die globalen Variablen als "volatile" zu kennzeichnen, sonst werden Änderungen durch eine ISR in der Variable nicht berücksichtigt!
![](https://images.gutefrage.net/media/user/newcomer/1444744096_nmmslarge.jpg?v=1444744096000)
8 Bit Timer hat 256 Stufen, teilt man 1 Sekunde durch 256 kommt man so auf 0,0039 Sekunden oder anders einen Frequenzgenerator mit 256 Hz
da die 256 Hz durch 256 Takte geteilt werden kommt daraus 1 Sekunde
![](https://images.gutefrage.net/media/user/iqKleinerDrache/1569246496760_nmmslarge__3_0_160_160_b62c7a52995284adf52d0d38e9cb1bc5.png?v=1569246497000)
ich denke die Timerbausteine haben andere Frequenzen ... das muss dann genommen werden. Früher hatte ich welche die hatten 60Hz ... keine Ahnung was heutige haben. Das müsste der FS dann dazu sagen.
![](https://images.gutefrage.net/media/user/newcomer/1444744096_nmmslarge.jpg?v=1444744096000)
wenn aber 1 Sekunde Puls entstehen soll muss man diesen Frequenzteiler der 256 Schritte hat so einen Takt geben dass er nur 1 mal pro Sekunde was aus gibt sprich wieder 0 erreicht
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Die Frage ist zu ungenau. Bei Mikrocontrollern gibt es z.B. häufig Vorteiler (Prescaler) und Vergleichsregister (Compare). Dadurch ergibt sich eine sehr große Variationsmöglichkeit.
Wenn du nur den reinen Zählteil hast, kannst du mit 8Bit schon mal 8 reine verschiedene Teilerstufen darstellen. Mit ein bisschen Logik auch schon mehr.
AVR