单片机电子时钟(LCD显示).docxVIP

  • 9
  • 0
  • 约4.47千字
  • 约 10页
  • 2023-10-12 发布于山东
  • 举报
下载可编写 单片机综合实验报告 题目:电子时钟(LCD)显示 班级:0310405班 学号:031040514 学生姓名:张金龙 指导老师:高林 2013年6月17日 .专业.整理. 下载可编写 一、实验内容: 以AT89C51单片机为核心的时钟,在LCD显示器上显示目前的时间: 使用字符型LCD显示器显示目前时间。 显示格式为“时时:分分:秒秒”。 用4个功能键操作来设置目前时间,4个功能键接在P1.0~P1.3引脚上。 功能键K1~K4功能如下。 K1—进入设置现在的时间。 K2—设置小时。 K3—设置分钟。 K4—确认达成设置。 程序履行后工作指示灯LED闪动,表示程序开始履行,LCD显示“00:00:00”, 然后开始计时。 二、实验电路及功能说明 单片机主控制模块 以AT89C51单片机为核心进行一系列控制。 时钟显示模块 用1602为LCD显示模块,把对应的引脚和最小系统上的引脚相连,连结后用初始化程序对其进行简单的功能测试。测试成功后即可为实 验所用,如图: 时间调整电路 用4个功能键操作来设置目前时间,4个功能键接在P1.0~P1.3引脚上。功能键K1~K4功能如下。K1—进入设置现在的时间。K2—设 .专业.整理. 下载可编写 置小时。K3—设置分钟。K4—确认达成设置。如图: 三、实验程序流程图: 主程序: 时钟主程序流程 子程序: .专业.整理. 下载可编写 四、实验结果剖析 .专业.整理. 下载可编写 实验结果及剖析:单片机的晶振能够根据要求设定。6MHZ为和现实时间显示相同。实验采用12MHZ晶振采用方式1准时,选用50ms采用20次中止达到一秒,采用查表方式控制LCD显示。当烧入程序后开始运行,根据初始值设定能够察看到显示的时间,这里为了更显然察看显示数据变化把开端值设为23: 59:50运行后显示,K1为进入现在设置时间, 当按下K1后显示,和实验要求相比较,实现 了按下K1进入现在时间设置,按下K4确认达成时间设置的功能;不同之处:当进入时间设置时在按下K1设置小时,再次按下K1是设置分钟。增加功能:进入时间设置并选择设置地点后K2键位数字增加功能,K3键为数字减小功能。根据仿真结果能够确定编程正确,基本实现了所有功能,而且有所改良。 五、心得领会 每次做单片机实验都会有不同的等收获,而这次的实验让 .专业.整理. 下载可编写 我感觉收获更大。这次的实验让我稳固了过去所学,而且锻炼 了自己发现问题解决问题的能力。在编程过程,发现自己对C 语言很生分,好多技巧和函数运用都不会,经过参照资料和询 问同学终于让我达成了程序,并实现了程序的功能。这不单提 高了自己着手能力,也培养了自己的思考能力。 这次在编程过程中学到了好多新东西,特别是LCD的显示, 在设定的显示字符后,正确编译后显示各样设定值,LCD显示 16位字符,在最初编程时编译正确可是LCD上的显示字符有缺 失,显示不完整,经过不断调试发现空格同样占有字符,只有 所有字符不超过16位且地点正确时才能完整正确显示。时间 的显示需要每一个显示的位子有定义,而且要给“:”留下特 定位子。同时编程时发现还能够显示其他如日期。但本实验不 需要且很难达成最终没实现。 在仿真过程中发现很多模型不知道名称,最后搜寻了一份 Proteus元件库,里边有好多元件模型的名称。最后搭建成功 了仿真模型,并且运行成功。 在这里要感谢老师在过去实验过程中不胜其烦的帮助自 己解决所碰到的问题和传授一些知识和小窍门。让我对单片机 有时机加深认识,领会到了单片机的强大,学到了好多,感谢。 六、程序清单 #includereg51.h #includeintrins.h #defineucharunsignedchar .专业.整理. 下载可编写 #defineuintunsignedint #defineDelayNOP( ){_nop_( );_nop_( );_nop_( );_nop_( );} sbitK1=P1^0;//选择调整小时,分钟 sbitK2=P1^1;//增加 sbitK3=P1^2;//减小 sbitK4=P1^3; sbitSPK=P3^0; sbitRS=P2^0; sbitRW=P2^1; sbitE=P2^2; ucharcodeStr1[]=CurrentTime;//一下两个字符串的串长均为16 ucharcodeStr2[]=SetNewTime; ucharHMS_String[]=00:00:00;//带显示的时间串 bitSettime=0;//是否改正时间 bitChange_H_or_M=1;//1表示改正时.0表示改正分 ucharMilliSecond,Hour=23,Minute=59,Second=50;//延时函数 v

文档评论(0)

1亿VIP精品文档

相关文档