

   #define F_CPU 4000000UL  // указываем частоту в герцах

   #include <avr/io.h>
   #include <util/delay.h>

   int main(void) {	// начало основной программы
   int x,y;

  
   DDRB = 0b00001100; //0xff;		// все выводы порта D сконфигурировать как выходы

start:			// метка для команды goto start

   PORTB |= _BV(PB2);	// установить "1" (высокий уровень) на выводе PB2,
   PORTB |= _BV(PB3);
   x=y=4;

while (x>0) {

   PORTB &= ~_BV(PB2);	// установить "0" (низкий уровень) на выводе PB2,

   _delay_ms(100);	// ждем 0,5 сек.

   PORTB |= _BV(PB2);	// установить "1" (высокий уровень) на выводе PB2,

   _delay_ms(100);	// ждем 0,5 сек.

x=x-1;}

_delay_ms(250);

while (y>0) {

   PORTB &= ~_BV(PB3);

   _delay_ms(100);	

   PORTB |= _BV(PB3);

   _delay_ms(100);	

y=y-1;}

_delay_ms(250);

goto start;		// перейти к метке start

   }			// закрывающая скобка основной программы
