3分钟带你彻底弄懂数码管的段选与位选

数码管是给我们展示数据或者信息的电子器件,它是最原始以及成本比较低。以下是数码管的实物图:

1.1 数码管的段选与位选

以下是数码管的每一段所对应的位置:

从图可以看出来,数码管共有 a、b、c、d、e、f、g、dp 这么 8 个段,而实际上,这 8 个段每一段都是一个 LED 小灯,所以一个数码管就是由 8个 LED 小灯组成的。注意 dp 这个段,它是表示一个小数点!我们看一下数码管内部结构的示意图:

数码管分为共阳和共阴两种:

  • 共阴数码管就是 8 只 LED 小灯的阴极是连接在一起的,阴极是公共端,由阳极来控制单个小灯的亮灭。
  • 同理共阳数码管就是阳极接在一起。

看到这里我们就不难猜出,所谓的段选就是选择要点亮数码管中 a、b、c、d、e、f、g、dp 哪些段

我们假设有多个这样的数码管,例如这样:


该图中的 LED8、LED7、LED6、LED5、LED4、LED3、LED2、LED1 网络标签都是数码管的公共端口 COM,位选指的就是这里,你可以认为里面有8个数码管,在你选择好段选之后,给某个 COM 网络进行选择就相当于选择点亮某个数码管。

下面以一个例子说明:

假设我要在上图从左往右第3个数码管显示“0”,那么“0”对应段选就是点亮 a、b、c、d、e、f,对于共阴数码管,它的表示如下:

数字dp段g段f段e段d段c段b段a段二进制表示十六进制表示
0001111110b001111110x3f

假设P0端口连接到数码管的各个段,那么给P0端口写入0x3f,再给LED6网络端口置为0电平即可。

相反地,共阳数码管把共阴数码管的位选反转一下:

数字dp段g段f段e段d段c段b段a段二进制表示十六进制表示
0110000000b110000000xc0

P0端口写入0xc0,再给LED6网络端口置为1

1.2 数码管的段选表格

前面我们学习了“0”的表示,下面列出共阴数码管与共阳数码管的表格:

① 共阴数码管表格:

unsigned char code LedChar[]={
	0x3F,  //"0"
    0x06,  //"1"
    0x5B,  //"2"
    0x4F,  //"3"
    0x66,  //"4"
    0x6D,  //"5"
    0x7D,  //"6"
    0x07,  //"7"
    0x7F,  //"8"
    0x6F,  //"9"
    0x77,  //"A"
    0x7C,  //"B"
    0x39,  //"C"
    0x5E,  //"D"
    0x79,  //"E"
    0x71,  //"F"
    0xff, //全亮
    0x00  //熄灭
};

② 共阳数码管表格:

unsigned char code LedChar[]={
	0xc0//0
	0xf9//1
	0xa4//2
	0xb0//3
	0x99//4
	0x92//5
	0x82//6
	0xf8//7
	0x80//8
	0x90//9
	0x88//A
	0x83//B
	0xc6//C
	0xa1//D
	0x86//E
	0x8e, //F
	0x00, //全亮
	0xff  //熄灭
};

  • 153
    点赞
  • 584
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式逍遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值