#define F_CPU 1000000UL #include #include int main(void) { DDRD = 0xFF; DDRC = 0x00; int pole[8] = {0b10000110, 0b10001010, 0b10010010, 0b11010001, 0b00110001, 0b01010010,0b10010010, 0b10011010}; while(1) { PORTD = pole[0]; if((bit_is_set(PINC, 5)) || (bit_is_set(PINC, 4)) || (bit_is_set(PINC, 3))){ for(int i = 0; i <= 7; i++) { PORTD = pole[i]; if (i == 7 || i == 4) { _delay_ms(3000); if(i == 0) { PORTD = 0b10000010; _delay_ms(500); PORTD = pole[0]; _delay_ms(500); } if(i == 2) { PORTD = 0b00010001; _delay_ms(500); PORTD = pole[4]; _delay_ms(500); } } else if(i == 1 || i == 5){ _delay_ms(2000); } else { _delay_ms(3000); } }