Moin Patrick!

Ich habe mich mal darauf beschränkt, mir die Timer-Befehle Deines Codes anzusehen (man muss ja auch nicht immer alles wissen und verstehen ).

Ich glaube, Dein Denkfehler liegt hier:

Disable Timer1 ' timer will be stopped and all variables are reset
Mit enable und disable legst Du nur fest, ob der Timer-Interrupt aktiviert sein soll, d.h. ob die entsprechende ISR beim Überlauf ausgeführt werden soll oder eben nicht.
Um den Timer zu stoppen bzw. wieder zu starten musst Du und "Stop TimerX" bzw. "Start TimerX" verwenden. Wobei Start TimerX quasi automatisch ausgeführt wird, wenn Du den Timer konfigurierst. Er läuft also nach der Config TimerX-Zeile automatisch los - und wenn er das nicht soll, musst Du gleich in die nächste Zeile Stop TimerX schreiben (und wenn der Zählinhalt besonders kritisch ist, auch noch TimerX = 0).

Hoffe, das hilft

Gruß,

Daniel