DB => Datenblatt
Kapitel über Timer/Counter. Dort werden alle Register beschrieben (auf Englisch). Es sind auch kleine Beispiele in ASM und C drinnen.

"TIMSK |= (1<<OCIE1A)" => da würde ich nur = schreiben, da das Register einen beliebigen Zustand haben kann.

Bei "sei();" würde ich als Kommentar dazuschreiben was dieser Befehl macht (zumindestens für den Anfang)
sei(); => generelle Interruptfreigabe => Interrupt einschalten
cli(); => generelle Interruptsperre => Interrupt ausschalten

cli hast du aber in deinem Programm nicht.

Bei "while(1) { }" kannst du auch so schreiben "while(1);". Die Klammer nimmt man, wenn man mehrere Dinge macht.

Sonst sieht das Programm gut aus (Übersichtlich,...)

MfG Hannes