Du kannst einfach PORTC bei jedem Tastendruck invertieren:

Code:
#include <avr/io.h> 
#define F_CPU 8000000UL 
#include <util/delay.h> 
#include <stdlib.h>            // braucht du eigentlich nicht
#include <avr/interrupt.h> // die auch nicht

int main(void) 
{ 
    DDRC = 0xFF; 
    PORTC =0xFF; 
  
    DDRD =0x00; 
    //PORTD =0xFF;  // PullUp aktivieren!! 

    while(1){ 
      
        if(PIND & (1<<PD0))  
        {
             PORTC ~= PORTC;
             _delay_ms(150); // entprellen     
        }  
    }    
}
Ist nicht getestet, sollte aber funktionieren.

mfg