void digital_show(int num)
{
if(num<0) num=0;
if(num>9) num=9;
for(int i=4;i<=11;i++)
digitalWrite(i, LOW);
switch(num)
{
case 0:
digitalWrite(PA, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PE, HIGH);
digitalWrite(PF, HIGH);
break;
case 1:
digitalWrite(PB, HIGH);
digitalWrite(PC, HIGH);
break;
case 2:
digitalWrite(PA, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PE, HIGH);
digitalWrite(PG, HIGH);
break;
case 3:
digitalWrite(PA, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PG, HIGH);
break;
case 4:
digitalWrite(PC, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PG, HIGH);
break;
case 5:
digitalWrite(PA, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PG, HIGH);
break;
case 6:
digitalWrite(PA, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PE, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PG, HIGH);
break;
case 7:
digitalWrite(PA, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PC, HIGH);
break;
case 8:
digitalWrite(PA, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PE, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PG, HIGH);
break;
case 9:
digitalWrite(PA, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PG, HIGH);
break;
}
}
int pflag=0;
int buttonState=0;
void setup() {
for(int i=4;i<=11;i++)
pinMode(i, OUTPUT);
pinMode(2, INPUT);//设置为输入引脚
Serial.begin(9600);
}
void loop()
{
Serial.print(".");
buttonState=digitalRead(2);
if(buttonState==HIGH)//按键按下
{
delay(10);
buttonState=digitalRead(2);
if(buttonState==HIGH)//按键按下
{
delay(10);
buttonState=digitalRead(2);
if(buttonState==HIGH)//按键按下
{
pflag=1+pflag;
Serial.print(pflag);
}
}
for(int i=4;i<=11;i++)
if(pflag==1){
digitalWrite(i,HIGH);
}
else{
digitalWrite(i,LOW);
}
digital_show(pflag);
delay(100);
}
}