int pin_a = 19;
int pin_b = 21;
int pin_c = 14;
int pin_d = 32;
int pin_e = 33;
int pin_f = 27;
int pin_g = 26;
int pin_dp = 34;
int pin_array[8] = {pin_a, pin_b,pin_c,pin_d,pin_e,pin_f,pin_g,pin_dp};
// 定义数字显示逻辑的二维数组,0就是低电平,亮;1是高电平不亮
int number_array[][8] = {
{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 display_number(int num){
//清屏幕
for(int i = 0;i<9;i++){
digitalWrite(pin_array[i], HIGH);
}
//改变对应引脚的电平
for(int i=0; i<9; i++){
digitalWrite(pin_array[i],number_array[num][i]);
}
}
void setup() {
// 设置所有引脚为输出模式,初始化所有引脚为高电平
for(int i = 0; i<9; i++){
pinMode(pin_array[i],OUTPUT);
digitalWrite(pin_array[i], HIGH);//这里的high可以用0取代
}
}
void loop() {
//显示数字
for(int i = 0; i<10; i++){
display_number(i);
delay(500);
}
}