Forum: Mikrocontroller und Digitale Elektronik PIC18F8722 Timer0


von Markus (Gast)


Lesenswert?

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

von Markus (Gast)


Lesenswert?

HUHU?? Es wäre wirklich wichtig!

von Severino R. (severino)


Lesenswert?

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
Noch kein Account? Hier anmelden.