Also du machst dir das Dimmen viel schwer als es ist, nimm doch die PWM Funktion des Timers, das machts viel einfacher, und verwende bitte für deinen Einstellungen die Assemblerdirecktiven wie zB:
ldi r16, (1<<xxx) | (1<<yyy)...

das macht den Code viel schneller Verständlich, so musste ich erst im Datenblatt gucken was welches Bit bedeutet.