Hallo x-ryder,

ich programmiere fast nur in Assembler, daher kommt mir Dein Quelltext etwas "einfach" vor. Vielleicht führt Dein Compiler folgendes ja von alleine durch:
1) Du arbeiterst mit Timer0 und nutzt dessen Interrupt bei Überlauf. Das bedeutet, Du mußt eine Einsprungmarke für die ISR setzen - ich sehe da nur die ISR mit Marke als solche, aber irqs haben auf dem µC feste physikalische Einsprungadressen
2) Du scheinst einen Auto-Reload-Modus fahren zu wollen - Ich vermisse die Moduseinstellung

Mehr fällt mir vorerst nicht ein - wie schon gesagt, es kann sein, daß man auf diese Kleinigkeiten nur im Asseembler achten muß.

Viel Erfolg noch

Ciao

Patrick