太原理工大学信息-单片机-电子万年历.docVIP

太原理工大学信息-单片机-电子万年历.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
太原理工大学信息-单片机-电子万年历

课程设计报告 课程名称: 嵌入式程序基础 实验项目: 电子万年历设计 实验地点: 起点机房 专业班级:通信1002 学号:2010****** 学生姓名: 指导教师: 2013年6月22日 太原理工大学信息工程学院 专业班级 通信1002 学生姓名 倪杨 课程名称 嵌入式系统基础 设计名称 电子万年历 设计周数 1.5 指导教师 温景国 设计 任务 主要 设计 参数 设计一个电子万年历,实现日历功能。 主要设计参数: 显示年月日时分秒及星期信息; 日历参数可调整; 自动识别闰年 LED显示。 设计内容 设计要求 1.设计I2C接口电路; 2.设计LED显示电路; 3.设计I2C接口驱动程序及显示程序。 要求:仿真调试硬件电路,仿真调试程序 主要参考 资 料 单片机原理与接口技术,李晓林等,电子工业出版社,2011。 微型计算机控制技术,潘新民等,人民邮电出版社,1999。 单片机应用系统设计技术,张齐等,电子林业出版社,2010。 学生提交 归档文件 课程设计说明书1份 课程设计任务书 注: 课程设计完成后,学生提交的归档文件应按,封面—任务书—说明书—图纸的顺序进行装订上交(大张图纸不必装订) 指导教师签名: 日期: 目录 一.实验目的 4 二.实验要求 4 三.实验原理 4 四.硬件系统设计 6 五.电路原理图 6 六.电路系统框图 7 七.LED显示数码管 7 八.程序流程图 8 九.设计程序 10 十.设计体会 20 一.实验目的 1、熟悉MCS-51定时/计数器、中断的应用。 2、熟悉时钟时、分、秒计时方法,掌握编程技巧。 3、掌握七段码LED显示器的结构,七段码LED显示器的工作方式和显示程序的编程。 二.设计要求 1.设计I2C接口电路; 2.设计LED显示电路; 3.设计I2C接口驱动程序及显示程序。 设计参数 设计一个电子万年历,实现日历功能。 主要设计参数: 1、 显示年月日时分秒及星期信息; 2、 日历参数可调整; 3、 自动识别闰年 4、 LED显示。 三.设计原理 显示部分设计 基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间, 其他位均以此为基准往上累加。 同时时钟达到最大值的时候天数也增加一位,知道显示了7后再变为1,同时阴历和阳历的天数也加1,根据不同的月份显示的天数阳历有28,29,30,31天,阴历就要经过计算得到,到了12个月后,年数自动增加1,以此类推,显示万年历的现实。 万年历优化算法 1.阳历算法 阳历的算法比较简单,每十月的总的天数相对来说是固定的。只有2月份,在闰年是29天,在非闰年是28天。每个月的日历排法.主要是确定每个月第一天是星期几。我们知道1901年1月1日是星期二,星期的变化是7天一个周期,比如说要计算1901年2月1日是星期几,可以这样推算:从1901年1月1日到1901年2月1日总共经过了31天(从表1可 看出),31对7取模是3:i901年1月1日是星期二,加三后,是星期五。因此1901年2月1日是星期五。同理,可以推算出从1901—2100年任何一天是星期几。 表1 月份 1 2 3 4 5 6 7 8 9 10 11 12 闰年 31 29 31 30 31 30 31 31 30 31 30 31 非闰年 31 28 31 30 31 30 31 31 30 31 30 31 2.阴历算法 阴历的算法比较复杂,它包含两个部分。一部分是阳历日和阴历日的对应关系;另一部分则是阳历日和农历节气的对应关系。下面只介绍与设计有关的阴历和阳历的关系。 表2 比特数 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 数据 ! ! ! ! ! 1 ! ! ! 1 ! 1 x x x x 我们先要做一个数据表,这个数据表里面每2个字节,表示T一个阴所年彝个月份的天教 2个字节(共16bit)的具体意义如表2。其中“!(0/1)中“0”表示30天,“1”表示29天。“x x x x(4个比特可表示数值范围0~15)”表示该年中是否有闰月,数值“0”表示无闰月,“ 1~12” 表示某一个闰月。闰月一般是29天;在200年中(1901~2100年),闰月是30

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档