Timer0 berechnung

OP #3036479
Lesenswert?

Hallo,

ich möchte einen kleinen Timer mit meinem PIC16F887 in C mit MPLAB 
Programmieren.

Dazu möchte ich einen Timer0 Verwenden, der bei einem Quarztakt von 8MHz 
jede ms einen Interrupt ausführen soll.
Durch den Interrupt soll eine Variable hochgezählt werden. Wenn die 
Wariable 6000 erreicht hat ist eine Sekunde Vergangen und eine LED soll 
aufleuchten.


Meine Frage: welchen Prescaler muss ich für den Timer 0 Verwenden, dass 
mir der Timer inerhalb einer Sekunde einmal überläuft?
#3036511
Lesenswert?

Die Frequenz mit der der Timer läuft berechnet man mit:

umgestellt nach Prescaler:
=

Doch leider kann man schlecht einen Prescaler von 7.8 einstellen.
Somit muss man den Preload anpassen. Mit einem Preload von 6 und einem 
Prescaler von 8 kommst du genau auf eine Timerfrequenz von 1000Hz.

Falls du es nicht selber berechnen willst, gibt es hier ein gutes Tool 
dafür:
http://eng-serve.com/pic/pic_timer.html

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