万年历基于51单片机的电子日历的设计

日历转换  时间:2021-02-12  阅读:()

淮安信息职业技术学院

学生姓名

学 号

院 系 电子工程学院

专 业 应用电子技术

班 级

指导教师

顾问教师

二〇一二年六月

摘 要

电子万年历是实现对年、月、 日、时、分、秒数字显示的计时装置广泛用于个人家庭、车站、码头、办公室、银行大厅等场所是人们日常生活中的必需品。

本文通过对基于单片机实现万年历功能的电子日历的设计介绍了AT89S52单片机的多功能电子万年历的硬件结构和软硬件的设计、使用方法。

系统以AT89S52单片机为主控制模块 以串行时钟日历芯片DS1302记录日历和时间它可以对年、月、 日、时、分、秒进行计时还具有闰年补偿、时间校准等多种功能。万年历采用直观的数字显示可以在LCD上同时显示年、月、日、星期、时、分、秒。更有按键电路模块与之相结合不仅能实现时钟日历显示的功能并可进行调整使用更便捷、直接。

万年历具有读取方便、显示直观、功能多样、 电路简洁、成本低廉等诸多优点具有广阔的市场前景。

关键词万年历 单片机 AT89S52 DS1302

目 录

摘 要..........................................................................................................................I

第一章绪论...................................................................................................................1

1.1课题研究的意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.2本课题主要的研究工作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.3本课题主要解决的内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.4论文主要章节安排. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.5本章小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

第二章方案论证...........................................................................................................3

2.1设计要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

2.2单片机芯片的选择方案和论证. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

2.3显示模块的选择方案和论证. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

2.4时钟芯片的选择方案和论证. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2.5电路设计最终方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

第三章系统的硬件设计与实现...................................................................................5

3.1电路总体设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

3.2主控模块的设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

3.2.1 AT89S52的内部结构及各引脚功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

3.2.2单片机最小系统设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

3.3时钟模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

3.4显示模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

3.5键盘模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

第四章系统的软件设计.............................................................................................11

4.1主程序设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

4.2万年历优化算法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

4.3阳历与星期的换算方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

4.4万年历工作的简易流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

第五章PROTEUS软件仿真.....................................................................................15

5.1 PROTEUS ISIS简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

5.2 PROTEUS运行流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

5.3 PROTEUS功能仿真. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

5.4本章小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

第六章测试与结果分析.............................................................................................19

6.1硬件测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

6.2软件测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

6.3测试结果分析与结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

第七章总结与展望.....................................................................................................21

7.1总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

7.2展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

致 谢...........................................................................................................................23

参考文献.......................................................................................................................25

附录1系统电路图.....................................................................................................27

附录2系统程序..........................................................................................................28

第一章绪论

1.1课题研究的意义

万年历是我国古代传说中最古老的一部太阳历。为纪念历法编撰者万年功绩便将这部历法命名为“万年历” 。而现在所使用的万年历实际上就是记录一定时间范围内 比如100年或更多的具体阳历或阴历的日期的年历方便有需要的人查询使用与原始历法并无直接联系。

随着微电子技术的高速发展人类用于计时的工具也在不断发展更新单片机技术的出现使得万年历有了新的发展方向。

单片机以其体积小、功能全、性价比高等诸多优点在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头单片机开发技术已成为电子信息、 电气、通信、 自动化、机电一体化等专业技术人员必须掌握的技术。 目前世界上单片机年产量已达十多亿片通常是当年微处理器产量的4-5倍以上。用最少的芯片就能实现最强大的功能这是将来电子产品的主流方向它将无可置疑地一步步取代其它同类产品其数量之大和应用面之广是其它任何类型的计算机所无法比拟的。

本文采用单片机的万年历作为设计课题 因为它有很好的开放性和可发挥性对作者的要求比较高不仅考察了对单片机的掌握能力而且强调了对单片机扩展的应用。另外液晶显示的万年历已经越来越流行特别适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用它具有显示清晰直观、走时准确、可调整、进行夜视等功能。所以 电子万年历作为课题设计很有价值。

1.2本课题主要的研究工作

本论文主要研究基于单片机的万年历设计。当程序执行后 LCD显示年、月、日、时、分、秒和星期。

设计共设置4个操作键 K1选择修改键 K2上调键 K3下调键 K4确定键。

设计的主要内容有

1、 了解单片机技术的发展现状熟悉万年历个模块的工作原理

2、选择适当的芯片和元器件确定系统电路绘制电路原理图尤其是各接口电路

3、熟悉单片机使用方法和C语言的编程规则编写出相应模块的应用程序

4、分别在各自的模块中调试出相应的功能在Proteus软件上进行仿真。

1.3本课题主要解决的内容

本课题所研究的电子万年历是单片机控制技术的一个具体应用主要研究内容包括以下几个方面

1、选用电子万年历芯片时应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。

2、根据选用的电子万年历芯片设计外围电路和单片机的接口电路。

3、在硬件设计时结构要尽量简单实用、易于实现使系统电路尽量简单。

4、根据设计的硬件电路编写控制AT89S51芯片的单片机程序。

5、通过编程、编译、调试把程序下载到Proteus上运行并实现本设计的功能。

6、在硬件电路和软件程序设计时主要考虑提高人机界面的友好性方便用户操作等因素。

7、软件设计时必须要有完善的思路要做到程序简单调试方便。

1.4论文主要章节安排

第一章绪论是介绍了基于STC89S52单片机的万年历研究意义重点阐述了本课题的研究内容和研究工作。

第二章主要介绍了设计要求和课题器件选择的论证方案。

第三章硬件基础中主要描述了万年历的各个模块的硬件设计方案并结合各个元器件和相应的硬件原理图进行分析最后展示为了实现研究目标所需要的全部硬件基础。

第四章软件基础主要罗列了实现万年历各个功能的C语言程序的流程图并分别对其进行了解释和分析最后把各个C语言子程序在巧妙结合在一起共同控制整个系统也就形成了实现研究目标所需要的所有软件基础。

第五章主要是对硬件和软件测试结果的分析以及得出的相关结论。

第六章主要对Keil软件、 Proteus软件进行简单介绍并给出了关于Proteus软件仿真调试万年历的过程。最后简要的介绍了硬件调试中的问题和解决办法。

第七章主要是对本次实验研究的总结提出本次实验的不足之处以及相应的改进方法 以便后人继续深入研究。

最后一部分是论文的附录它为论文的内容做了补充、解释 以便阅读时条理更清晰。

1.5本章小结

本章是论文的绪论部分着重介绍了万年历的研究意义。然后介绍了本文所要解决的实际问题及意义 以及要电子万年历系统要实现的功能和方法。最后简单地描述了本论文的整体框架和论文章节的安排。

第二章方案论证

2. 1设计要求

在电子日历设计中需具备的基本功能。

1能显示实时时钟、 日历

2允许误差 ±10秒/天

3可以通过按键设置调整时钟

4显示模式数码管或液晶显示

2. 2单片机芯片的选择方案和论证

方案一:

采用AT89C51芯片作为硬件核心采用Flash ROM 内部具有4KB ROM存储空间能于3V的超低压工作而且与MCS-51系列单片机完全兼容但是运用于电路设计中时由于不具备ISP在线编程技术 当在对电路进行调试时 由于程序的错误修改或对程序的新增功能需要导入程序时对芯片的多次拔插会对芯片造成一定的损坏。

方案二:

采用AT89S52片内ROM全都采用Flash ROM能以3V的超底压工作 同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM存储空间 同样具有89C51的功能且具有在线编程可擦除技术 当在对电路进行调试时 由于程序的错误修改或对程序的新增功能需要导入程序时不需要对芯片多次拔插所以不会对芯片造成损坏。

根据主功能模块的各项功能、使用便捷程度、单片存储、低功耗、等原因选择采用AT89S52作为主控制系统。

2. 3显示模块的选择方案和论证

方案一

采用LED数码管动态扫描 LED数码管价格适中对于显示数字合适采用动态扫描法与单片机连接时虽然占用的单片机口线少但连线还需要花费一点时间所以也不用此种作为显示。

方案二

采用点阵式数码管显示 点阵式数码管是由八行八列的发光二极管组成对于显示文字比较适合如采用在显示数字显得太浪费且价格也相对较高所以也不用此种作为显示。

方案三

采用LCD液晶显示屏液晶显示屏的显示功能强大可显示大量文字、 图形等显示信息丰富。

ProfitServer$34.56/年,5折限时促销/可选西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

ProfitServer怎么样?ProfitServer好不好。ProfitServer是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对...

香港九龙湾(27元) 2核2G 20元 香港沙田

弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港VPS、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。国庆活动 优惠码:hosu10-1产品介绍...

Raksmart VPS主机如何设置取消自动续费

今天有看到Raksmart账户中有一台VPS主机即将到期,这台机器之前是用来测试评测使用的。这里有不打算续费,这不面对万一导致被自动续费忘记,所以我还是取消自动续费设置。如果我们也有类似的问题,这里就演示截图设置Raksmart取消自动续费。这里我们可以看到上图,在对应VPS主机的【其余操作】中可以看到默认已经是不自动续费,所以我们也不要担心被自动续费的。当然,如果有被自动续费,我们确实不想续费的...

日历转换为你推荐
手机游戏排行榜20152015有什么手机游戏好玩?yy频道中心YY频道管理中心怎么登录?中国电信互联星空电信的互联星空服务是什么?拂晓雅阁我对电脑操作不熟悉,想买一本自学的电脑书籍,是电脑入门那一类的,最好还有办公软件应用那一类的微信如何建群微信如何建群iphone越狱后怎么恢复苹果越狱后怎么恢复出厂设置怎么点亮qq空间图标QQ空间图标怎么点亮?数据库损坏数据库坏了,怎么修复?保护气球为什么会那么害怕气球网络广告投放网络广告的投放目的是什么?
查询域名 租服务器价格 lamp 重庆服务器托管 googleapps 密码泄露 好玩的桌面 韩国网名大全 isp服务商 国外免费asp空间 中国电信宽带测速网 最漂亮的qq空间 vul 永久免费空间 卡巴斯基试用版下载 国外代理服务器 reboot web服务器有哪些 alertpay 美国西雅图独立 更多