电子万年历设计_第1页
电子万年历设计_第2页
电子万年历设计_第3页
电子万年历设计_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、论文题目基于单片机的电子万年历设计课程名称单一机原理及接口技术专业年级 2014 级自动化3班学生姓名 孙宏远贾腾飞学 号2016年12 月3 日摘要 :本文介绍了基于AT89C5印片机的多功能电子万年历的硬件结构和软硬件设计 方法。系统以AT89C51片机为控制器,以串行时钟日历芯片DS1302s录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用 直观的数字显示,可以在 LED上同时显示年、月、日、周日、时、分、秒,还具有时间 校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸 多优点,具有广阔的市场前景。关键词:AT89C5

2、1片机,DS1602时钟芯片,LCD1602M示屏。串口通信。一:引言本设计的基于单片机控制的电子万年历,具有年、月、日、星期、时、分、秒的显示等功能,实现过程就是由主控制发送信息给DS130方寸钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给 LCD1602a示屏显示信息。并且可以在键盘设置模块输入修 改时间,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302®片读取当前新信息产生反馈传送给单片机,然后单片机根据 控制最后输送显示信息到LCD1602夜晶显示屏模块上显示。二:硬件设计:2.1 . 硬件的设计总框图2.2 DS10

3、32 时钟电路DS1302 的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的 情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当 Vcc2 大于 Vcc1 + 0.2V 时,Vcc2 给 DS1302供电。当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。 X1 和 X2 是振荡源,外接32.768kHz 晶振。芯片如图。DS1302的内部主要由移位寄存器、指令和控制逻辑、振荡分频电路、实时时钟以及RAMfi成。每次操作时,必须首先把 CE置为高电平。再把提供地址和命令信息的8位装入移位寄存器。数据在SCLK勺上升沿用行

4、输入。无论是读周期还是写周期发生,也无论 传送方式是单字节还是多字节,开始8 位将指定内部何处被进行访问。在开始8 个时钟周期把含有地址信息的命令字装入移位寄存器之后。紧随其后的时钟在读操作时输出数 据。2.3 LCD1602与AT89C52的弓|脚接线LCD1602采用总线式与单片机相连,AT89c52的P1 口直接与液晶模块的数据总线 D0D7f目连;P2 口的0, 1, 2脚分别与液晶模块的RS RW E脚相连。滑动变阻器用于 调整液晶显示的亮度。电路如图2.4 DS1602 与 AT89C52的接线在电路中单片机的P1. 7控制DS1302的复位输入端,P1. 4与数据输入/输出引脚

5、相连,P1. 3用来作为DS1302的输入时钟SCLK空制端。由于单片机复位时,所有单片 机的端口均为高电平,如果直接用单片机的某一口线同DS1302的RSTf连,则影响了系统加电时对DS1302的初始化,从而造成DS1302计时的不稳定。因此,本主电源(5 V) 接VCC2,备份电池采用可充电镉锲电池(3 . 6 V)接VCC12.5 键盘设置电路设置电路的功能主要是把时间和日期设置到当前的时间,可以在系统运行中进行。用 4 个独立式按键完成, 分别接到单片机P1 口的高 4 位。 第 1 个按钮表示是否进行设置,按下时表示设置,并且每按一次,在显示器上分别在年、月、日等日期时间上跳转,表示

6、对相应的项进行更改; 第 2 个按钮按下表示对第 1 个按钮选中的项进行加 1 操作; 第 3 个按钮按下表示进行减1 操作;第 4 个按钮按下表示停止设置。只有在第 1 个按钮按时才可进行加减操作。其电路如图 3 所示。其中电容的作用是消除按键的抖动,也可用双稳态触发器去除按键时的抖动,同时为了提高可靠性,硬件去抖动的同时,还可以用软 件去抖动的方法。三:软件设计3.1 软件设计总框图系统软件设计主要包括主程序设计、日期数据采集子模块程序设计、按键处理子模块程序设计和显示子模块程序设计等。主程序主要完成器件的初始化,并判断有无按键按下,并根据判断的结果调用相应的子模块程序;日期数据采集子模块

7、程序完成相应的数据采集、处理和保存 ,按键处理子模块程序完成日期的设置,而显示子模块程序只要把上述 子模块储存的数据送去显示即可。3.2 主程序流程图3.3 按键的检测通过中断的办法来实现,利用按键进行间调整。 K1 按下则开始设置时间及日期,同时在第一行最右端显示被选择的对象, 第一次按下K1时,设置年份,若按下K3,则是减 1 操作,按下 K2 是加 1 操作,设置好年后,第二次按下K1 时,则是设置月份,按K3 减,按K2则加1,依次循环下去,则可以将时间和日期设置完毕, K4是确定键,设置好按下 即可保存设置了 .3.4 软件总设计软件总设计:主程序首先对系统环境初始化,设置定时器 T

8、0工作模式为16位定时/计数 器模式,置位总中断允许位 EA,并对键盘端口置位,再对LCD16020始化,DS1302初始 化。接着扫描键盘,在键盘程序里面是对时间、日期,最下面是时间的显示。四:调试过程及问题解决4.1 实验结果LCD1602a示屏可以同时显示年、月、日、周日、时、分、秒,还具有时间校准等 功能4.2 调试过程及问题解决(1)烧入程序后,液晶显示空屏,而且亮度不均匀。解决:首先对调用的仔细检查程序,可以解决显示闪动问题。其次, 检查接线是否正确。由于其亮度由10K的电位器来调节,适当调节防止过暗 或过亮的情况发生。(2)修改时间、日期时没有与按键自动对应上。解决:把不相关的程

9、序暂时屏蔽,对按键的子程序独立调试,发现在 调用按键自动更新时,时间与按键协调不好,所以会造成错乱。最后该延时 为中断进行修改,使得时间、日期与按键自动对应上,最后解决了此问题.2)加入温度的程序后,进行修改时间、日期时相应的LCD1602显示位没有 按要求闪动。解决:由于DS18B20是串行通信数据,只用一个口线传输,在处理 采集的模拟信号时需要一定的时间,当把万年历的程序相接入时,会对延时 有很大的影响。所以在调用温度子程序时,先关闭定时器1中断允许,在温 度子程序反回时再打开定时器1中断允许。最终解决了此问题。五:作品总结这次实验自己焊接了时钟芯片模块,温度模以及LCD1602显示模块,对其 引脚功能有了进一步并且直观地了解。在连接个模块的时候,经常会出现引 脚接不对,液晶屏不显示,按键不能去抖等情况。在分析解决这些问题后后 有了很大的收获,对于单片机有了更深的了解,为学习嵌入式有了扎实的铺 垫。六:参考文献西安电子科技大学出版社北京科学出版社高等教育出版1 .杨子文,单片机原理及应用,2 .王法能,单片机原理及应用,3 .余梦尝,数字电路技术基础,4 .赵春见,王香婷.?基于DS1302的实时日历时钟系统的设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论