基于89C51单片机的秒表课程设计
图1 程序流程图
4.3 程序仿真
将以上程序清单导入先前做好的Proteus仿真电路,汇编之后,按 键开始进行仿真。
仿真结果如图2。
图2 仿真结果图
仿真开始后,第一个按钮为计时按钮,点击开始计时;第二个按钮为暂停按钮,点击则暂停计时;第三个按钮为复位按钮,点击后秒表复位归零。三个显示器分别是十秒、秒、微秒的显示。如图2显示的为21.9秒。
5 / 11
基于89C51单片机的秒表课程设计
5 总结
在此次课程设计中秒表虽然是一个非常简单的功能,但要在单片机中使用汇编语言来实现这个功能,仍然花了我不少心思。
首先是计时的问题,由于单片机计时器最大只能计时65.5ms,因此要实现毫秒位的变化,我采用了软件计时的方法,单片机只需计时10ms,然后用软件重复10次,即可达到计时100ms的目的。
显示方面,为了使编程简单,我使用了静态显示。不过这使得占用I/O口线过多,而且连线复杂繁琐,为实物的制作带来了不便。在以后的学习和应用中我会努力加深动态扫描显示的理解,争取熟练运用。
根据书本知识,我们一开始只给P0口加上了上拉电阻,但是实物做成后我们发现P1和P2口得输出显示非常暗,初步确定是驱动能力不足的问题后,我们给二者也加上了上拉电阻,结果使得显示正常了。由此我们了解到,实践才是检验真理的唯一标准,有时候书本上的知识需要经过实践的改进,才能运用到实际中。
此次课程设计巩固了我的基础知识,提高了我的应用水平,锻炼了我的动手能力,使我受益匪浅。然而,在吸取经验的同时,我也吃了不少教训。在编程、仿真、焊接方面都走了不少弯路。但是,学则要有所收获,经过此次的锻炼,我在很多方面都已经有所提高,知识也掌握得更加扎实了。
在今后的学习和实践中,我将继续努力钻研,提高自己,争取在学术和记忆上
获得更大的进步。
6 / 11
基于89C51单片机的秒表课程设计
参考文献
[1]张毅刚, 彭喜元.单片机原理及接口技术[M].人民邮电出版社. [2]单片机课程设计实例指导 李光飞等. 北京航空航天大学出版社 [3]51系列单片机原理、开发与应用实例 孙进平等编著 [4]单片机程序设计实例 先锋工作室编著 清华大学出版社
. 7 附录
附录一 主电路图
7 / 11
基于89C51单片机的秒表课程设计
附录二 主程序
ORG 0000H ;程序开始
AJMP START ;跳转到主程序START ORG 000BH ;定时器0中断的地址入口
AJMP TIME0 ;定时器0溢出,跳转到中断程序TIME0 START: ;主程序
MOV P3,#0FFH ;输入端口P3全写1 MOV P0,#3FH ;
8 / 11