#define PA 7
#define PB 6
#define PC 5
#define PD 10
#define PE 11
#define PF 8
#define PG 9
#define DP 4
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(PB, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PG, HIGH);
break;
case 5:
digitalWrite(PA, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PG, HIGH);
break;
case 6:
digitalWrite(PA, HIGH);
digitalWrite(PE, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PG, HIGH);
digitalWrite(PF, 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(PG, HIGH);
digitalWrite(PE, HIGH);
digitalWrite(PF, HIGH);
break;
case 9:
digitalWrite(PA, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PG, HIGH);
digitalWrite(PD, 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(20);
buttonState=digitalRead(2);
if(buttonState==HIGH)//按键按下
{
delay(20);
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(200);
}
}