Forum: Mikrocontroller und Digitale Elektronik ATMega16 - 16BitTimer - Verständnisproblem


von Falk (Gast)


Lesenswert?

Hallo allerseits!
Ich experimentiere hier gerade mit dem 16-Bit Timer und einem 
LED-Lauflicht herum.
Leider scheint mein Verständnis von diesem Timer vollkommen falsch zu 
sein.

Zu meiner Schaltung: Am ATMega16 hängt ein 11,0592MHZ Quarz (wie in den 
meisten Tutorials) und ein LED Lauflicht mit 8 LEDs.

In meinem Programm habe ich den Timer nun mit einem Prescaler von 256 
versehen (d.h. Bit CS12 gesetzt).
Das OutputCompare Register steht zur Zeit auf "OCR1A = 0x0002".

Das ganze löst dann ein Interrupt aus, welches wiederum einen Zähler 
erhöht. Wenn der bei 1000 angekommen ist, schalte ich das Lauflicht um 1 
weiter.
Was ich also gerne hätte ist, dass das OutputCompareMatch genau jede 
Millisekunde ausgelöst wird, so dass das Licht jede Sekunde um 1 
weitergeht.


Allerdings läuft das ganze UNENDLICH langsam. Anstatt jede Sekunde 
dauert es fast 20 Sekunden, bis die LED weiterspringt. Ich habe auch 
schon mit allen möglichen Werten für das CompareRegister und den 
Prescaler rumprobiert, aber es will einfach nicht.

Meine Rechnung:
Wenn der Quarz 11,0592MHZ hat, und der Prescaler bei 256 liegt, läuft 
das ganze noch mit 43.200HZ.
Da mein Compare Register auf 2 steht, müsste eigentlich 22.000 pro 
Sekunde "interrupted" werden, richtig (das ergäbe zwar keinen 
MilliSekundentakt, aber trotzdem was ganz schnelles)?
Aber warum ist das ganze dann soooooo langsam?

von Daniel (Gast)


Lesenswert?

Hast du den Takt für den Timer auf den 11.irgentwas Mhz Takt gelegt? 
Wenn der nämlich noch auf einen anderen langsameren Takt wie z.B. 
systemclock läuft ist halt alles viel zu langsam. Ich weiss nicht wie 
das bei den AVRs geht. Aber irgentwas mit Clock select oder so.


von Daniel (Gast)


Lesenswert?

Achso mit programmierbarer Logik hat das hier nicht viel zu tun

von Frank (Gast)


Lesenswert?

taktet der Controller denn wirklich per Quarz oder rennt Der noch intern 
(so wie er geliefert wurde) mit 1MHz vor sich hin?

bye

Frank

von Falk (Gast)


Lesenswert?

Ich habe tatsächlich das falsche Forum erwischt :-(  SORRY
Werde den Beitrag "rüberschieben..."

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.