电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

七段数码管显示原理研究_数码管显示0~9对应的段码

作者:佚名    文章来源:网友投稿    点击数:    更新时间:2023/5/18

在51单片机学习过程中,相对基础的一个实验就是利用七段数码管依次显示数字0-9。很多时候,我们按照要求,搭建了电路,编写了对应的显示控制程序,最后运行,可能对于七段数码管显示数字的原理并没有进行深入的研究。今天结合自己的理解,给出七段数码管显示的原理。

七段数码管,本身利用发光二极管的原理,组成一个'8'的形状,这个'8'正好是七段组成,所以一般称为七段数码管。

七段数码管 

组成这个7段数码管的每个部分又分为a,b,c,d,e,f,g部分,分别对应如下所示:

七段数码管的编码 

七段数码管的连接方式,根据现实布线的方式,可以组成共阳数码管和共阴数码管,所谓共阳,就是数码管的一极全部接电源,而二极管根据发光原理,只能是正极接电源,负极接地,所以数码管一级全部接电源的情况,称为共阳数码管,如下所示:

 

在proteus元器件库中,共阳数码管名称是:7SEG-COM-AN-[COLOR]

共阴数码管,就是公共一极全部接地,如下所示:

 

在proteus元器件库中,共阳数码管名称是:7SEG-COM-CAT-[COLOR]

上面的两个图形,可能看不出问题所在,主要区别在于电路图中的电源和接地图标不同:

电源vcc:

接地vss:

在实际编程中,基本采用一种类型数码管显示即可,默认都是选择共阴数码管,也就是我们需要让开发板输出电压为高电平,点亮对应的数码管。

在上面的字母对应的七段数码管中,要显示0-9,需要的电平如下所示:

a b c d e f g 字形 所需字母数码段
1 1 1 1 1 1 0 0 abcdef
0 1 1 0 0 0 0 1 bc
1 1 0 1 1 0 1 2 abdeg
1 1 1 1 0 0 1 3 abcdg
0 1 1 0 0 1 1 4 bcfg
1 0 1 1 0 1 1 5 acdfg
1 0 1 1 1 1 1 6 acdefg
1 1 1 0 0 0 0 7 abc
1 1 1 1 1 1 1 8 abcdefg
1 1 1 1 0 1 1 9 abcdfg

光这个表,看不出要怎么设置引脚的电平高低,但是我们可以通过代码中的值来反推这个表,一般我们的代码中可能有这样一个表示显示数字的数组:

unsigned char led[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 

这一组数据,其实对应上面共阴数码管表,可以这么理解,把数码管的g,f,e,d,c,b,a七个段,外加一个0位,正好组成八位二进制,其中0对应0x3f,就是0011 1111,正好对应上面表格中的按照顺序1111 110反过来的表示。1对应0x06,也就是0000 0110,同样对应上面表格0110 000反过来的表示。后面都是类似的规律。显示数字8,全部点亮,也就是1111 111,反过来二进制表示就是0111 1111,正好对应十六进制0x7f。

理解了这些规律,再反过来理解数码管的显示,其实就不难了。

以上是对七段数码管显示数字0-9的研究,其实数码管还可以显示很多其他字母,至少大写的E,F,L都是可以模拟显示的,规律也一样,点亮七段数码光的某一些段,就可以显示对应的字形,其实并不是真正的显示某一个字形,而是用了拼凑形状让二极管发光的办法。

Tags:七段数码管,数码管,单片机,段码  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询