int const t =100;
int count;
void setup()
{
//Serial.begin(9600); //debugging
DDRD = DDRD | B11111100; //Data direction register D, 0=input, 1=output: pins 4-7 output
DDRB = B00000011; // 8, 9 outputs
}
void loop()
{
PORTD = B00000000; //display 0
PORTB = B00000001; //turn on digit 1
picknumber(count / 1 % 10);
delayMicroseconds(10);
PORTD = B00000000; //display 0
PORTB = B00000010; //turn on digit 2
picknumber(count / 10 % 10);
delayMicroseconds(10);
delay(t); //increment delay 0.1s, resolution is 0.1s
count++; //increment
//Serial.println(count); //debugging
}
void picknumber( int count)
{
switch (count)
{
//case 0: zero(); break;
case 1:PORTD=B00010000; break; //1
case 2:PORTD=B01000000; break; //2
case 3:PORTD=B01010000; break; //3
case 4:PORTD=B10000000; break; //4
case 5:PORTD=B10010000; break; //5
case 6:PORTD=B11000000; break; //6
case 7:PORTD=B11010000; break; //7
case 8:PORTD=B00100000; break; //8
case 9:PORTD=B00110000; break; //9
default: B00000000; break; //0
}
}