timer

Moderator Persönliche Seite #365455
Lesenswert?

Im Auslieferungszustand wird der ATmega8 mit dem internen
1-MHz-RC-Oszillator betrieben.  Da der 16-bit-Zähler maximal
bis 65535 zählen kann, brauchst du also einen Vorteiler von
mehr als 1000000/65536 = 15.258.  Der nächste mögliche Vorteiler
wäre 64 (CS10 und CS11 in TCCR1B gesetzt).  1000000/64 ergibt
15625 Hz Taktfrequenz für den Timer.

Du müsstest als Betriebsmodus den CTC-Modus (clear timer on
compare match) einstellen (WGM12 in TCCR1B gesetzt) und in
OCR1A den Wert 15625 laden, dann bekommst du einen compare
match jede Sekunde.  Dazu wirst du vermutlich den compare match
1A Interrupt einschalten wollen, damit du zum Ablauf jeder
Sekunde auch irgendwas erledigen kannst. ;-)

Falls du den vorhandenen Quarz per Fuse konfiguriert haben
solltest, ändert sich die Rechnung natürlich.  Ich habe aber
keine Ahnung, welche Frequenz selbiger haben soll.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren