// enable the ocr1a interrupt TIMSK1 = 1<<OCIE1A; // <--- this doesn't work; equates to 0x04. BUG! 12a: 84 e0 ldi r24, 0x04 ; 4 12c: 80 93 6f 00 sts 0x006F, r24 //TIMSK1 = 0x02;
Using OCIE1A in the program results in a value of 0x02 for the bit name, should be 0x01.
That caused a little headscratching - as far as I can see that's with the WinAVR version 20040720 (from the readme). At a quick look though I haven't found the headers being used... it's ok in the Program Files/Atmel/AvrAssembler/Appnotes/m48def.inc.
The AVR Studio version is 4.13 build 528, if that's any help.