DS1302的电子万年历,时间、闹钟可调,带温度农历显示,原理图、仿真和代码 设计资源,请见文末说明~ 设计要求 1.显示公历年、月、日、星期、时、分、秒; 2.可随时调校年、月、日、时、分、秒; 3.能显示农历时间,并能标明平润年; 4.具有闹钟设定提醒功能; 5.能够显示当前环境温度; 系统概述 电子万年历系统以AT89C52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片和DS18B20温度传感器,完成时间和温度的读取,全部信息由LCD1602液晶实时显示。 日历时间的校准和闹钟的设定均由四个独立按键来实现,日历能显示公历和农历的年、月、日以及星期、时、分、秒,在显示农历年时,还能标明平润年。 整个系统的由以下几个模块组成,如下图所示。
原理图
仿真电路图
仿真分析 打开Proteus仿真文件,文件后缀名为DSN。双击单片机,加载WanNianLi.hex文件(位于Keil C程序文件夹中),运行仿真,结果如下图所示。
电子万年历仿真运行结果 上图可以看出,LCD显示的时间信息与DS1302 Clock-U3窗口完全一致,表明单片机成功读取DS1302芯片数据。当前日期为2020年10月9日星期五,时间为21点30分39秒,温度为31.0℃。 设置时间的操作为:“设置”键,秒针闪烁,此时可以通过“加键”和“减键”进行增减调整,秒针设置如下所示。
秒针的设置,光标闪烁 秒针设置完成后,再次“设置”键,分针闪烁,继续通过加减键进行设置,以此类推,来设置小时、日、月和年,年(范围可到2099年)设置完成后,再次按下“设置”键,退出时间的设置,回到LCD正常显示界面。 “农历/闹钟”按键,显示当前日期的农历日期,以及平润年(平年:PING 闰年:RUN),如下图所示,公历2020年10月9日所对应的农历日为8月23,且2020年为闰年,公历农历转换信息准确无误。
农历日期的显示 再次“农历/闹钟”键,显示闹钟时间,以及闹钟的开关状态(ON:表示闹钟开,OFF:表示闹钟关),图中系统默认闹钟时间为01:01,闹钟处于打开状态ON。
系统闹钟默认状态 设置闹钟操作为:在当前闹钟显示界面下,“设置”键,闹钟的小时数闪烁,通过“加键”和“减键”调整小时数,小时数设置好后,再次“设置”键,分钟闪烁,进入分钟数的设置。 同理,分钟数设置好后,再次“设置”键,需要注意的是,在设定闹钟开关时,没有光标闪烁。“加键”或“减键”,设置闹钟的打开与关闭,ON与OFF之间切换。 以上都设置好后,再“设置”键,ON或OFF闪烁一下,表示闹钟设定完成。此时按下“农历/闹钟”键退出闹钟界面,回到时间正常显示的界面。 例如,设置闹钟时间为早上8:30,闹钟打开,状态为ON,结果如下。
设置闹钟时间为8:30 闹钟定时到后,蜂鸣器发声,闹钟响;闹钟可以通过“加键”或“减键”或“农历/闹钟”键来关闭。 通过DS18B20模块的红色向上、向下箭头,可以模拟温度的改变,LCD液晶实时显示当前温度值。例如设定温度22.0℃,如图所示。
模拟温度值为22.0℃ 综上所述,电子万年历Proteus仿真设计运行效果满足设计要求。 资源内容有 (1)基于51单片机的电子万年历设计论文完整版; (2)Altium Designer原理图文件; (3)Keil C程序; (4)Proteus仿真文件; (5)Visio程序设计流程图; (6)毕设任务书; (7)芯片技术手册; (8)器件清单; (9)器件知识介绍; 资源截图如下
重要的事情说三遍! 重要的事情说三遍! 重要的事情说三遍! 本设计为我的原创 以上电子万年历设计全套资源 请搜索我的(请见头像处或个人简介,谢谢!)
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/78421.html