#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);
}
}