电子万年历研究.pptVIP

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

万年历的发展 社会对电子产品的功能越来越高的要求,这也是我们电子产品追求的方向,目前市面上就有了:普通万年历、温度万年历、计算器万年历等多功能万年历。 电子万年历也发展成为由原来的只能实现基本功能到现在市面上集多功能于一体的常见常用的电子产品。 本万年历研究说明 本系统是由STC89C52单片机为控制核心;时钟模块由DS1302控制;温度的采集由DS18B20构成;LCD12864用来显示;键盘输入电路可以调整时间日期。 调试出实物能够正确的显示公历农历,读取温度并显示在液晶上。 系统硬件模块图 STC89C52 主控芯片 DS18B20 温度模块 DS1302 时钟模块 键盘输入电路 按键模块 万年历软件主流程图 是 否 万年历总原理图 DS1302模块电路图 1和4管脚:是VCC和GND,分别接电源和地线,支持正常工作时的电压。 2和3管脚:是接晶振电路,由32.768晶振和两个104电容C3和C4组成 晶振电路。 8管脚:为后备电源。 7管脚:为SCLK串行时钟输入端,与单片机P3^0相接。提供时钟信号。 6管脚:为I/O串行数据输入/输出端(双向),与单片机P3^6相接。 5管脚:为RST复位/片选端,与单片机P3^7相接。 DS18B20温度模块 DS18B20采用电源供电方式 2脚作为信号线,加个上拉10K电阻; 1脚接地; 3脚接电源; LCD12864液晶显示模块 GND和VCC:是12864的地线和电源线。 RS:为数据/命令选择端。(串片选)1为数据,0为命令 R/W:为读写选择端。1为读,0为写。 E:为是使能端,并行的使能信号,串行同步时钟。 V0:为液晶对比度调节端,和NC串上10K电位器可以调节对比度。 LED+和LED-:为电源背光。 D0到D7:为8位数据口。 公历与农历、星期转换模块 为了可以是公历、农历关联起来。 论文通过算法实现了这个功能: (1)第一字节前位表示闰月月份,值为0为无闰月,后四位对应农历1-4 月的大。 (2)第二字节八位对应农历第5-12 月大小。 (3)第三字节第一位表示农历第13 个月大小,两位表示春节的公历月份,后五位表示春节的公历日期。 (4)月份对应位为1 表示本农历月大(30 天),为0 表示小(29 天)。 月校正星期转换的方法 算法是: [日期+(年份-1900)+(年份-1900)/4+月较正数]%7 ,结果为星期数。 但如果是在闰年又不到3 月份,上述之和要减1天再除7。 其1-12月的校正数为:6,2,2,5,0,3,5,1,4,6,2,4。年份和闰年数只计算1900年以后的年份和闰年数,实际校正数为:0,3,3,6,1,4,6,2,5,0,3,5。 举例说明 用查表法得出公历1986年12月3日对应的农历及星期信息 查表得2008年的数据为0x06,0xd4,0x49 (0000,0110,1101,0100,0100,1001)。 (1)该数据表示该年无闰月,农历月的2、3、5、6、8、10月为大月30天 , 1、4、7、9、11、12月为小月29天 。 该年春节在公历2月9日。 (2)计算公历日(1986年12月3日)离当年元旦的天数:31+28+31+30+31+30+31+31+30+31+30+3=337 (3)计算春节离元旦的天数:31+9=40。 。 举例说明 (4)算出公历日(1986年12月3日)离春节的天数:337-40=297,得出农历是11月2日。 (5)计算星期: 9+(1986-1900)+(1986-1900/4 +5]%7=3 综上所述,公历日1986年12月3日对应的是农历1986年11月2日星期三。 我就是在这天出生的。 鸣谢 在这里我还想借这个机会多些我的指导老师,多谢老师的悉心指导,帮助我顺利完成论文。 多谢我的大学四年一直帮助我的同学,多谢和我一起渡过四年的美好生活的同学。 还多谢各位答辩老师,您们辛苦了。 谢谢

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档