int mass[] = {
0b11111100,
0b01100000,
0b11011010,
0b11110010,
0b01100110,
0b10110110,
0b10111110,
0b11100000,
0b11111110,
0b11110110,
};
int dig[] = {
0b11111110,
0b11111101,
0b11111011,
0b11110111,
};
unsigned int raz1=0,raz2=0,raz3=0,raz4=0;
int i=0;
unsigned long lastTime;
void setup() {
DDRD = 0b11111111;
DDRB = 0b00001111;
//PORTB = 1 << 4;
}
void loop() {
all_num(1515);
while(i<4){
if(millis()-lastTime>=500){
lastTime=millis();
switch(i){
case 0:
PORTD=0b00000000;
PORTB=dig[i];
PORTD=mass[raz1];
break;
case 1:
PORTD=0b00000000;
PORTB=dig[i];
PORTD=mass[raz2];
break;
case 2:
PORTD=0b00000000;
PORTB=dig[i];
PORTD=mass[raz3];
break;
case 3:
PORTD=0b00000000;
PORTB=dig[i];
PORTD=mass[raz4];
break;
}
i++;
if(i>=4){i=0;}
}
}
/*
PORTD=0b00000000;
PORTB=dig[i];
PORTD=mass[raz1];
if(i==1){
PORTD=mass[raz2];
}
if(i==2){
PORTD=mass[raz3];
}
if(i==3){
PORTD=mass[raz4];
}
i++;
if(i>3){i=0;}
}
*/
}
/*
if(i<10){
for(;i<10;i++){
del(1000);
PORTD=mass[i];
}
}else if (i>=10){i=0;}
}
*/
void all_num(int razbivka){
raz1=razbivka/1000;
raz2=razbivka%1000/100;
raz3=razbivka%100/10;
raz4=razbivka%10;
}
void del(int TimeDel){
unsigned long curTime=millis();
TimeDel+=curTime;
while(curTime<TimeDel){
curTime=millis();
}
}