Du benutzt den 16 Bit Timer, den Timer 1
Das heist, der Timer muss jedesmal bis 65536 zählen,
bevor ein Überlauf eintritt.
Rechnen wir doch mal nach, wie lange das dauert.
Du betreibst den Prozessor mit 11 Mhz.
Da der Vorteiler des Timers 1 ist, läuft der auch mit 11 Mhz.
Das heist der Timer schafft in 1 Sekunde 11000000 / 65536 ganze
167 Overflows.
Bis dein Counter in der ISR also einmal bis 255 gezählt hat,
vergehen knapp 1.5 Sekunden. Für eine PWM also völlig unbrauchbar.
Nun braucht dein counter aber nicht 1.5 Sekunden für einmal
rundum sondern laut deiner Aussage ca. 20 Sekunden. Das kommt
ungefähr hin, wenn dein Prozessor nicht mit 11Mhz sondern mit
1 Mhz läuft.
Also prüfe mal ob dein Prozessor tatsächlich mit 11Mhz läuft,
oder ob er nicht doch immer noch auf internem RC-Oszillator
mit ca. 1Mhz läuft. Die Frage lautet also: Wie sind die Fuse
Bits gesetzt.
PS: Obige Rechnung hat auch gezeigt, dass ein Umchalten auf
11Mhz nicht reichen wird. Timer 1 braucht viel zu lange um einen
Overflow zu erreichen.