int ONE_SECOND = 1000;
int NUMBERS_FOR_BINARY[] = {
B00111111, // 0
B00000110, // 1
B01011011, // 2
B01001111, // 3
B01100110, // 4
B01101101, // 5
B01111101, // 6
B00000111, // 7
B01111111, // 8
B01101111, // 9
};
void setup()
{
DDRD |= 0b11111111;
}
void loop(){
START:
int RESULT = 0;
do {
PORTD = NUMBERS_FOR_BINARY[RESULT];
delay(ONE_SECOND);
RESULT++;
if(RESULT==9)
goto REVERSE;
} while (RESULT <= 9);
REVERSE:
do {
PORTD = NUMBERS_FOR_BINARY[RESULT];
delay(ONE_SECOND);
RESULT--;
if(RESULT==0)
goto START;
} while (RESULT <= 9);
}