Ja weil das Programm hier stehen bleibt:

while(!(PIND & (1<<PD0)));