电子日历课程设计实训报告.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计说明书 电子日历设计 学生姓名 学号 班级 成绩 指导教师 电子与信息学院 2011年12月30日 目 录 1 课题描述 1 2 设计过程 2 2.1硬件电路原理 2 2.2.1.软件设计思想 3 2.2.2 程序设计模块 4 2.2.3汇编源程序 7 3 总结 11 1 课题描述 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。具体实现功能:(1) 显示年月日时分秒及星期信息(2) 具有可调整日期和时间功能(3) 与即时时间同步 电路原理图 2.2 软件设计思想及流程图 2.2.1.软件设计思想 程序的设计主要有T0中断服务程序,动态显示程序,数字分离程序,键盘扫描程序,键处理程序,设置时间,设置年月日初值,判闰年程序,清除显示缓冲区程序这几个功能模块。 运用汇编语言,设计一个简单的电子日历,在6位LED七段显示器动态的显示出来 年、月、日、和时、分、秒,实现计时,秒到60,分加1分到60,时加1 在通过键盘按键的切换小时到24时天加1,由于公历是比较有规律的,1、3、5、7、8、10、12月为大月,每月31天;4、6、9、11月为小月,每月只有30天;而2月份,则要根据当前的年份来决定,平年,2月份有28天,闰年,2月份有29天。所以处理2月份天数前要先判断是平年还是闰年。因为每个月份的天数不同,则需要设置一个月值表,通过查表找到相应月的天数,先判断到哪个月份,再从月份表中查出此月份的天数值。实现月加1,月到12时候年再加1.,还需请注意:平年与闰年的二月份的天数不同,平年二月28天,闰年的二月29天。 2.2.2 程序设计模块 1.本程序采用模块化设计的方法,主要由主函数,显示模块,判断是否闰年模块,提取系统日期模块组成。 如图所示: 主要模块流程图 2-1 主程序流程图 3.数字分离程序 R0为计时单元地址,R1为显示缓冲区地址。因为时分秒,都需分离,则设置R2的循环次数为3。先将41H单元内的时传送给累加器A,再与0F与,保留低四位,这样就使得时的低位被分离出来了。分离后送与显示缓冲区R1的50H单元。再将41H单元内的时传送给累加器A ,使高低位交换。交换之后,再与0F进行与运算。使时的高位也分离出来 ,并送给显示缓冲区的51H单元内。分和秒的分离方法与时一样,最终的分离结果为:时分秒在50H—55H内显示。同理,年月日,其分离方法也是同时分秒的分离原理一样。 其分离程序的流程图如下所示: 2-2 数字分离流程图 4.动态显示程序 动态显示程序实现的功能是将年月日,时分秒在LED管中显示出来。使用第一组工作寄存器组,再调用数字分离程序,数字分离程序能将键如的数值在LED数码管正确显示出来。然后设置循环次数为6再将其存入R2中,,再将R3,R0分别指向地址为01H和50H。将显示管字型表首址放如DPTR中再将50H单元的内容送到A中,接着R0加1,查字型码表。循环6次查字型码表即可在LED上显示出时分秒,年月日。 2-3动态显示程序流程图 2.2.3汇编源程序 主程序 LP1: MOV AH,1 ;从键盘输入单个字符 INT 21H CMP AL,M ;AL=M? JNE LP5 CALL DATE ;显示系统日期 LP2: MOV AH,1 ;从键盘输入单个字符 INT 21H CMP AL,M ;AL=M? JNE LP5 CALL TIME ;显示系统时间 LP3: MOV AH,1 ;从键盘输入单个字符 INT 21H CMP

文档评论(0)

li455504605 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档