00000000-99999999数码管显示,每隔1秒数码管显示的数据全部+1。C语言代码
int pins[10][7] = { {0,0,0,0,0,0,1}, // 0
{1,0,0,1,1,1,1}, // 1
{0,0,1,0,0,1,0}, // 2
{0,0,0,0,1,1,0}, // 3
{1,0,0,1,1,0,0}, // 4
{0,1,0,0,1,0,0}, // 5
{0,1,0,0,0,0,0}, // 6
{0,0,0,1,1,1,1}, // 7
{0,0,0,0,0,0,0}, // 8
{0,0,0,0,1,0,0} // 9
};
int segPins[7] = { 9, 8, 7, 6, 5, 4, 3 };
int counter = 0;
void setup() {
for(int i=0; i<7; i++) {
pinMode(segPins[i], OUTPUT);
}
}
void loop() {
display(counter);
delay(1000); // wait 1 second
counter++;
if(counter > 99) { // reset counter
counter = 0;
}
}
void display(int number) {
int ones = number % 10;
int tens = floor(number / 10);
for(int i=0; i<7; i++) {
digitalWrite(segPins[i], pins[ones][i]); // display ones digit
digitalWrite(segPins[i+7], pins[tens][i]); // display tens digit
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话: