表2 元器件清单 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 名称 AT89S52加底座 12MHz晶振 33pF电容 22μF极性电容 LED二极管 小按键 单排插 蜂鸣器 470Ω电阻 4位一体共阳数码管加底座 10KΩ排阻 1KΩ电阻 PNP9012三极管 200Ω电阻 下载口 6脚开关 数量(/个) 1 1 2 1 9 9 1 1 24 2 2 3 9 1 1 1
19
5 设计总结
5.1 使用说明
本设计主要单片机最小系统完成,AT89S52为整个设计的核心主要实现功能数字电子钟,系统上电显示P.。
电子钟:按下K0选择电子钟,数码管上00-00-00从左向右依次滚动显示直到LED7-LED1完全显示完00-00-00,开始计时,若计时时按下K0时钟暂停,按下其余键无效,暂停2s,若2s内K0键按下0次(按下其余键无效),继续开始计时;若2s内K0按下1次进入秒调整状态,若2s内K0按下2次进入分调整状态;若2s内K0按下3次进入时调整状态,按下次数多于3次则无效。进入调整状态时,要调整的该位闪动,蜂鸣器鸣响以示提醒,此时按下K1则加1,按下K2则减1,按下K0则确认进入计时状态。
5.2 设计结论
在本次设计中,我觉得重点和难点在于如何对电子钟的调整,对电子钟的调整有多种方案,既要实现调整功能又要实现调整方便等,于是在设计了个加1键基础上,又设计了一个减1键,这样大大缩短了对长时间调整的次数。在这次设计中,精妙之处是利用定时器中断来对时钟计时和采用的一键多功能,还有增加了个虚拟键。利用定时器中断,一旦定时器中断请求已产生立即跳往中断服务程序,只要给定时器初值初始化恰当,计时产生的误差可以忽略。在电子钟设计时K0键有多种功能,首先作为电子钟的选择键,有暂停,调秒、调分、调时选择键,还有作为确认键。当在计时时按下K0,就启动2s定时,2s到了就会跳开,相当于个确认键一样。当然在本次设计中也有不足之处,比如说电子钟调整时有一定的局限性,虽然实现了随意选择时、分、秒进行调整,但是一旦进入调整状态,就只能对该选择的位进行调整,不能切换到其他位。比如选择调时就不能在调整状态切换到调分或调秒。
5.3 心得体会
通过对单片机的学习,在凌老师的指导下我学会了怎样用汇编语言去编程。若要应用编程,首先必须得熟练基础知识,然后得课外补充其他的有关编程的知识,还得查阅相关元器件的资料来了解元器件的使用与硬件的组成。只有不断地完善自己的知识才能很好应用他们来完成软硬件的设计,当然,勇往直前的精神
20
与永不放弃的毅力,是设计成败与否的关键
5.4 教学建议
首先得感谢凌云老师对我们的耐心教导,通过一个学期的学习,我也从老师那学到了不少知识,在课堂上也是很活跃的,但是,我觉得老师的课堂上还是很缺少互动的,若在课堂上安排互动能让我们能更好的记住相关的知识,以及对课堂产生更强的积极性。互动可以是即兴编一段程序,也可以是一个同学出题,另一个同学来编写,总之是趣味增长知识。这些就是我对凌云老师的一点建议,仅供参考。
21
结束语
在本次设计中,由于自己知识有限,刚开始时走了很多弯路,在毫无进展时上网查阅了相关资料,仔细研究发现其中的科学道理,在设计中,我学会了用keil软件来编写程序,用Proteus来进行单片机的仿真,总之,这次的设计让我学会了如何独立完成一次单片机软硬件的设计与调试。虽然老师的要求非常严格,但是这确实是给了我一个很好的锻炼机会,因此我要把握这次机会努力做到最好。
22