数码管显示

//定义数码管段接的管脚
#define D_a 2 //数码管a接引脚 2
#define D_b 3
#define D_c 4
#define D_d 5
#define D_e 6
#define D_f 7
#define D_g 8
#define D_P 9 //数码管bp,接引脚9

//1为点亮,0为关闭,a表示数码管a的led灯,其他类似
unsigned char num[18][8] = {
//a b c d e f g h
{1, 1, 1, 1, 1, 1, 0, 0}, //0
{0, 1, 1, 0, 0, 0, 0, 0}, //1
{1, 1, 0, 1, 1, 0, 1, 0}, //2
{1, 1, 1, 1, 0, 0, 1, 0}, //3
{0, 1, 1, 0, 0, 1, 1, 0}, //4
{1, 0, 1, 1, 0, 1, 1, 0}, //5
{1, 0, 1, 1, 1, 1, 1, 0}, //6
{1, 1, 1, 0, 0, 0, 0, 0}, //7
{1, 1, 1, 1, 1, 1, 1, 0}, //8
{1, 1, 1, 1, 0, 1, 1, 0}, //9
{1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 0, 0, 0, 0, 0},
{1, 0, 1, 1, 1, 1, 1, 0},
{1, 0, 1, 1, 0, 1, 1, 0},
{0, 1, 1, 0, 0, 1, 1, 0},
{1, 1, 1, 1, 0, 0, 1, 0},
{1, 1, 0, 1, 1, 0, 1, 0},
{0, 1, 1, 0, 0, 0, 0, 0}
};

char *pinCh[8] = {"D_a", "D_b", "D_c", "D_d", "D_e", "D_f", "D_g", "D_P"};
int pinInt[8] = {2, 3, 4, 5, 6, 7, 8, 9};

void setup() {
// put your setup code here, to run once:
for(int i = 0; i < 8; i++){
pinMode(*pinCh[i], OUTPUT);
}
}

void loop() {
// put your main code here, to run repeatedly:
for(int i = 0; i < 18; i++){ //循环显示0-9,9-0
for(int j = 0; j < 8; j++){
/*digitalWrite(D_a,num[i][0]); //设置a 引脚的电平
digitalWrite(D_b,num[i][1]); //设置b 引脚的电平
digitalWrite(D_c,num[i][2]); //设置c 引脚的电平
digitalWrite(D_d,num[i][3]); //设置d 引脚的电平
digitalWrite(D_e,num[i][4]); //设置e 引脚的电平
digitalWrite(D_f,num[i][5]); //设置f 引脚的电平
digitalWrite(D_g,num[i][6]); //设置g 引脚的电平
digitalWrite(D_h,num[i][7]); //设置h 引脚的电平*/
digitalWrite(*pinCh[j], num[i][j]);
}
delay(1000); //延迟1秒
}
}

posted @ 2020-12-03 15:40  叕叒双又  阅读(180)  评论(0编辑  收藏  举报