数码管的显示原理(数码管原理图)

最常用的LED数码管是七段和八段。八段比七段多一个小数点,其他基本相同。所谓八段,就是数码管里有八个小led,通过控制不同led的亮灭来显示不同的字形。数码管分

最常用的LED数码管是七段和八段。八段比七段多一个小数点,其他基本相同。所谓八段,就是数码管里有八个小led,通过控制不同led的亮灭来显示不同的字形。数码管分为共阴极和共阳极两种。其实共阴极就是把8个LED的阴极连在一起,接地,给它一个高电平就可以点亮任何一个LED的另一端。公共阳极是将八个发光二极管的阳极连接在一起。其原理图如下。

数码管的显示原理(数码管原理图)插图

其中管脚图的两个COM端子连在一起,就是公共端子。公共负数码管要接地,公共正数码管要接正5伏电源。一个八段数码管称为一位,几个谢妮管并列在一起形成一个多位数码管。它们的段线选择(即a.b.c.d.e.fg.dp)连接在一起,它们的公共端称为位线选择。显示器显示时,字符码从段线选择发出,选择线时数码管会点亮。数码管的8段对应一个字节的8位,A对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么常见的负数码管的字符码是0011111,即Ox3f公数码管的字符码是11000000,即Oxco。可以看出,两个码的比特正好相反。如下图。

从上图我们可以得到共阳极和共阴极的数码管代码。

总阳极:当bit为高(即1)时选择数码管,当各段为低(即0接地)时选择各段数码管,从0到f的代码如下:

uchar代码表[]={

0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e };

公共阴极:

选择低电平(即0)选择数码管,选择高电平(即1 +5V)选择每个数字段。

uchar代码表[]={

0x3f,0x06,0x5b,0x4f,

0x66、0x6d、0x7d、0x07、

0x7f、0x6f、0x77、0x7c、

0x39,0x5e,0x79,0x 71 };

数码管静态显示

当多位谢妮管应用于某一系统时,它们的位选择可以独立控制,而它们的段选择是连接在一起的。我们可以控制哪些谢妮管被位选择信号点亮。同时,所有带位选择的谢妮管上显示的数字总是相同的。因为它们的段选择连接在一起,所以发送到所有谢妮管的段选择信号是相同的。然后

让一个数码管循环显示0-9。

以下是程序。将DSY _码数组的编码数据依次发送到端口P0就可以了,不是很简单吗?

# include & ltreg52.h & gt# define uchar unsigned char # define uint unsigned int uchar CODE DSY _ CODE[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x 71 };void delay ms(uint x){ uchar t;而(x -)对于(t = 120t & gt0;t-);} void main(){ uchar I = 0;P0 = 0x00while(1){ P0 = DSY _代码[i++];if(I = = 10)I = 0;戴莱姆斯(200);}}今天的分享就到这里。欢迎大家评论转发。有问题请私信我。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/221310.html

发表回复

登录后才能评论