数码管的使用方法与接线

数码管

8人已加入

描述

  数码管工作原理

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

  

  电气特性

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

  数码管

  驱动方式

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

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

 数码管

  led数码管接线

  第一步:墙体打孔,装数码管底扣,用自攻螺丝将数码管锁住;将数码管安装到指定墙体上。

  第二步:然后将LED数码管的信号线、电源线连接起来,信号线一般是四芯或五芯也有两芯的公母插头;电源线是两芯的公母插;

  第三步:安装电源(变压器或开关电源);根据变压器的功率以及数码管的功率来计算每台变压器可以带多少条数码管;比如108灯的LED七彩数码管是10W/M;144灯的LED数码管是12W/M;若用400W的防水变压器,则可以带108灯36M管;144灯的则带32 M管。若变压器可以带36M管;变压器则放在第18和19条中间,接两条线出来,每边各带18条。

  注意:1. 变压器一般只分配到80%到90%的功率;

  2. 不管变压器的功率再大,每边接的管最好不要超过25M;因为电源导线有功率损耗;越到后面的LED数码管亮度越低;

  第四步:LED数码管控制器的安装;先装分控器,直接将分控器接在LED数码管上;分控器两端一般有三个出线头,一端一条的一般是电源线接24V或12V,注意这个电源线只是分控器的供电,护栏管的供电要另外联接,另外一端两条接线头一条是从主控器输入的信号线,一条是接护栏管的输出的信号线,分控器上会标出哪条接主控哪条接分控!信号接信号(五芯公母插),电源接电源(两芯公母插);然后将分控器与主控器的信号对接,如果分控与主控的距离将远时可以用超五类网线连接起来,这样信号比较好;做楼体轮廓时,每一个分控带一路;具体的情况根据LED效果图安装。分控与主控之间亦采用超五线网线连接;网线都是八条线的,采用公母信号插与网线对接起来,现接到分控上;不同回路的数码管之间的信号线需要断开。

  第五步:通电,通信号。将变压器全部接到一条220V主电源上,然后采用一个空气开关和时间开关;

  

  开发实例

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

 数码管

  接下来用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大小的电阻。否则,很容易烧掉,此外用万用表的测电阻档就可将其点亮,足以说明其电流之小。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分