Hallo Leute (Schon wieder ein Frage )

Ich probiere gerade mit Timer1 herum und möchte gerne einen 1Sekunden Takt zusammenbekommen, damit eine Variable, alle sekunden hochgezählt wird.


Das Grundgerüst schaut im Prinzip so aus:

Code:
Config Timer1 = Timer , Prescale = 256   
On Timer1 Zeit
Enable Timer1
Enable Interrupts

do 
Lcd B
Print x
loop
end


Zeit:
 Load Timer1 , 31250
 Incr B
Return
Aber die Sekunden sind leider nicht genau
Nach ca. 3 Minuten, geht mir der Zähler schon ca. 1 sekunde hinten !

Was habe ich falsch gemacht ?

Habe einen 8Mhz Quarz

8000000/256(Prescaler) = 31250

Habe izwischendrinn noch eine Serielle Ausgabe .
Kann das den Timer1 beeinflussen?
Wird für die Serielle Ausgabe eigentlich ein Timer verwendet ?
(der vielleicht stört ?)

Das setzen von Timer1 auf " Load Timer1,31250" oder Timer1= 34286
(ist doch das gleiche ?),
wo muss ich das machen ?
Sehe das meist in der ISR....
Müsste man das nicht auch schon nach aktivieren von Timer1 machen ?


l.G. Roberto