Nach was, Gast:
Du schreibst:
Config Timer1 = Counter , Edge = Rising
Du willst aber doch sicher einen selbstlaufenden Timer und keinen Counter, der steigende Flanken an einem Pin deines AVR zählt. Also:
Config Timer1 = TIMER, prescale = 64
Der prescale-Wert sagt dem Timer, dass er nicht jeden Takt (also bei 4MHZ 4mio mal je Sekunde) sondern nur jeden 64sten hochzählen soll, was genau genug ist.
Dein Interupt löst übrigens immer dann aus, wenn der Timer überläuft. Also gerade dann, wenn er wieder bei 0 ist(oder vielleicht schon bei 1 oder 2). Das ist der denkbar schlechteste Zeitpunkt um seinen Wert abzufragen (überhaupt brauchst du zum Verstehen von Servosignalen den Timer-Interupt garnicht, weil die Pulse so kurz sind, dass der Timer, wenn du ihn bei deren Beginn zurücksetzt garnicht überläuft, bis sie vorbei sind.).