1、基于单片机的数字钟专业:班级:姓名:学号:内 容 提 示u设计功能u硬件电路设计u系统软件设计u系统调试与分析u总结u致谢(1)显示公历日期功能(月、日、时、分、秒以及星期)(2)可通过按键切换显示时、分、秒或月、日、星期(3)可随时调校时、分、秒和月、日、星期(4)可实现闹钟功能(5)可调闹钟时、分、开启、关闭设计功能设计功能硬件电路设计硬件电路设计1 晶体振荡器电路晶体振荡器电路 晶体振荡器电路如图2.1所示,由C1、C2、X1构成。18、19分别接到单片机的XTL2和XTL1。2 2复位电路复位电路 复位电路由复位按键、C1、R9构成。将R9与C1之间连接到单片机的RST引脚。硬件电路设
2、计硬件电路设计上电复位是指在给系统上电时,复位电路通过电容加到上电复位是指在给系统上电时,复位电路通过电容加到RSTRST复复位引脚一个短暂的高电平信号,这个复位信号随着位引脚一个短暂的高电平信号,这个复位信号随着VCCVCC对对电容的充电过程而回落,所以电容的充电过程而回落,所以RSTRST引脚复位的高电平维持时引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位间取决于电容的充电时间。为了保证系统安全可靠的复位,RSTRST引脚的高电平信号必须维持足够长的时间。引脚的高电平信号必须维持足够长的时间。上电自动复位是通过外部复位电路的电容充电来实现的。只要上电自动复位是通过
3、外部复位电路的电容充电来实现的。只要VccVcc的上升时间不超过的上升时间不超过1ms1ms,就可以实现自动上电复位。,就可以实现自动上电复位。按键复位:按下复位按键,在按键复位:按下复位按键,在RSTRST端产生一个复位高电平。端产生一个复位高电平。硬件电路设计硬件电路设计 3 3按键部分按键部分 本设计总的用了三个按键作为键盘,用于调整时间和设置状态。硬件电路设计硬件电路设计 4 4数码管显示电路数码管显示电路 如图,数码管显示由6个数码管组(图2.3)构成,由于数码管段码由P0口输出,所以连接了排阻(图2.4)提供高电平。硬件电路设计硬件电路设计 5 5闹钟电路闹钟电路 利用单片机的P2
4、.7控制一个2N2219的三极管,三极管控制蜂鸣器的电源通断。从而实现对二极管和扬声器的控制。闹钟电路如图2.5所示。硬件电路设计硬件电路设计 6 6 各模块互相连接构成数字时钟的控制电路各模块互相连接构成数字时钟的控制电路硬件电路设计硬件电路设计硬件电路设计硬件电路设计7 7原件清单原件清单5V电源 单片机AT89C51 1个6位数码管组 1个电阻 10K欧1个、100欧1个、10欧1个、排阻1个、导线若干8550三极管晶振12M的一个 32768K的一个电容 30pf 2个、0.1uf 1个、22uf 1个蜂鸣器1个发光二极管1个按键开关4个 1.1.时间显示流程图时间显示流程图系统程序设
5、计系统程序设计 2.2.显示日历功能流程图显示日历功能流程图系统程序设计系统程序设计系统程序设计系统程序设计3.3.日历进位功日历进位功能流程图能流程图系统程序设计系统程序设计4.4.调整时间功调整时间功能流程图能流程图系统程序设计系统程序设计5.5.调整调整日历日历功功能流程图能流程图程序分析程序分析标志位的运用标志位的运用标志位的运用,使显示部分与调整部分相互独立、时间显示与日历显示相互独立,防止调整时间时出现显示错乱。使时间时分秒各位、日历月日星期各位的显示相互独立,防止出现重影、显示错位及乱码。同时,标志位的运用,使调整时间时不能调整闹钟,调整闹钟时不能调整时间,防止了程序出现错乱。调
6、整时间原时间保持不变也是运用标志位实现的。数组的运用数组的运用 各显示部分的显示段码调用数组,使显示部分的代码大大简化,而且修改简单方便。也使整个程序变得简短。程序缺点程序缺点耦合性强耦合性强各个功能之间耦合性强,牵一发而动全身,当对其中一个功能进行修改或改进时,会对其他功能造成严重影响,从而不得不对程序受影响的各个部分进行修改,造成不必要的麻烦。这是本程序的最大缺点,也是致命缺陷。它使程序的改进空间变得十分有限,要修改只能从头再来。程序彩蛋程序彩蛋本程序在早上05:20:00时会显示2秒-sujie(作者姓名),如下图。该彩蛋用于证明此程序的原创性。时间准确性调试时间准确性调试 由于程序以及
7、硬件等各方面的原因的影响,时间的准确性可能与理论值存在较大差距,因此需要进行时间准确性调试。调试方法:让设计的数字钟运行10分钟,同时用秒表计时10分钟,比较误差值,并计算误差比例,通过误差比例修改程序计时部分,从而达到更高的准确性。注意:为了使计算的误差比例更加精确,可延长计时时间,并多次测试取平均值。系统调试系统调试使用说明使用说明 各按键功能说明各按键功能说明 K1:调整时间键。切换时间显示与时间、日历的调整状态。正常显示时间时按下K1,状态依次为调整时-调整分-调整秒-调整月-调整日-调整星期-正常显示时间 K2:加一键。处于调整状态时,按下K2,所调整项加一;处于正常显示时间时,按下
8、K2,切换时间和日历的显示 K3:调整闹钟键。切换时间显示与闹钟调整的状态。正常显示时间时按下K3,状态依次为调整闹钟时-调整闹钟分-调整闹钟开关-正常显示时间使用说明使用说明其他说明其他说明调整时间(时、分、秒)时,当前时间不会变化,但是调整日历(月、日、星期)时,当前时间正常运行调整时间时,不能调整闹钟,按下调整闹钟键无变化调整闹钟时,不能调整时间,按下调整时间键无变化调整各项时,只能加,不能减按下按键的瞬间数码管会全熄灭,然后正常显示长按按键会影响时间准确性 大学三年即将结束,毕业设计是对大学三年所学知识的体现。三年里,我学到了许多我感兴趣的东西:对电路的分析、对编程语言的初步了解、对计
9、算机更加深刻的认识。所有这些,都让我对电子科技、数码产品产生了浓厚的兴趣。因此,在大学里,我非常关注手机等行业发展、了解并学习了许多计算机方面的知识。同时,通过毕业设计,我也认识到了自己的许多不足:会C语言,但不够精通,不能编写复杂程序;会Word软件,但不够熟练,很多东西要找较长时间或者查资料才能找到;会打字,但速度不够快总总 结结 这些看的似的小问题,事实上是最大的问题,也是我们马上就要面临的问题。毕业设计结束后,就要去工作的我们,会的东西很多,但精通的没有。将来能做什么呢?很迷惘!或许,毕业设计的目的之一,就是让我们认识到我们自身存在的这些问题,及时发现,及时改正。亦或许,毕业设计是为了让我们明白学会处理问题的方法,并将大学中学到的各种方法运用到以后的工作于学习中吧。总之,毕业设计让我学习到很多,认识到了很多道理。总总 结结谢谢!谢谢!敬请各位老师批评指正!敬请各位老师批评指正!