基于单片机的数字万年历设计毕业论文 下载本文

及其外围电路。将keil软件中生成的HEX文件导入AT89S52单片机中。

图16 系统仿真图

图17生成HEX文件

29

将生成的HEX文件导入单片机

图18 仿真结果

30

6 测试与结果分析

6.1 硬件测试结果

设计完成后,给系统上电,液晶显示屏显示结果如图19所示。

图19 液晶显示结果

调节10K电位器R4可调整液晶显示屏的亮度。调整到合适亮度后,按控制按钮,光标会从阳历年位开始闪烁,进入设定调整状态。此时按加按钮,当前数字就可改变。按一次释放,数字加1;按键为释放后有效。此时,调整的位一直在闪烁,直到再次按光标移动控制位,光标跳到下一位闪烁。调整顺序依次为:时间秒、分、时,星期、日、月,年、闹钟分、时。当全部参数调整完毕后,按退出按钮,光标停止闪烁,退出设定调整状态,万年历开始正常工作。

调试分为硬件调试和软件调试。硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。DS1302的硬件电路很简单,只通过3根线与单片机相连,很容易检测,主要是检查其引脚,如晶振和电源等是否接好。另外可以通过软件来调试硬件,如为了测试显示电路连接是否正确,可以编写一个简单的显示程序来测试它。接下来可进行软件调试,可以编写只含DS1302的计时和读写程序、显示程序,测试DS1302是否正常工作。

计时器最关键的是计时的精度。电子万年历中DS1302电路使用专用的晶振,经测试制作的电子万年历,一星期快了3s左右,误差较大,实验设计中可换用标准晶振或用软件进行修正。

31

6.2 软件测试

电子万年历是多功能的数字型,可以看当前日期,时间。电子万年历功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中遇到的主要问题是: 输入程序后,LCD液晶显示屏显示亮度不好。

解决:一遍旋转10K欧的滑动变阻器,一遍观看LCD显示屏,知道看到合适的亮度为止。

6.3 测试结果分析与结论 6.3.1 测试结果分析

1.在测试中遇到LCD液晶显示屏为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏,滑动变阻器器没有调好:查看写入的程序是否正确无误,对程序进行认真修改。

6.3.2 测试结论

经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力。同时在软件的编程方面得到更到的提高,对编程能力得到加强,同时对所学的知识得到很大的提高与巩固。

32