APP下载

51单片机数码管动态显示分析

2016-05-14吴文兵李炳贤

数字技术与应用 2016年8期
关键词:数码管单片机

吴文兵 李炳贤

摘要:单片机的数码管显示一般都用动态显示方式。单片机常用的显示器为发光二极管显示器、液晶显示器等,其中发光二极管显示器的显示结构又分为两种:段显示和点阵显示,段显示最常见的是7段显示结构。本文从数码管的动态显示过程出发,研究分析了单片机利用7段显示结构动态显示的整个过程。

关键词:数码管 动态显示 单片机

中图分类号:TP368.11 文献标识码:A 文章编号:1007-9416(2016)08-0005-02

在单片机的动态显示过程中,我们将各个数码管的位选端(每个数码管是由八个发光二极管组成的,而发光二极管相连的那一端组成的公共端即为位选端)如图1所示分别接在单片机的P2口,在每个瞬时,只允许选通一个数码管,每个数码管段选端(八个发光二极管不相连的那一端)接在单片机的P0口的对应引脚。通过单片机的P0和P2两个输出口就可实现单片机的动态显示了。

1 数码管的工作原理

数码管动态显示原理图1所示。

图2a所示,数码管可以显示0、1、2…F这16个字符,数码管如果是共阴极连接方式(数码管的发光二极管的位选端为阴极)数码管可以显示0、1、2…F这16个字符,数码管如果是共阴极连接方式(数码管的发光二极管的位选端为阴极)如图2b所示,由于51单片机的位选端接在了单片机的P2口,段选端接在了单片机的P0口。要想使与P2.0口相连的数码管显示数字1,由于数码管为共阴极连接方式,故与段选端相连的P0口应在对应的引脚上使b、c两段发光二极管发光,其他段的发光二极管不发光,故P0口应输出0x06(即二进制数00000110)。然后应使位选端相连的P2口对应引脚输出低电平0,反之,数码管如果是共阳极连接方式如图2c所示,显示的字码的方式应和共阴极连接方式相反,如要在对应的数码管上显示数字1,P0口应输出0xf9(即二进制数11111001)。而想让哪个数码管能显示字码,就必须给相连的单片机的P2口的对应引脚输出高电平1。

2 数码管的动态显示原理

在任意瞬时,单片机只选通一个数码管,即位选通,而各个数码管的段选端是可以同时向各个数码管送数的,但是只有位选通的数码管能显示字码。显示字码的时间也非常短暂,即延时一定时间后,位选通的数码管关闭,选通下一个数码管的位选端,使其能显示字码,同理其他数码管也是按着此原理,依次可显示字码。由于人的视觉有暂留效应(暂留效应即光信号消失后,人眼睛对光还会保留大约0.1s-0.4s的时间)和发光管的余辉效应(当电子束停止轰击荧光屏时,光点仍能保持一段时间),再加上延时时间足够短,使人感觉好像各位数码管同时都在显示。还有一点需要注意用于动态显示的限流电阻阻值应略小于静态显示的限流电阻阻值,这是由于动态显示的亮度比静态显示要小一些。

3 实验程序

6个共阳极数码管采取动态显示方式与单片机相连接。P0口为段选端,P2.0、P2.1、P2.2、P2.3、P2.4、P2.5分别与三极管基极相连作为位选端。要求编写控制程序,实现6个数码管能够分别显示“2”、“3”、 “8”、“d”、 “f”、“5”。

分析:要使与P2.0口相连的数码管显示数字“2”, 由于数码管为共阳极连接,需要使a、b、d、e、g几段发光二极管发光,其它二极管不发光,也就是与a、b、c、d、e、f、g、dp这8段发光二极管相连的单片机的P0口输出0xa4(即二进制数10100100)。然后要将其P2.0口的位选端开通,单片机的P2.0口应输出一个高电平,则第一个数码管可显示数码了。程序的编写是在Keil C51环境下进行的如图3所示,程序编写完后,先采用Proteus仿真软件进行仿真,它内含了成千上万个仿真模型库。然后通过真实的实验线路再次验证,达到预定的效果即为实验成功。

在使用单片机来控制数码管显示时,采用动态显示是将所有的数码管的段选端都接在单片机的对应引脚上,另外每个数码管的公共端都作为位选端接在单片机其他引脚上,当单片机输出字码是,每个数码管接受到的字码是相同的,单片机只不过靠控制每位数码管的位选端来确定哪个数码管可显示字码。

单片机在动态扫描时,控制程序先后给段选端和位选端送段码和位码,但由于人眼睛的滞后效应和发光管的余辉效应,再加上打开数码管的时间间隔很短,使我们看上去像是数码管同时可以显示不同的字码,其实数码管是一个一个显示的,这和数码管只能在同一时刻只能显示同一字码有着本质的区别。

参考文献

[1]郭小军.单片机控制数码管动态显示过程分析[J].武汉船舶职业技术学院学报,2010(5).

[2]胡全.51单片机的数码管动态显示技术[J].中国新技术新产品,2009(13).

猜你喜欢

数码管单片机
基于单片机的SPWM控制逆变器的设计与实现
Arduino编程
基于单片机的层次渐变暖灯的研究
MC9S08FL16单片机数码管静态显示分析
基于单片机的便捷式LCF测量仪
单片机控制的四位数码管动态显示编程
基于Qt的数码管数字编码系统的设计与实现
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
Microchip推出两个全新PIC单片机系列