Ja genau, hier liegt das Problem:


if(PINC&(1<<PINC0))

Du musst danach warten, bis der Taster wieder losgelassen wird. Ich würde nach dem Switch-Element noch folgende zwei Zeilen programmieren:

while (PINC&(1<<PINC0))
_delay_ms (10);

Damit hast du dann auch gleich deine Entprellung.

Viele Grüße
Andreas