智能仪表课程设计 - 基于单片机的LED数码管数字电子钟 下载本文

第4章 软件设计

4.1 程序流程图

本实验由C语言编写完成。主程序流程如下:

刷新数码管显示 初始化子程序 初始化DS1302 扫描按键程序 是否有键 按下 否 开始 调用DS1302时间函数 外部中断按键调时

- 11 -

4.2 按键子程序

控制键有效,进入分钟调整程序 控制键有效,进入小时调整程序 等待按键程序 加/减键有效 分钟加/减1 等待按键程序 加/减键有效 小时加/减1 4.3 功能键按键程序流程图

S1num=1 S1num=2 S1功能键是否按下 Sinum累加 S1num=3 S1num=4 S1num=5 清零 调整秒 调整分 x调整时清零

闹钟 - 12 -

4.4 时间调整程序

中断 Miao++ Miao>59 Miao=0,fen++

Shi=0 Shi>23 Fen>59 Fen=0,shi++

中断返回 - 13 -

第5章 总结

通过本次设计,我对单片机的了解又有了进一步的加深,并且系统的学习了DS1302的相关知识,我发现只有动手做才会让自己学到更多的东西,才会发现自己有那么多的不足,并且还让我更熟悉了对文档的整理的能力。这次设计运用到的知识很多方面,尤其是单片机,像AT89C52,引脚多,硬件内部线路接通,所以用起来很方便,还有ds1302芯片与单片机之间的连接,以及如入使用ds1302芯片。当然也要对这些元器件作相应调查。主要就是电路原理图,还有对引脚的作用熟悉。对于软件方面则是灵活运用单片机有关的程序语言,还有很多扩展功能,由于知识匮乏,但是理论知识还是比较详细的。我们最大的成功之处是在这整个过程,动脑寻求解决一个一个问题的办法,对程序是不断思索,务必写出很简单的程序来,使得电子时钟能做成功!同时,通过这次的设计,让我学会了去跟别人合作的精神,这将是我在以后的工作中的一笔巨大的财富。

在这次设计中,非常感谢肖俊生老师及多位同学的帮助。由于我个人的知识学得不够好,经常遇到无法解决的问题。每次遇到这种情况,肖老师总能放下手上的工作,为我们悉心讲解,引导我们解决难题,并有针对性的提出要求,让我们加强对基础知识的认识,同时,同学们也耐心的给我作了详细的解答,使我发现了自己的好多需要加强学习的知识点,谢谢你们。

- 14 -