LED显示实验的设计

2022-09-11

微型计算机, 尤其是单片机控制系统中, 七段LED数码管以其简单直观、主动发光、布置灵活、经济性好等特点, 成为首选的显示输出设备[1]。微机原理的实验中经常使用LED进行实验结果的显示, 要使学生掌握LED显示技术, 必须在重视理论教学的同时, 充分重视实验教学, 要通过实验教学环节增强学生动手解决实际问题的能力[2]。本文设计的LED显示实验, 在学生掌握显示原理, 电路连接和基础显示程序后, 通过改动延时程序, 理解LED动态显示方式, 掌握LED显示技术。

1 LED显示基础

LED的主要部分是七段发光管, 通过七个发光段的不同组合, 可以显示字母和数字[3]。CPU通过8255A往LED传输七段代码, 显示的时候, 需要将显示的数据转换为LED的7位显示代码, 可以采用专用的译码芯片进行译码, 但常用的是软件译码法。

下面给出1位数字的显示实例, 要显示的数字放在DATA单元, 0~F这16个数对应的七段显示代码存储在显示代码表中, 显示代码表的首地址为BUF, 通过换码指令实现数字到显示代码的译码。

DISP:MOV AL, DATA;取要显示的数字

LEA BX, BUF;取显示代码表首地址

XLAT;将数字转换成显示代码

MOV DX, PORT;将显示代码送显示端口PORT

OUT DX, AL;进行显示

2 LED多位显示

实际使用时, 往往要用几个显示管实现多位显示。这时如果每一个LED占用一个独立的显示端口, 那么, 所占用的输出通道就太多, 而且会增加驱动电路数目。常用的解决方案是采用字位扫描方式。其主要工作原理为:各数码管按位分时扫描显示。在该动态显示接口硬件电路中, 有一个8位的字段驱动器, 各数码管的同名字段 (包括小数点字段) 并联后, 接在相应的字段驱动线上。同时有若干位 (与数码管位数相当) 的位驱动器, 各位数码管的公共端各自接不同的位扫描线。动态扫描信号加载在位扫描线上, 所需输出的显示码与扫描信号配合加载在字段驱动线上, 各数码管按一定的时间间隔轮流使用字段驱动器。

硬件实现可以使用一个8位的并行输出通道输出七段译码值, 通过一个8位驱动器组将译码值同时送到各显示管。另外, 需要一个并行输出通道 (与数码管个数相当) 做位驱动器, 当位控制端口输出的控制码的某一位为低电平时, 此位对应的LED便显示数据。因此, 当CPU送出一显示码时, 尽管各个显示管都受到了此代码, 但是, 位码中只有一位为低电平, 所以只有一个显示管得到导通从而显示数据, 其它显示管并不发光。

利用视觉惯性, 当采用一定的频率轮流的向多个显示管输送显示代码和位控制码时, 多个显示管上同时可以见到稳定的显示。流程图如图1所示。

3 实验设计

微机原理实验使用启东达爱思公司的单片机微机仿真实验系统, 仿真实验箱上设计有6个LED显示管, 采用共阳极方式连接, 数码显示段输入低电平有效, LED显示代码和位置代码分别如表1和表2所示。在实验的设计上, 以培养学生的动手能力为前提。要求学生运用已掌握的知识, 由学生独立进行方案设计、编程、调试, 观察实验现象, 分析实验结果, 写出实验报告。其次通过设计、插接线路、调试这几个环节的训练, 培养学生应用微机解决实际问题的能力, 以及进行综合性应用系统设计、组装与调试能力。最后考虑将验证性、设计性和综合性实验有机结合的原则, 将LED显示实验分为基础性实验、设计性实验和综合性实验三个层次 (见表1、2) 。

3.1 LED显示的基础性实验

在任意一个LED上显示一位数字。这个实验比较简单, 不涉及延时的问题, 但有部分学生在换码时出现乱码, 这是由于换码指令没有掌握, 换码时没有得到正确的显示代码, 经过调试之后都能正常显示, 这个实验大约需要20分钟完成。

3.2 LED显示的设计性实验

实验要求同时在6个LED上显示数字 (通常要求学生显示学号的后6位数字) 。这个实验的完成需要学生掌握循环程序设计的技巧, 并在循环体中, 在显示一个数字后加入延时程序, 学生在调试的过程中, 调整延时的时间, 直到6个LED上能够稳定的显示6个数字。简单的延时程序如下:

通过调整循环次数来调整延时的时间。

在此基础上, 可以对程序的延时程序进行修改, 使LED上的数字以跑马灯的形式显示。使用单层循环时, 最大的循环次数为65536次 (即CX寄存器中循环初值为0) 此时的延时程序, 单层循环的延时的时间已经不够, 需要使用双层循环。

对于LED的设计性实验, 大部分同学能够在2学时的实验计划学时内完成该实验学有余力的学生还可以改变跑马灯显示的方向:例如, 将由左至右的显示改变为由右至左的显示。

3.3 LED显示的综合性实验

LED的综合性实验是在学生掌握了LED显示技术的基础上, 对并行接口8255A和8253A计数器/定时器芯片及8259A中断控制器的综合运用。实验要求在LED上模拟秒表的显示, 需要使用8253A进行精确定时。学生运用储备的知识, 设计实验方案, 连接硬件电路, 然后进行编程, 并不断地尝试调试程序。通过设计、插接线路、调试这几个环节的训练, 培养了应用微机解决实际问题的能力, 培养了学生进行综合性应用系统设计、组装与调试能力, 培养了学生的科研能力和综合应用能力。LED综合性实验光靠实验课上的时间是远远不够的, 这就要求学生在开放实验室期间自主选时完成。

4 结语

实验教学是培养学生实践技能和应用技能的重要环节。LED显示实验是微机原理实验教学内容的重要组成部分, 有助于学生掌握LED显示技术, 并灵活运用到微机原理其他的实验项目中。

摘要:七段LED数码管是微机原理实验中常用的显示输出设备。在介绍LED显示的基本原理的基础上, 结合学生学习的实际, 将LED显示实验分为基础性实验、设计性实验和综合性实验三个不同的层次, 使学生能够更好的掌握LED显示技术。

关键词:LED,微型计算机,实验教学

参考文献

[1] 鄢积分, 朱洪涛.七段LED数码管字形扫描动态显示技术[J].江西蓝天学院学报, 2008, 10.

[2] 唐涌杰, 等.面向21世纪高校实验教学改革的思路[J].实验室研究与探索, 2000, 5.

[3] 戴梅萼, 史嘉权.微型计算机技术及应用[M].北京:清华大学出版社, 2003.

上一篇:5G时代会展行业发展趋势研究下一篇:沥青拌和设备燃油改煤技术的应用研究