#define A 23
#define B 22
#define C 15
#define D 2
#define E 4
#define F 21
#define G 19
#define DP 5
int pin_list[] = {A,B,C,D,E,F,G, DP};
int size = sizeof(pin_list) / sizeof(pin_list[0]);
//数字对应的引脚
int numbers[][8] = {
// a, b, c, d, e, f, g, dp
{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
};
void show_number(int number){
for(int i=0; i<size; i++) {
digitalWrite(pin_list[i], numbers[number][i]);
}
}
void setup() {
//初始化引脚
for(int i = 0; i<size; i++) {
pinMode(pin_list[i], OUTPUT);
digitalWrite(pin_list[i-1], HIGH);
}
}
void loop() {
for(int i=0; i<=9; i++) {
show_number(i);
delay(1000);
}
}