Hallo zusammen Ich hätte da mal ne Frage über den Timer0 beim PIC18F8722! Ich möchte eine Variabel haben, welche nach 1ms 1 raufzählt. Wie muss ich die Register TMR0H und TMR0L berechnen, wenn ich den internen Clock 4000000 und einen Prescaler /2 gewählt habe? Bereits verstanden habe ich, dass man den Clock durch 4 teilen muss. Das ergibt 1000000, dannach habe ich einen Prescaler /2. Dies ergibt 500000. Wie geht es jetzt weiter, damit ich auf 1ms komme? Beste Grüsse
HUHU!! Mit einem Takt von 500kHz für Timer0 brauchst Du 500 Takte um 1ms zu erreichen. Also muss der Timer mit 65536-500=65036 geladen werden, also für TMR0H den Wert 0xFE und für TMR0L den Wert 0x0C (in dieser Reihenfolge, siehe Datenblatt). Dann läuft nach 1ms der Timer über, was Du am TMR0IF-Bit erkennen kannst, oder Du lässt Dir einen Interrupt generieren.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.