_delay_ms not working with ATmega 16/32
I am surprised that this compiles at all, as you are missing two #include:

#define F_CPU 1000000UL

#include &lt;avr/io.h&gt;
#include &lt;util/delay.h&gt;

int main(void)
 {
   DDRC=0xFF;

  while(1)
       {
        PORTC=0xFF;
   _delay_ms(1000);
    PORTC=0x00;
    _delay_ms(1000);

    }
 }


Note that F_CPU must be defined before the #include - that can be done in code as shown or in the makefile.