点亮8位数码管

一、什么是数码管?

数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中充以低压气体,通常大部分为氖加上一些和/或氩。给某一个阴极充电,数码管就会发出颜色光,视乎管内的气体而定,一般都是橙色或绿色。

尽管在外观上和真空管相似,其原理并非为加热阴极放射电子。因而它被称为冷阴极管或霓虹灯的一个变种。在室温下,即使处于极端的室内工作条件下,这种管子的温度很少超过40℃。

数码管的最常见形式有10个阴极,形状为数字0到9,某些数码管还有一个或两个小数点。然而也有其他类型的数码管显示字母、标记和符号。如一种“数码管”,其阴极为一个模板制成的面具,上面有数字形状的孔。一些俄罗斯的数码管,如IN-14,使用倒立的数字2代表5,大概是为了节约生产成本,而没有明显的技术或美学方面的原因。俄罗斯的数码管大部分都使用了倒立的2作为5。

将170伏的直流电压加在阴极和阳极之间,每一个阴极可以发出氖的的红橙色光。由于混合气体的不同,不同类型的数码管之间的颜色有所区别。寿命较长的数码管在制造中加入了汞,减少了溅射,结果发出的光的颜色为蓝色或紫色调。在某些情况下,这些颜色被玻璃上的红色或橙色过滤涂层过滤。常见数码管

二、数码管的组成与显示:

数码管的组成不同,数码管CK即共阴极数码管(common Cathode或common kathion),也称CC;CA即共阳极(common anode)。共阴极是将7段的所有阴极直接连接在一起,共阳极具有连接在一起的7段的所有阳极。数码管显示不同,共阴极:在共阴极显示中,LED段的所有阴极连接都连接在逻辑“0”或接地。通过经由限流电阻器施加“HIGH”或逻辑“1”信号来照亮各个段,以使各个阳极端子(ag)正向偏置。

共阳极数码管是指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制。共阴极数码管是指八段数码管的八段发光二极管的阴极(负极)都连在一起,而阳极对应的各段分别控制、数码管由七个条状和一个点状发光二极管管芯制成,称为七段数码管。根据其结构的不同,可分为共阳极数码管和共阴极数码管两种。共阳共阴,是针对数码管的公共脚而说的。典型的一位数码管,一般有10个脚,8个段码(7段加1个小数点),剩下两个脚接在一起。共阳,也就是说公共脚是正极(阳极),所有的段码实际上是负极,当某一个或某几个段码位接低电平,公共脚接高电平时,对应的段码位就能点亮,进而组合成数字或字母。

共阴是公共脚是负极(阴极),段码位是阳极,当公共脚接地,段码位接高电平时,对应段码位点亮。共阳极: 在共阳极数码管中,LED段的所有阳极连接都连接到逻辑“1”。

通过将合适的限流电阻施加到特定段(ag)的阴极的接地逻辑“0”或“低”信号来照亮各个段。接电现象不同,若公共端接地,其他端接电源,若各段测试能亮,说明是共阴的,反之共阳的;若公共端接电源,其他端分别接地,测得各端亮,则说明是共阳的,反之为共阴的。数码管的内部组成

数码管的七段显示元件通常由 LED (发光二极管)或 VFD (真空荧光显示管)制成,每个显示元件都可以显示数字0 9 和一些字母字符。每个数字或字符的显示通过点亮或关闭数码管的不同段来实现。这些段通常按照一定的排列方式编号,如图2-1-3 所示, "a" "b" "c" "d" "e" "f" "g" 是按照固定的方 式排列的。通过控制这些段的状态,可以显示所需的数字或字符。

三、数码管的驱动原理:

数码管内的 LED 灯排列方式是固定的,要显示特定字符的时候,点亮对应位置上的 LED 灯即可,其他位置
LED 则熄灭。
例如要显示数字 “5” ,则需点亮 a f g c d ,熄灭 b e h

四、多位数码管的驱动方式:

1、查看开发板原理,得知数码管的a-h分别与P00-P07连接

我们学习了 1 位数码管的驱动方式,使用的是单片机的 P0 口分别与数码管的 a-h 相连,通过
控制 P0 口驱动数码管,那么如果要驱动多位数码管呢?
2、IO 口直接驱动法
直接使用单片机的 IO 口驱动数码管, 1 位数码管占用 8 IO 口,每个数码管都是专线专用。以 51 单片机为
例,一共有 4 IO 口,如果使用 IO 口直接驱动数码管则最多只能接 4 位数码管。
优点:所有数码管每时每刻都能得到显示信号,显示稳定不闪烁,编程简单
缺点:非常占用单片机的 IO 口资源,驱动 4 位数码管后,单片机所有 IO 口被占用,无法实现其他功能。
3、专用驱动芯片驱动
每位数码管使用 74LS164 芯片单独驱动, 该芯片可以串联使用,驱动多位数码管,只需
占用单片机 2 IO 口。
优点:所有数码管每时每刻都能得到显示信号,显示稳定不闪烁,占用极少的 IO 口,消耗很小的 CPU
缺点:电路元器件较多,编程较为复杂,硬件成本较大
4、时分复用动态显示
这种显示方式 8 位数码管共用一组信号线, 8 位数码管轮流显示,同一时刻只有 1 位数码管得到显示信
号,未得到显示信号的数码管都处于熄灭状态,因为 8 位数码管的轮流显示速度是非常快的(间隔 3ms
右),因为人眼的视觉残留效应,看起来就是 8 位同时显示
优点:占用 IO 口较少,电路简单,基本不用增加额外的器件
缺点:编程较为复杂;需要 CPU 每时每刻轮流显示 8 个数码管,占用 CPU 资源多;数码管不能同时得到显

示信号,有可能会出现闪烁这种显示方式8位数码管共用一组信号线,8位数码管轮流显示,同一时刻只有1位数码管得到显示信号,未得到显示信号的数码管都处于熄灭状态,因为8位数码管的轮流显示速度是非常快的(间隔3ms左右),因为人眼的视觉残留效应,看起来就是8位同时显示。

优点:占用 IO 口较少,电路简单,基本不用增加额外的器件
缺点:编程较为复杂;需要 CPU 每时每刻轮流显示 8 个数码管,占用 CPU 资源多;数码管不能同时得到显
示信号,有可能会出现闪烁
时分复用动态显示 的原理可得,其关键是如何单独给每位数码管发送显示信号。以显示 “12345678”
例:其显示步骤如下:
1. 打开第 1 位数码管的显示开关,关闭其余数码管显示开关
2. 在数据线上发送数字 “1” 的字码
3. 维持一小段时间(大约 2ms
4. 发送消隐的字码,此时第 1 位数码管关闭显示
5. 打开第 2 位数码管的显示开关,关闭其余数码管显示开关
6. 在数据线上发送数字 “2” 的字码
7. 维持一小段时间(大约 2ms
8. 发送消隐的字码,此时第 2 位数码管关闭显示
9. 从步骤 5 开始重复,直到 8 个数字显示完成
从显示步骤中可以看到,实际上每个位只显示了 2ms 后就熄灭了,为了维持显示效果,需要不断的重复这样就需要CPU 一直执行显示代码,如果 CPU 没能及时的执行显示代码,会出现数码管闪烁的
情况,严重时无法正常显示内容。
5、动态显示驱动方案选择
我们学习了动态显示的原理,知道其关键是单独给每一位数码管发送显示信号,那么如何实现这个功能
呢?观察数码管的内容电路, 要让数码管显示需要同时满足 2 个条件:一是 LED 的正极有高
电平,二是 LED 的负极为低电平,两个条件同时满足时 LED 点亮。因为 8 个数码管的正极都是共用一组驱 动信号,所以正极有高电平的时候8 个数码管都有高电平。要想独立控制只能从条件二入手,只要负极不是低电平,那么不管正极什么情况,数码管都不会点亮,由此就得到控制方案:控制阴极电平的高低 (与 GND 之间的通断) 将数码管的阴极与单片机 IO 口连接,当 IO 口为低
电平时,该位数码管就是选中状态。
6、使用译码器减小 IO 口占用
8 位数码管,则需要 8 IO 口控制其阴极的通断,为了进一步减少 IO 的使用,可
以使用译码器芯片。我们的目的就是在 8 路信号中选择 1 路导通,这种情况可以使用 38 译码器
74HC138 ,通过 3 IO 口控制 8 路信号的选中状态,达到减小IO口占用的目的。
(逻辑图与真值表)
编写数码管位选择函数,通过该函数可以选择哪一位数码管导通,因为开发板中使用了 74HC138
码器,所以需要结合译码器的真值表进行编写,开发板的连接原理图如下图所示:

五、编写代码过程:

1. 新建文件夹,命名为“1位数码管” 新建工程2. 打开Keil5软件,在菜单栏中依次点击“Project->New uVision Project”

(新建工程)
3、编写main函数及主循环(Show_Num()内输入数码管显示的数字)
(主函数)
4、 声明一个数组 meg_code ,保存数字 的字码。
5、 ,编写数码管位选择函数:
因为需要逐个显示 数所以字显示需要间隔,这样才能观察得到稳定的数据,则需要延时函
数。定义一个延时函数,函数名称为 Delay_Ms, 其参数为延时的时间,单位是毫秒,函数内容如
下,该函数内是两个循环,其目的就是让 CPU 在这个函数内执行一些没有实际意义的语句( CPU
行语句是需要时间的,如果 CPU 执行一天语句需要 0.1us ,那么 1 条语句循环执行 10 次就需要花费
1us ,),通过这种方式,可以让 CPU“ 在延时函数这里,延时时间到了继续往下执行。
(延时函数)
编写显示数字的代码
(数码管模块代码)
点击编译后,在底部会显示编译结果,如编译有错误,可复制粘贴在网上查询其报错原因。
五、程序下载
1. 使用数据线连接开发板和电脑;
2. 运行下载工具 STC-ISP;
3. 选择单片机型号及串口号,并选择生成的 hex 文件,然后点击 下载 ”;
4. 单击 下载 后,需要给单片机重新上电,即关闭电源开关然后再打开电源开关,随后就会进入下载
模式将 hex 程序下载到单片机中,下载成功后 STC-ISP 提示下载成功!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值