- 单片机应用技术实训指导
- 赵旭辉
- 2138字
- 2021-03-29 12:40:26
项目原理与内容
1.数码管的工作原理
数码管也叫七段数码管、八段数据管,它是由八个发光二极管组成,其中七个长条形的发光二极管排列成中文“日”字形状,另一个小圆点在右下角作为小数点使用。其结构示意见图3-1所示。这种组合可以显示0~9十个数字以及部分英文字母。
图3-1 七段数码管
七段数码管有共阴极和共阳极两种类型。共阴极数码管中各发光二极管的阴极共地,当某个发光二极管的阳极为高电平时,该发光管点亮。共阳极数码管正好与之相反,是所有阳极接在一起,当某个发光二极管的阴极为低电平时,该发光管点亮。其内部电路原理如图3-2所示。
使用七段数码管时,只需要将单片机的一个并行口与数码管的8个引脚相连即可。8位并行口输出不同的字节数据会使数码管呈现出不同的显示状态。通常将控制数码管显示内容的8位字节数据称为段选码。不同的段选码对应不同的数码显示。共阳极与共阴极的段选码正好互补,见表3-1。
图3-2 数码管的内部电路和外部引脚
表3-1 七段数码管的段选码
注:表中未涉及dp段的状态。
除了单个的数码管以外,还有一种多个数码管连在一起(abcdefg以及dp端分别连接在一起,公共端分别控制)的叫作数码管模块,如图3-3所示。数码管模块在日常生活中应用较多,其显示原理与单个数码管的原理相同,仍然通过abcdefg及dp引脚控制数码管的显示内容,而哪一个数码管的公共端被选通则对应的数码管点亮。这里面将决定数码管显示内容的abcdefg及dp引脚的控制信号称为段选码,段选码决定显示内容。而将各个数码管的公共端的选通信号称为位选码,位选码决定了哪一个数码管显示。
2.数码管的动态显示和静态显示
所谓数码管的静态显示就是指内固定的端口输出段选码,另一个端口固定地输出位选码,即每一个数码管的段选与位选均由不同的端口控制。静态方式下数码管显示明亮稳定,编程控制简单。但是如果显示的数码管较多,则需要控制的端口和硬件数量也较多、成本过高是其主要缺点。
另一种显示方式是动态显示,动态显示时只需要使用一个固定的端口,通过锁存器等器件就可以实现端口的分时复用,极大地节省了硬件开销,是常用的数码管显示方式。这种方式下硬件使用较少,但程序设计相对复杂。本实验板上的数码管模块即为动态显示。其模块连接及工作原理如图3-3所示。
图3-3 数码管显示模块
实验板上数码管的动态显示原理:本实验板上共有8个数码管,借助两个锁存器使P0端口分时输出段选码和位选码。这两个锁存器是U8和U9,其中U8为段选控制由P10引脚控制其开关,U9为位选控制由P11引脚控制其开关。如果要使某个数码管显示,必然要经过这样四个步骤:
①由P0口给出段选码。
②由P10引脚控制打开U8,使A0~A7的状态与P0口的八个引脚一致,然后关闭U8,使之进入锁存状态,即切断了与P0的联系,但输出端保持刚才的状态不变。
③由P0口给出位选码。
④由P11引脚控制打开U9,使A0~A7的状态与P0口的八个引脚一致,然后关闭U9,使之进入到锁存状态,即切断了与P0的联系,但输出端保持刚才的状态不变。
如此反复运行,就可以实现数字的动态显示了。
从以上分析可以看出,数码管模块的动态显示就是利用了发光二极管的“辉光效应”,通过动态地改变段选码和位选码,使每个数码管按一定的频率轮流显示,给人一种数码管都点亮了的错觉。
数码管进行动态显示时,所有数码管的段选线都连接在一起而位选线分离,通过控制位选线的变化,快速点亮刷新。因为所有的段选线都连在一起,硬件电路相对比较简单,且同一时刻只有一个数码管在点亮,所需电流也较小。但是刷新的频率如果较慢,就会出现数码管的闪烁现象。所以在动态显示中,数码管的刷新周期要注意不要太短。一般的数码管刷新周期应控制在5~10ms(即刷新频率为100~200Hz),这样即保证了数码管每次刷新都被完全点亮,又不会产生闪烁现象。
实验要求与步骤:
(1)实验要求
本实验项目包含三个子项目,由易到难的各子项目中数码管的不同显示方式。
①使实验板最右侧数码管显示数字5,且静止不动。
②使实验板最右侧的数码管依次显示数字1~8。要求数码闪烁,周而复始。
③使用动态显示方法使全部数码管显示数字20142015,且保持稳定显示。
(2)实验步骤
①分析电路原理图,从图中掌握数码管的极性、连接方式,知晓其控制方法。
通过查阅实验板说明书,掌握所用数码管的极性,确定是共阴还是共阳。接着研究其连接方式和控制方法。从前面的原理分析,我们已经知道数码管的控制主要由U8和U9两个锁存器控制。其中P10控制锁存器U8,P11控制锁存器U9。数码管的内容及控制信息完全由P0口送出。依据以上分析:
送段选码的方法为:
_______________________
_______________________
_______________________
送位选码的方法为:
_______________________
_______________________
_______________________
②数码管的消隐处理。在动态显示时,由于刷新频率较高,可能会产生数码管显示内容乱码现象。处理乱码现象主要通过消隐方式解决。所谓的消隐,就是在数码管显示新数字前,先将数码管清空一下,然后再显示。与送出段选码、位选码的方法一样,在打开锁存器的控制后,由P0口送出一个代码,将全部数码管关闭。
数码管的消隐方法为:
_______________________
_______________________
_______________________
③数组的运用。要实现动态显示过程,需将要显示的段选码和位选码以数组方式预先准备好。显示时通过循环依次读取数组内容并送至数码管。
本实验板的数码管为共阴极管。写出数码管动态显示“20152015”时的段选码:
unsigned char code tab[ ]={______,______,______,______}; //2015的共阴码
④编写代码。
⑤向实验板烧录代码。
⑥观察程序运行效果,反复调试,直至达到预期实验目标。