单片机--电子时钟(LCD显示)(共10页).docx
《单片机--电子时钟(LCD显示)(共10页).docx》由会员分享,可在线阅读,更多相关《单片机--电子时钟(LCD显示)(共10页).docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 单片机综合实验报告 题 目: 电子时钟(LCD)显示 班 级: 班 学 号: 学生姓名: 张 金 龙 指导老师: 高 林 2013年 6 月 17 日一、 实验内容:以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:l 使用字符型LCD显示器显示当前时间。l 显示格式为“时时:分分:秒秒”。l 用4个功能键操作来设置当前时间,4个功能键接在P1.0P1.3引脚上。 功能键K1K4功能如下。l K1进入设置现在的时间。l K2设置小时。l K3设置分钟。l K4确认完成设置。程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:0
2、0”,然后开始计时。二、实验电路及功能说明1) 单片机主控制模块以AT89C51单片机为核心进行一系列控制。2) 时钟显示模块用1602为LCD显示模块,把对应的引脚和最小系统上的引脚相连,连接后用初始化程序对其进行简单的功能测试。测试成功后即可为实验所用,如图:3) 时间调整电路用4个功能键操作来设置当前时间,4个功能键接在P1.0P1.3引脚上。 功能键K1K4功能如下。K1进入设置现在的时间。K2设置小时。K3设置分钟。K4确认完成设置。如图:三、实验程序流程图:主程序: 时 钟 主 程 序 流 程子程序:保护现场设置计数初值1S到?(40H)=10?0 (40H)(40H)+1 (40
3、H)(41H)+1 (41H)(46H)=4?0 (46H)(0) (47H)恢复现场返回NN中 断 服 务 流 程 图(41H)=5?0 (41H)(43H)=10?0 (43H)(43H)+1 (43H)(44H)+1 (44H)(44H)=5?0 (44H)(46H)+1 (46H)(47H)=2?(46H)+1 (46H)NN(46H)=10?0 (46H)(47)+1 (47)NN四、实验结果分析 实验结果及分析:单片机的晶振可以根据要求设定。6MHZ为和现实时间显示相同。实验采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。当烧入程序
4、后开始运行,根据初始值设定可以观察到显示的时间,这里为了更明显观察显示数据变化把起始值设为 23:59:50 运行后显示,K1为进入现在设置时间,当按下K1后显示, 和实验要求相比较,实现了按下K1进入现在时间设置,按下K4确认完成时间设置的功能;不同之处: 当进入时间设置时在按下K1设置小时,再次按下K1是设置分钟。增加功能:进入时间设置并选择设置位置后K2键位数字增加功能,K3键为数字减小功能。根据仿真结果能够确定编程正确,基本实现了所有功能,而且有所改进。五、心得体会每次做单片机实验都会有不同的等收获,而这次的实验让我感觉收获更大。这次的实验让我巩固了以往所学,而且锻炼了自己发现问题解决
5、问题的能力。在编程过程,发现自己对C语言很生疏,很多技巧和函数运用都不会,通过参考资料和询问同学终于让我完成了程序,并实现了程序的功能。这不仅提高了自己动手能力,也培养了自己的思考能力。这次在编程过程中学到了很多新东西,特别是LCD的显示,在设定的显示字符后,正确编译后显示各种设定值,LCD显示16位字符,在最初编程时编译正确但是LCD上的显示字符有缺失,显示不完整,经过不断调试发现空格同样占据字符,只有所有字符不超过16位且位置正确时才能完整正确显示。时间的显示需要每一个显示的位子有定义,而且要给“:”留下特定位子。同时编程时发现还可以显示其他如日期。但本实验不需要且很难完成最终没实现。在仿
6、真过程中发现许多模型不知道名称,最后搜索了一份Proteus 元件库,里边有很多元件模型的名称。最后搭建成功了仿真模型,并且运行成功。 在这里要感谢老师在以往实验过程中不厌其烦的帮助自己解决所遇到的问题和传授一些知识和小窍门。让我对单片机有机会加深了解,体会到了单片机的强大,学到了很多,感谢。六、程序清单#include #include #define uchar unsigned char#define uint unsigned int #define DelayNOP() _nop_();_nop_();_nop_();_nop_();sbit K1 =P10; /选择调整小时,分钟s
7、bit K2 =P11;/增加sbit K3 =P12;/减小sbit K4 =P13;sbit SPK=P30; sbit RS =P20;sbit RW =P21;sbit E =P22; uchar code Str1 = Current Time ; /一下两个字符串的串长均为16 uchar code Str2 = Set New Time; uchar HMS_String= 00:00:00 ;/带显示的时间串 bit Settime=0; /是否修改时间 bit Change_H_or_M =1;/1表示修改时.0表示修改分 uchar MilliSecond,Hour =23
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子 时钟 LCD 显示 10
限制150内