/*Utilize digital pins for the SSD. Use analog pins for the push buttons. When button 1 is
pressed, display ones 99 to 00. When button 2 is pressed, display 00 to 99. When button 3 is
pressed, ones will start count up from 0 to 9, and tens will count down from 9 to 0,
simultaneuously. When button 4 is pressed, 00 display will continually blink for 10 times.
Delay 100 ms.*/
const int num[11]={0b1000000,0b1111001,0b0100100,0b0110000,
0b0011001,0b0010010,0b0000010,0b1111000,0b0000000,0b0011000};
void setup() {
for (int i=0;i<=13;i++){
pinMode(i, OUTPUT);}
for (int k=14;k<=17;k++){
pinMode(k, INPUT_PULLUP);
}
display();
}
void loop() {
display();
bool b1=(digitalRead(A0)==LOW);
bool b2=(digitalRead(A1)==LOW);
bool b3=(digitalRead(A2)==LOW);
bool b4=(digitalRead(A3)==LOW);
if(b1==true){
for (int tens=9;tens>=0;tens--){
displayt(tens);
for(int ones=9;ones>=0;ones--){
displayo(ones); delay(250);
}
} display();
}
if (b2==true){
for (int tens=0;tens<=9;tens++){
displayt(tens);
for(int ones=0;ones<=9;ones++){
displayo(ones); delay(250);
}
} display();
}
if (b3==true){
for (int tens=9,ones=0;tens>=0,ones<=9;tens--,ones++){
displayt(tens);
displayo(ones);
delay(250);
} display();
}
if (b4==true){
for (int i=0;i<=10;i++){
display();
delay(250);
for (int i=0;i<=6;i++){
digitalWrite(i,HIGH);
}
for (int i=7;i<=13;i++){
digitalWrite(i,LOW);
}
delay(250);
}
}}
void displayt(int tens){
for (int pin=7,a=0;pin<=13;a++,pin++){
digitalWrite(pin,!bitRead(num[tens],a));
}
}
void displayo(int ones){
for(int pin1=0,b=0;pin1<=6;pin1++,b++){
digitalWrite(pin1,bitRead(num[ones],b));
}}
void display(){
int tens = 0;
int ones =0;
displayt(tens);
displayo(ones);
}