1.数码管介绍
数码管也称LED 数码管,是一种半导体发光器件,其基本单位是发光二极管。按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1 位、2 位、4 位、7 位等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
2.数码管参数
共阴极就是把所有LED 的阳极连接到共同接点com也就是公共极这里的3、8都是公共极,而每个LED的阴极分别为a、b、c、d、e、f、g 及dp(小数点)。
3.接线图
4.测试代码
/*
* TB店铺:SM创客科技
* 店主VX:16620156636
* 实现功能:制共阴极数码管显示数字0到9
*/
const int Pin_a = 7;
const int Pin_b = 6;
const int Pin_c = 5;
const int Pin_d = 10;
const int Pin_e = 11;
const int Pin_f = 8;
const int Pin_g = 9;
const int Pin_p = 4;
//根据共阴极数码管段码表定义0-9显示的各段开关状态
int numTable[10][8] =
{
//1为点亮,0为关闭
//a b c d e f g dp
{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
};
void setup()
{
for (int i = 4; i <= 11; i++)
{
pinMode(i, OUTPUT); //设置4~11引脚为输出模式
}
}
void loop()
{
for (int i = 0; i < 10; i++)//以此显示数字0到9
{
digitalWrite(Pin_a, numTable[i][0]); //设置a 引脚的电平
digitalWrite(Pin_b, numTable[i][1]); //设置b 引脚的电平
digitalWrite(Pin_c, numTable[i][2]); //设置c 引脚的电平
digitalWrite(Pin_d, numTable[i][3]); //设置d 引脚的电平
digitalWrite(Pin_e, numTable[i][4]); //设置e 引脚的电平
digitalWrite(Pin_f, numTable[i][5]); //设置f 引脚的电平
digitalWrite(Pin_g, numTable[i][6]); //设置g 引脚的电平
digitalWrite(Pin_p, numTable[i][7]); //设置dp引脚的电平
delay(1000);
}
}