Aus dem "mainloop" kommt er niemals wieder raus, jedenfalls in diesem Leben.
Wie ist das mit den Pull-Up ? Oder schaltest du auf +5V ?
Meistens (oft) wird ja ein Pin mit dem Taster auf GND geschaltet, mit dem Internen Pull up wäre das
Code:
   ldi   r17,0x00 
   out   DDRC,r17 
   ldi   r17,0xFF              ; alles auf "1" ----> internern Pullup 
   out   PORTC,r17