数码管,分共阴共阳两类。
共阴——共用阴极GND,
公阳——共用阳极3.3V。
数码管相当于集成了8个LED灯,然后用8条线分别控制其各LED的开关,组合成各种数字或字符。
* PS 右下角圆点也为h
Arduino Uno * 1
单位共阴数码管 *1
电阻 1KΩ *1
跳线若干
程序打包下载:https://u16460183.ctfile.com/fs/16460183-295924077
#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_h 9
//数码管0-F数字码值
unsigned char num[17][8] =
{
//1为点亮,0为关闭,a表示数码管a的led灯,其他类似
//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, 0, 1, 1, 1, 1}, //A
{1, 1, 1, 1, 1, 1, 1, 1}, //B
{1, 0, 0, 1, 1, 1, 0, 1}, //C
{1, 1, 1, 1, 1, 1, 0, 1}, //D
{1, 0, 0, 1, 1, 1, 1, 1}, //E
{1, 0, 0, 0, 1, 1, 1, 1}, //F
{0, 0, 0, 0, 0, 0, 0, 1}, //.
};
void setup()
{
pinMode(D_a,OUTPUT); //设置引脚为输出
pinMode(D_b,OUTPUT); //设置引脚为输出
pinMode(D_c,OUTPUT); //设置引脚为输出
pinMode(D_d,OUTPUT); //设置引脚为输出
pinMode(D_e,OUTPUT); //设置引脚为输出
pinMode(D_f,OUTPUT); //设置引脚为输出
pinMode(D_g,OUTPUT); //设置引脚为输出
pinMode(D_h,OUTPUT); //设置引脚为输出
}
void loop()
{
//按顺序显示0123456789ABCDEF.
for( int i = 0 ; i < 17 ; i++) //循环显示0-9
{
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 引脚的电平
delay(1000); //延迟1秒
}
}