#define F_CPU 10000000UL
#define TIKS_1MS (10000000/64/1000)
#define TIKS_1US (TIKS_1MS/500)

#include <avr/io.h>

void sleep_ms(unsigned long int ms)
{
	while(ms--){
		TCNT0 = 0;
		while(TCNT0 < TIKS_1MS);
	}
}
void sleep_us(unsigned long int us)
{
	while(us--){
		TCNT0 = 0;
		while(TCNT0 < TIKS_1US);
	}
}

int main(void){
   DDRD = 0xff;		// все выводы порта D сконфигурировать как выходы
   //TCCR0 = (1<<CS01) | (1<<CS00);
   TCCR0 = (1<<CS02);
   
   int timer1 = 161
   
	while(1)
	{
		PORTD |= _BV(PD2);	// установить "1" (высокий уровень) на выводе PD1,зажечь светодиод
		//sleep_ms(timer1);
		sleep_us(timer1);
		PORTD &= ~_BV(PD2);	// установить "0" (низкий уровень) на выводе PD1,погасить светодиод
		//sleep_ms(timer1);
		sleep_us(timer1);
	}
}
