- 实验目的
1、掌握数码管动态扫描显示的原理和编程实现方法;
2、掌握软件延时程序的使用。
- 实验任务
利用数码管动态显示,设计一个两位的秒表,使用软件延时实现。
- 实验原理
数码管动态显示的连接方式是将所有数码管的段码a、b、c、d 、e 、f、g、dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,如图1-1所示。

图1-1 多位LED数码管动态显示原理图
所谓动态扫描显示,即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。具体过程是:当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的数码管的位选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中每位数码管的点亮时间为2ms左右,由于人的视觉暂留现象及发光极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
实现延时通常有两种方法:一种是硬件延时,这需要用到单片机的定时器,这种方法可以提高CPU的工作效率,也能做到精确控制时间,此方法将在实验四中再学习;另一种方法是软件延时,这种方法主要采用循环体进行。可以采用for循环以及for循环嵌套的方式达到粗略的长时间延时,利用Keil软件可以调试和观察for语句的延时时间。
电路原理图如图1-2所示。

图1-2 数码管动态显示实验电路
注释:上面的原理是课程设计给的模板,不是我写的,仅供参考,如有相同就是参考的,参考书:单片机原理与接口技术实验指导书、单片机原理与接口技术
- 程序流程图
图一 程序流程图
- 实验结果及分析总结
- 数码管动态显示测试结果
该电路图根据该实验指导书绘制,使用的软件Proteus 8 Professional,如图二所示,将编写好的代码(代码详情转附录)录入到该电路,从而实现两位的秒表计数,使用软件延时实现。

图二 电路仿真运行
- 编写数码管动态显示代码
编写的代码内容是ppt课件的内容进行更改编写,课本中的i值是100,由于该实验要求是秒表计数,因此i的值改成了60的数值,j值改59。

图三 代码编写
- 实验总结分析
通过该实验学会了三点知识点:一、数码管码表的计算,共阴/共阳两种类型的数码管需要注意的内容已经知晓,并学会运用到实际的代码编写中。二、已经掌握使用软件延时的思路和方法。三、掌握数码管动态扫描显示的原理和编程实现方法、在编写代码时需要十分注意仿真电路端口连接位置。多次实践,发现错误解决错误,这是在本次实验中最大的收获。
- 程序附录
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/33738.html