- #include<Arduino.h>
- #define a 2
- #define b 3
- #define c 4
- #define d 5
- #define e 6
- #define f 7
- #define g 8
- #define h 9
- #define com1 10
- #define com2 11
- #define com3 12
- #define com4 13
- #define an_jian 1
- char anxia = 1;
- char s = 0; /*随便定义的变量*/
- unsigned char tiaodeng[][8]=
- {
- {0, 0, 1, 1, 1, 1, 1, 1},
- {0, 0, 0, 0, 0, 1, 1, 0},
- {0, 1, 0, 1, 1, 0, 1, 1},
- {0, 1, 0, 0, 1, 1, 1, 1},
- {0, 1, 1, 0, 0, 1, 1, 0},
- {0, 1, 1, 0, 1, 1, 0, 1},
- {0, 1, 1, 1, 1, 1, 0, 1},
- {0, 0, 0, 0, 0, 1, 1, 1},
- {0, 1, 1, 1, 1, 1, 1, 1},
- {0, 1, 1, 0, 1, 1, 1, 1}
- };
- void setup()
- {
- for(unsigned char z = 2; z <= 13; z++)
- {
- pinMode(z,OUTPUT);
- }
- pinMode(an_jian,INPUT);
- digitalWrite(an_jian,HIGH);
- }
- void loop()
- {
-
- if(jian_ce() == 1)
- {
- s++;
- if(s > 9999)
- {
- s = 0;
- }
- }
- shumaguang(1,s/1000);
- delay(2);
- shumaguang(2,s%1000/100);
- delay(2);
- shumaguang(3,s%100/10);
- delay(2);
- shumaguang(4,s%10);
- delay(2);
- }
- unsigned char jian_ce()
- {
- if(anxia == 1 && digitalRead(an_jian) == LOW)
- {
- anxia = 0;
- delay(1);
- if(digitalRead(an_jian) == LOW);
- {
- return 1;
- }
- }
- if(digitalRead(an_jian) == HIGH)
- {
- anxia = 1;
- }
- return 0;
- }
- unsigned char shumaguang(unsigned char com,unsigned num)
- {
- digitalWrite(a,LOW);
- digitalWrite(b,LOW);
- digitalWrite(c,LOW);
- digitalWrite(d,LOW);
- digitalWrite(e,LOW);
- digitalWrite(f,LOW);
- digitalWrite(g,LOW);
- digitalWrite(h,LOW);
-
- switch(com)
- {
- case 1:
- digitalWrite(com1,LOW);
- digitalWrite(com2,HIGH);
- digitalWrite(com3,HIGH);
- digitalWrite(com4,HIGH);
- break;
- case 2:
- digitalWrite(com1,HIGH);
- digitalWrite(com2,LOW);
- digitalWrite(com3,HIGH);
- digitalWrite(com4,HIGH);
- break;
- case 3:
- digitalWrite(com1,HIGH);
- digitalWrite(com2,HIGH);
- digitalWrite(com3,LOW);
- digitalWrite(com4,HIGH);
- break;
- case 4:
- digitalWrite(com1,HIGH);
- digitalWrite(com2,HIGH);
- digitalWrite(com3,HIGH);
- digitalWrite(com4,LOW);
- break;
- default:break;
- }
-
- digitalWrite(a,tiaodeng[num][7]);
- digitalWrite(b,tiaodeng[num][6]);
- digitalWrite(c,tiaodeng[num][5]);
- digitalWrite(d,tiaodeng[num][4]);
- digitalWrite(e,tiaodeng[num][3]);
- digitalWrite(f,tiaodeng[num][2]);
- digitalWrite(g,tiaodeng[num][1]);
- digitalWrite(h,tiaodeng[num][0]);
-
- }
复制代码
以上代码来源http://www.geek-workshop.com/thread-12758-1-1.html
按照以上代码接线显示正常,但到了解120以上就出现乱码,请求大神指点. |