内容正文:
任务一 显示一个字符
单片机技术及应用
同步精品课堂
高等教育出版社第 4 版
1
了解LED数码管的内部结构、分类和工作参数
掌握 LED 数码管静态显示方法和编码表的使用
学会测量 LED 数码管的极性和绘制引脚分布图
能够绘制 1 位 LED 数码管静态显示模块电路原理图和焊接电路
LED 数码管的静态显示原理和编码表
基于 LED 数码管的程序编写和调试
理解 LED 数码管的共阳极和共阴极编码原理
根据电路原理图和编码表准确编写程序代码
在日常生活中,我们经常能看到数码管显示各种数字和字符,它在电子设备中应用广泛。
今天我们就来学习如何在 1 位 LED 数码管上显示字符 “0”,从认识 LED 数码管开始,一步步完成整个制作过程。
任务一 显示一个字符——知识准备
LED 数码管内部有 8 个段(其中有一个段是小数点),这 8 段实际上就是 8 个发光二极管,施加正向电压时,发光二极管导通,此时会发出特定色彩的荧光
LED 数码管的内部结构
单个 LED 数码管外形和内部结构对应各段为 a、b、c、d、e、f、g 和 dp。
任务一 显示一个字符——知识准备
将 8 个发光二极管的阴极连在一起,就是共阴极结构的数码管,如果将所有的阳极连在一起,就是共阳极结构的数码管。一位 LED 数码管的 3 脚和 8 脚在内部是连在一起的,通常称为公共端(com)。在各段上施加不同的电压,就可以根据要求显示 0~9 十个数字或指定的字符。
LED 数码管的内部结构(共阴共阳)
任务一 显示一个字符——知识准备
LED 数码管的外形尺寸有多种形式,使用较多的是 0.5 in 和 0.8 in,为了使用方便通常将几个 LED 数码管制作在一起,组成一个显示模块,常见的有 1 位、2 位、4 位 LED 数码显示模块
LED 数码管的分类
多位 LED 数码管的 8 个段在内部连在一起,n 位 LED 数码显示模块就有 n 个公共端用于控制某位 LED 数码管的亮灭;按显示颜色也有多种形式,主要有红色、绿色、黄色和蓝色;按亮度强弱可分为超亮、高亮和普亮。
任务一 显示一个字符——知识准备
其正向压降为 1.5~2V,额定电流为 10mA,最大电流为 40mA,实际使用时,通常需要串联一个限流电阻(300 Ω),使其实际工作电流不超过 10mA,防止其烧坏。
LED 数码管的工作参数
任务一 显示一个字符——知识准备
将 LED 数码管的各段从 dp~a 顺次编码,就可以得到 0~9 十个数字的共阳极和共阴极编码表。
LED 数码管的静态显示方法
字符 共阳极编码 共阴极编码
dp g f e d c b a 编码 dp g f e d c b a 编码
0 1 1 0 0 0 0 0 0 0xc0 0 0 1 1 1 1 1 1 0x3f
1 1 1 1 1 1 0 0 1 0xf9 0 0 0 0 0 1 1 0 0x06
2 1 0 1 0 0 1 0 0 0xa4 0 1 0 1 1 0 1 1 0x5b
3 1 0 1 1 0 0 0 0 0xb0 0 1 0 0 1 1 1 1 0x4f
4 1 0 0 1 1 0 0 1 0x99 0 1 1 0 0 1 1 0 0x66
5 1 0 0 1 0 0 1 0 0x92 0 1 1 0 1 1 0 1 0x6d
6 1 0 0 0 0 0 1 0 0x82 0 1 1 1 1 1 0 1 0x7d
7 1 1 1 1 1 0 0 0 0xf8 0 0 0 0 0 1 1 1 0x07
8 1 0 0 0 0 0 0 0 0x80 0 1 1 1 1 1 1 1 0x7f
9 1 0 0 1 0 0 0 0 0x90 0 1 1 0 1 1 1 1 0x6f
熄灭 1 1 1 1 1 1 1 1 0xff 0 0 0 0 0 0 0 0 0x00
任务一 显示一个字符——知识准备
实际使用时,通常将数码管的八段编码表存放在一个 ROM 数组中,每一位字段码分别从 I/O 控制口输出,保持不变直至 CPU 刷新,就可以显示出相应的字形。
静态显示的特点是编程比较简单,但占用 I/O 口线较多,硬件电路复杂,成本高,一般适用于显示位数较少的场合。
LED 数码管的静态显示方法(特点)
任务一 显示一个字符——任务实施
工具及材料准备:
工作准备:
测在1位LED数码管上显示字符“0”。
任务需求
① 软件:Protel DXP2004、Proteus 7.4、Keil uVision2、EasyPRO Programmer、流程图绘制软件。
② 硬件:计算机 1 台、编程器 1 台、最小系统电路板 1 块、LED 灯控电路板 1 块、杜邦线 1 条、电池盒 1 个。
穿好工作服,戴好防静电手环,穿绝缘胶鞋。
清洁工作台面,清理工作区域,工具、仪器仪表摆放整齐有序。
任务一 显示一个字符——任务实施
测量方法
在1位LED数码管上显示字符“0”。
测量数码管
LED 数码管各段的引脚位置,在使用前需要用万用表测量判断一下各段的引脚位置。
通过判断任意段与公共端连接的发光二极管的极性就可以判断出是共阴极还是共阳极。假设 LED 数码管是共阳极的,那么将指针式万用表的黑表笔(正极)与 LED 数码管的 com 段相接,然后用万用表的红表笔逐个触碰 LED 数码管各段,LED 数码管各段将被逐个点亮;
如果 LED 数码管各段均不亮,则说明 LED 数码管是共阴极的,可以将红黑表笔交换连接后测试。如果 LED 数码管只有部分段点亮,而另一部分不亮,说明 LED 数码管损坏。
任务一 显示一个字符——任务实施
① 启动 Protel DXP 2004,新建一个电路原理图文件,其文件名为 “1 位 LED 数码管静态显示模块电路原理图”。
② 从元件库 “Miscellaneous Connectors.IntLib” 中查找 “Header2”(1 个 I/O 口插座),拖入工作窗口。
③ 从元件库 “Miscellaneous Devices.IntLib” 中查找 RES(8 个电阻)拖入工作窗口。
④ 自制一位数码管 SEG1,存入自制元件库中,然后添加自制元件库,将该元件拖入工作窗口。
绘制 1 位 LED 数码管静态显示模块电路原理图
任务一 显示一个字符——任务实施
⑤ 绘制如图所示的电路,修改标号和标称值。
⑥ 保存该文件。
绘制 1 位 LED 数码管静态显示模块电路原理图
任务一 显示一个字符——任务实施
① 根据 1 位 LED 数码管静态显示模块电路元件清单,选取元件,用万用表检测元件的好坏。
焊接 1 位 LED 数码管静态显示模块电路(元件选取与检测)
名称 标号 规格 数量
金属膜电阻 R1~R8 300Ω 8
1 位 LED 数码管 SEG1 共阳极 1
电源端口插座 P1 2 针 1
I/O 口插座 P2 8 针 1
任务一 显示一个字符——任务实施
② 绘制元件布局图,在万能电路板上按布局图依次进行元件的排列、插装。
③ 按工艺要求焊接元件,背面用直径为 0.5~1mm 的导线连接,直到所有的元件连接并焊完为止。焊接顺序为金属膜电阻 →LED 数码管 →I/O 口插座 → 电源端口插座 → 连接导线。
焊接 1 位 LED 数码管静态显示模块电路(元件布局与焊接)
任务一 显示一个字符——任务实施
根据电路原理图(如图所示)用杜邦线搭接电路,LED 数码管静态显示模块的 I/O 口(P2)与最小系统板的 P2 口相连,连接电源和地端,安装电池盒。
搭接电路
行列矩阵式键盘电子密码锁原理图
任务一 显示一个字符——任务实施
编程(新建工程与源文件)
① 启动 Keil uVision2,新建一个工程文件 “静态显示一个文字.uV2”。
② 新建一个 C51 源程序文件 “静态显示一个文字.C”,根据程序流程图,编写如下 C51 源程序代码。
编程实现
#include <reg51.h>
#define uchar unsigned char
// 共阳极数码管编码表unsigned char codeSEG_COD[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
void main(void) {
while(1)
{
P1 = SEG[0]; // 通过P1口输出给共阳极数码管显示
}
任务一 显示一个字符——任务实施
仿真调试程序
启动仿真软件Proteus 7.4,新建一个仿真文件(静态显示一个字符.DSN)。
根据电路原理图绘制仿真电路图(省略复位和时钟电路),添加电源(VCC) 和地端,修改元件标号和标称值。
任务一 显示一个字符——任务实施
下载程序,验证功能
① 启动编程软件EasyPRO Programmer。
② 加载HEX 文件(静态显示一个字符.HEX)。
③ 单击“操作一键通”按钮,完成程序的下载。
④ 将单片机插到最小系统板的ZIF 插座上。
⑤ 加电,观察其功能。
随堂检测1
LED 数码管内部有几个段?
答案:LED 数码管内部有 8 个段(其中有一个段是小数点)。
焊接 1 位 LED 数码管静态显示模块电路时,焊接顺序是什么?
答案:焊接顺序为金属膜电阻 →LED 数码管 →I/O 口插座 → 电源端口插座 → 连接导线。
随堂检测2
在共阳极数码管编码表中,字符 “0” 的编码是多少?
答案:字符 “0” 的共阳极编码是 0xc0。
测量 LED 数码管极性时,如果假设是共阳极,用万用表测量
时黑表笔应接哪里?
答案:将指针式万用表的黑表笔(正极)与 LED 数码管的 com 段相接。
1
分组讨论,讨论如何优化 1 位 LED 数码管静态显示模块的电路设计,降低成本。分析在编程过程中,如何修改代码以实现不同字符的显示。
1. 知识准备
任务一 显示一个字符
绘制1位 LED 数码管静态显示模块电路原理图
焊接1位 LED 数码管静态显示模块电路
根据电路原理图搭接电路
2. 任务实施
LED 数码管的内部结构
LED 数码管的分类
LED 数码管的工作参数
LED 数码管的静态显示方法
感谢观看
25
$$