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

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

ID:12480314

大小:222.00 KB

页数:13页

时间:2018-07-17

电子日历课程设计实训报告_第1页
电子日历课程设计实训报告_第2页
电子日历课程设计实训报告_第3页
电子日历课程设计实训报告_第4页
电子日历课程设计实训报告_第5页
资源描述:

《电子日历课程设计实训报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、设计说明书电子日历设计学生姓名学号班级成绩指导教师电子与信息学院2011年12月30日目录1课题描述12设计过程22.1硬件电路原理22.2.1.软件设计思想32.2.2程序设计模块42.2.3汇编源程序73总结111课题描述随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于

2、数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。在硬件与软

3、件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。具体实现功能:(1)显示年月日时分秒及星期信息(2)具有可调整日期和时间功能(3)与即时时间同步。112设计过程2.1硬件电路原理2.1.2电路原理设计电路原理图112.2软件设计思想及流程图2.2.1.软件设计思想程序的设计主要有T0中断服务程序,动态显示程序,数字分离程序,键盘扫描程序,键处理程序,设置时间,设置年月日初值,判闰年程序,清除显示缓冲区程序

4、这几个功能模块。运用汇编语言,设计一个简单的电子日历,在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月份天数前要先判断是平年还是闰年。因为每个月份的天数不同,则需要设置一个月值表,通过查表找到相应月的天

5、数,先判断到哪个月份,再从月份表中查出此月份的天数值。实现月加1,月到12时候年再加1.,还需请注意:平年与闰年的二月份的天数不同,平年二月28天,闰年的二月29天。2.2.2程序设计模块1.本程序采用模块化设计的方法,主要由主函数,显示模块,判断是否闰年模块,提取系统日期模块组成。如图所示:112.主要模块流程图2-1主程序流程图113.数字分离程序R0为计时单元地址,R1为显示缓冲区地址。因为时分秒,都需分离,则设置R2的循环次数为3。先将41H单元内的时传送给累加器A,再与0F与,保留低四位,这样

6、就使得时的低位被分离出来了。分离后送与显示缓冲区R1的50H单元。再将41H单元内的时传送给累加器A,使高低位交换。交换之后,再与0F进行与运算。使时的高位也分离出来,并送给显示缓冲区的51H单元内。分和秒的分离方法与时一样,最终的分离结果为:时分秒在50H—55H内显示。同理,年月日,其分离方法也是同时分秒的分离原理一样。其分离程序的流程图如下所示:2-2数字分离流程图114.动态显示程序动态显示程序实现的功能是将年月日,时分秒在LED管中显示出来。使用第一组工作寄存器组,再调用数字分离程序,数字分离

7、程序能将键如的数值在LED数码管正确显示出来。然后设置循环次数为6再将其存入R2中,,再将R3,R0分别指向地址为01H和50H。将显示管字型表首址放如DPTR中再将50H单元的内容送到A中,接着R0加1,查字型码表。循环6次查字型码表即可在LED上显示出时分秒,年月日。开始保护现场,设置工作寄存器组为第一组调用DISP1,实现数字分离6→(R2),50→R0,01→R3将对应的数字在显示表里显示恢复现场结束2-3动态显示程序流程图112.2.3汇编源程序主程序LP1:MOVAH,1;从键盘输入单个字符

8、INT21HCMPAL,'M';AL='M'?JNELP5CALLDATE;显示系统日期LP2:MOVAH,1;从键盘输入单个字符INT21HCMPAL,'M';AL='M'?JNELP5CALLTIME;显示系统时间LP3:MOVAH,1;从键盘输入单个字符INT21HCMPAL,'M';AL='M'?JNELP4CALLSTOPWATCH;显示秒表LP4:MOVAH,1;从键盘输入单个字符INT21HCMPAL,'M';AL='M'?J

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。