三位数码管_详解7段数码管的工作原理,电气特性及运用电路

数码管是嵌入式开发中比较常用的一个模块,本篇文章根据查阅的资料以及学习笔记整理成文,尽可能详尽的讲解常用数码管原理和使用方法。有不足和疏忽的地方,请不吝指正。

目录

1.工作 原理

2.电气特性

3.驱动方式

4.开发实例

5.亮度和锁存器

6.使用中注意事项

一、工作原理

数码管是一种半导体发光器件,其基本单元是发光二极管。能显示4位数字的叫四位数码管,当然也有多位和只有一位的数码管,他们的电气原理相同。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。

bb2878e5c4e1abdf5df085556476f3f8.png

二、电气特性

单位数码管有十个管脚,其中有8根是用来点亮a,b,c,d,e,f,dp 共8个发光二极管(原理中有介绍),3,8两个管脚为公共COM脚,它们相连通且作用相同,可接任意一根。为了更清楚介绍,贴图如下

92c0b7805fa39c0a06e039c430e2f5d5.png
32b7ade8fb0bf891c0a803efaec880e9.png

共阴数码管脚位对应图

三、驱动方式

1、静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

2、数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

四、开发实例

下面讲解一下四位数码管的动态驱动显示,首先看一下接线引脚图如下。

42bb2104cdfe60971b3f4b20e9cf7b54.png

接下来用51单片机设计目标:通过编写c语言程序经编译连接后下载到单片机中,使四位数码管依次显示1,2,3,4

#define uchar usigned char#define uint usigned int//位选控制端口sbit p20=P2^0;sbit p21=P2^1;sbit p22=P2^2;sbit p23=P2^3;//数码管段选编码数组,分别为显示:1,2,3,4的编码uchar code BianMa[] ={0x7,0xb,0xd,0xe};//延时1ms函数(用于数码管动态刷新)void Delay1ms(int time);void main(){while(1){p20 =0; //共阴极数码管低位选有效,表示已选中第一位数码管P0 =BianMa[0];//通过I/O口P0向数码管送段选编码Delay1ms(500);//第一位数码管显示0.5秒,然后换到第二位,依次下去,由于视觉停留和数码管余辉,所以感觉四位都在显示p20 =1;p21 =0; //第二位亮P0 =BianMa[1];Delay1ms(500);p21 =1;p22 =0; //第三位亮P0 =BianMa[2];Delay1ms(500);p22 =1;p23 =0; //第四位亮P0 =BianMa[3];Delay1ms(500);p23 =1;}//延时函数体void Delay1ms(int time{int i,j;for(i =time;i>0;i--)for(j =110;j>0;j--)}

五、关于亮度和锁存器

一般来说静态驱动的亮度要高于动态驱动的亮度,但不影响使用。实际使用中为了达到更好的效果,会配合锁存器如74HC573一起使用,可以记忆先前状态数据直到有新数据覆盖。对做51单片机应用开发来说,相对LCD液晶,液晶模块编程更方便,样式更多样,但是其缺点亮度不够。这也恰恰是数码管的优势,如果做简单的计数显示,数码管是最好选择。

六、使用中注意事项

数码管的基本组成是发光二极管,因此其可以通过的电流只有几mA,接5V直流电源做测试的时候一定要串上一个几十K大小的电阻。否则,很容易烧掉,此外用万用表的测电阻档就可将其点亮,足以说明其电流之小。

内容整理自网络

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用全加器实现7数码管的驱动,需要先了解一下7数码管的引脚。 7数码管共有7个LED灯,分别表示数字0到9以及A、B、C、D、E、F等字符。这些LED灯的亮灭状态通过数码管的7个引脚控制,其中6个引脚用于控制每个LED灯的亮灭状态,第7个引脚用于控制数码管的小数点。 在数码管的引脚中,共阳极数码管的阳极(即正极)连接在一起,而阴极(即负极)分别连接到不同的引脚上;共阴极数码管则相反,阴极连接在一起,而阳极分别连接到不同的引脚上。 因此,要利用全加器实现7数码管的驱动,需要根据数码管的类型选择不同的接法。 以共阴极数码管为例,假设要显示数字0,需要将第2、第3、第4、第5、第6和第7个引脚接通,第1个引脚断开。这时,LED灯的亮灭状态应为“亮、亮、亮、亮、亮、亮、灭”。为了实现这一控制,可以使用4个全加器。 首先,将第2、3、5和6个引脚连接到全加器的A输入端,将第4个引脚连接到全加器的B输入端,将第7个引脚连接到全加器的C输入端。然后,将全加器的输出端连接到数码管的引脚上。当全加器的输出为1时,对应的LED灯亮起;当输出为0时,LED灯熄灭。 对于共阳极数码管,只需要将全加器的输入端和输出端反转即可。 至于如何检测数码管是否正常工作,可以使用数字信号发生器产生频率为1Hz的方波信号,将信号输入到数码管的时钟引脚上。这时,数码管应当按照设定的控制信号显示数字0到9,以及字符A到F。如果数码管不能正确显示,可能是数码管本身损坏或接线错误造成的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值