PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : timer berechung



farmerjo
15.02.2006, 15:28
Hi!
Timer1 als Timer konfiguriert mit Prescale = 8
Timer vorgeladen mit 55536 bei 8 Mhz Taktfreuquenz müßte mir doch alle 10ms oder mit 100Hz einen Interrupt liefern. Ich hab hier auch so ein Java Skript zur berechung gefunden, da wir aber die Zielfrequenz irgendwie in MHz angegeben bischen komsich. Kommt auf jedenfall etwas anderes raus als ich mir ausgerechnet habe.

Gruß Johann!

askazo
15.02.2006, 17:21
Wenn Du den Prescaler auf 8 setzt, tackert Dein Timer mit 1MHz.
Nutzt Du nun den Output Compare Interrupt, bekommst Du alle 55536 Timertakte einen Interrupt. Das wärem also alle 55536/1MHz = 55,536ms.

Um auf 10ms zu kommen, müsstest Du den Timer mit 10ms * 1MHz = 10000 vorladen.

Und nicht vergessen, den Timer beim Interrupt zu reseten.

askazo

farmerjo
15.02.2006, 18:08
Zählt der den runter oder rauf? Ich nutze den Timer zurzeit über Bascom.
Ich hatte eigentlich so gerehnet. Timerfrequenz mit der er hochzählt ist 1 Mhz, also 1MHz /100 = 10000 Zyklen
65536-10000 = 55536
So nun zählt der 10000 dazu. Läuft über und springt die Interrupt adresse an. Dort wird er neu geladen das interrupt-Programm abgearbeitet und zurück in das Hauptprogramm.

Gruß Johann!

AlexAtRobo
15.02.2006, 19:21
Ja, darfst halt nicht vergessen, den Timer bei jedem Überlauf neu vorzuladen.

lg

Alex