//A-7,B-6,C-5,D-10,E-11,F-8,G-9,DP-4
#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){
//num:0--9
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(PD, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PG, HIGH);
break;
case 4:
digitalWrite(PF, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PG, HIGH);
break;
case 5:
digitalWrite(PA, HIGH);
digitalWrite(PF, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PG, HIGH);
break;
case 6:
digitalWrite(PA, HIGH);
digitalWrite(PE, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PC, 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(PD, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PG, HIGH);
digitalWrite(PE, HIGH);
digitalWrite(PF, HIGH);
break;
case 9:
digitalWrite(PA, HIGH);
digitalWrite(PB, HIGH);
digitalWrite(PD, HIGH);
digitalWrite(PC, HIGH);
digitalWrite(PG, HIGH);
digitalWrite(PF, HIGH);
break;
}
}
//A-7,B-6,C-5,D-10,E-11,F-8,G-9,DP-4
void setup() {
// put your setup code here, to run once:
for(int i=4;i<=11;i++)
{
pinMode(i, OUTPUT);
}
pinMode(12,OUTPUT);
pinMode(3,OUTPUT);
pinMode(1, INPUT);
pinMode(2, INPUT);
//设置为输入引脚
}
int buttonState0=0;
int buttonState=0; //用于存储按键的状态
int keyflag=0;
int keyflag0=0;
int keyflag1=0;
int keyflag2=0;
void loop() {
// put your main code here, to run repeatedly:
buttonState = digitalRead(2);
buttonState0 = digitalRead(1);
//计数
if(buttonState0==HIGH){
keyflag0++;
delay(100);
}
if(keyflag0>1){
keyflag0=0;
}
if(keyflag0==0){
digitalWrite(12,HIGH);
if(buttonState==HIGH){
keyflag++;
delay(100);
}
if(keyflag>9){
keyflag=0;
}
digital_show(keyflag);
delay(150);
}//功能1
if(keyflag0==1){
digitalWrite(3,HIGH);
if(buttonState==HIGH){
keyflag1++;
delay(100);
}
if(keyflag1>1){
keyflag1=0;
}
if(keyflag1==1){
for(keyflag;keyflag2>=0,keyflag1=1;keyflag--){
digital_show(keyflag);
delay(400);
}
}
if(keyflag1==0){
keyflag==keyflag;
digital_show(keyflag);
}
}
}