int setPins[] = {11, 7, 4, 2, 1, 10, 5, 3};
int num[10][8] = {
// a b c d e f g
{ 0, 0, 0, 0, 0, 0, 1, 1}, // 0
{ 1, 0, 0, 1, 1, 1, 1, 1}, // 1
{ 0, 0, 1, 0, 0, 1, 0, 1}, // 2
{ 0, 0, 0, 0, 1, 1, 0, 1}, // 3
{ 1, 0, 0, 1, 1, 0, 0, 1}, // 4
{ 0, 1, 0, 0, 1, 0, 0, 1}, // 5
{ 0, 1, 0, 0, 0, 0, 0, 1}, // 6
{ 0, 0, 0, 1, 1, 1, 1, 1}, // 7
{ 0, 0, 0, 0, 0, 0, 0, 1}, // 8
{ 0, 0, 0, 0, 1, 0, 0, 1} // 9
};
int Scoend = 0;
void digit(int m)
{
for (int i=0;i<8;i++)
digitalWrite(setPins[i],num[m][i]);
};
void show1(int num){
digitalWrite(8,HIGH);
digitalWrite(12,LOW);
digitalWrite(9,LOW);digit(num);
}
void show2(int num){
digitalWrite(8,LOW);
digitalWrite(12,LOW);
digitalWrite(9,HIGH);digit(num);
}
void show3(int num){
digitalWrite(8,LOW);
digitalWrite(12,HIGH);
digitalWrite(9,LOW);digit(num);
}
void setup()
{
for (int i=0;i<8;i++)
pinMode(setPins[i],OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(12,OUTPUT);
}
void loop()
{
for(int m = 0;m<=9;m++){
show3(m);
for(int i = 0;i<=5;i++){
for(int j = 1;j<=9;j++){
for(int t = 1;t<=500;t++){
show1(j);
delay(1);
show2(i);
delay(1);}
}
}
}
}
Arduino三位数码管计时功能
最新推荐文章于 2023-07-06 22:35:49 发布