Hallo

Sehr hübsch. Vielleicht in der ISR ein kleiner Schalter?
Code:
Timer:
If schalter = 1 then

   inc cnt1
   inc cnt2
   inc cnt3
   inc cnt4
	if cnt1 = 255 schalter = 0

else

	dec cnt1
	dec cnt2
	dec cnt3
	dec cnt4
	if cnt1 = 0 schalter = 1

end if
	

   ldi tmp,waittime
   out tcnt0,tmp
   reti
255 ist der hellste, 0 der dunkelste Wert. Sorry, aber ich kann auch kein avr-Assembler. Statt if und else muss natürlich ein bedingter Sprung rein der, in Abhängigkeit vom Schalter, zum auf- oder abzählenden Teil der ISR springt. Wenn der gewünschte Hell- oder Dunkelwert erreicht ist, wird der Schalter umgeschaltet.

Gruß

mic