基于单片机的时间温度显示系统内容摘要:

DS1302 接口方式图如图 211所示: 图 211 DS1302 接口方式 DS1302 内部寄存器 DS1302 内部共有 12 个寄存器,其中有 7个寄存器与日历、时钟有关,存放的数据位为 BCD 码形式,其日历、时间寄存器及控制字。 寄存器内容的定义 如下表 23所示: 表 23 寄存器内容定义表 寄存器名称 命令字 取值范围 定义 写操作 读操作 7 6 5 4 3~ 0 秒寄存器 80H 81H 00~ 59 CH 秒(十位) 秒(个位) 分寄存器 82H 83H 00~ 59 0 分(十位) 分(个位) 小时寄存器 84H 85H 01~ 12 00~ 23 12/24 0 10 A/P HR HR 日寄存器 86H 87H 01~ 28/29 01~ 30 01~ 31 0 0 日期(十位) 日期(个位) 月寄存器 88H 89H 01~ 12 0 0 0 月(十位) 月(个位) 星期寄存器 8AH 8BH 0l~ 07 0 0 0 0 星期 年寄存器 8CH 8DH 01~ 99 年(十位) 年(个位) 写保护寄存器 8EH 8FH WP 0 0 0 0 慢充电寄存器 90H 91H TCS TCS TCS TCS DS DS DS DS 时钟突发寄存器 BEH BFH 毕业论文设计 基于单片机的时间温度显示系统 11 CH:时钟暂停位,当此位设置为 1时,振荡器停止, DS1302处于低功率的备份方式;当此 位设置为 0时,时钟开始启动。 12/24:小时寄存器的位 7定义为 12 或 24小时方式选择位。 当它为高电平时,选择12 小时方式。 在 12 小时方式下,位 5 是 AM/PM 位,此位为逻辑高电平表示 PM。 在 24小时方式下,位 5是第 2个 10 小时位( 2023时)。 WP:写保护位,写保护寄存器的低 7 位 (D0~ D6)置为 0,在读操作时总是读出 0。 在对时钟或 RAM 进行写操作之前,位 7(WP)必须为 0,当它为高电平时,写保护位防止对任何其他寄存器进行写操作。 DS1302 数据传送及读写时序方式 DS1302支持 单字节和多字节两种数据读写方式。 单字节方式是在把控制命令字写入 DS1302之后的 8个 SCLK周期的上升沿输入 /输出数据字节。 单字节传送方式描述如 212所示: 图 212 单字节传送方式 当命令字节为 BE 或 BF 时 DS1302 工作在多字节传送模式 8 个时钟 /日历寄存器从寄存器 0 地址开始连续读写从 0 位开始的数据当命令字节为 FE 或 FF 时 DS1302 工作在多字节 RAM 传送模式 31 个 RAM 寄存器从 0 地址开始连续读写从 0 位开始的 数据。 多字节传送方式描述如 213所示: 图 213多字节传送方式 系统硬件组成与实现方法 毕业设计论文 12 DS1302数据传送必须按照正确的时序才能完成,其读写时序如图 21 215所示 图 214 DS1302 读时序 图 215 DS1302 写时序 按键部分 本设计采用的是独立式按键,简单易于控制,四个按键通过编程实现一键多能的作用,能对时间进行调整。 本设计的按键电路如图 216所示: 图 216 按键电路 MAX232 芯片 MAX232 芯片是美信( MAXIM)公司专为 RS232 标准串口设计的单电源电平转换芯片,使用 +5v 单电源供电。 如图 217 为 MAX232 的引脚图: 毕业论文设计 基于单片机的时间温度显示系统 13 图 217 MAX 引脚图 MAX232 的工作原理是把单片机的 TTL 电平转化为计算机的 RS232 电平。 TTL 电平逻辑 1为 +5V,逻辑 0为 0V。 RS232 电平逻辑 1为 +3V~ +15V,逻辑 0 为 3V~ 15V。 也就是说我们所转换的数据电平 +5V (+3V~ +15V), 0V(3V~ 15V)即可。 本设计 MAX232 引脚连接图如图 218 所示: 图 218 MAX232 引脚连接图 系统软件实现方式 毕业设计论文 14 第三章 系统软件实现方式 主 程序流程图 主函数包括三个部分。 时间的获取和转换、温度的采集及转换和将转换后的数据发送到液晶屏 1602 上。 具体如流程图 31 所示 图 31 主函数流程图 处理读取的温度数值 DS1302 写保护 DS1302 不写保护 对 ds1302 年、月、日、时、分、秒及星期设初值 DS1302 进行写保护 1602 初始化 While 读取温度 1602 显示位置处理 时钟读取数值 在 1602 上写入相关数据 毕业论文设计 基于单片机的时间温度显示系统 15 液晶显 示流程图 为使液晶正常显示,先要对液晶进行初始化,对 4 位总线和双行显示设置,对光标定位及文字位置设置和设置开显示和光标作用再清屏。 对读取温度和时间进行数据处理,然后通过写命令确定温度和时间在液晶上的显示位置,最后通过写数据将时间和温度显示在液晶屏幕上。 如图 32为液晶显示的流程图。 图 32 液晶显示流程图 液晶初始化 4 位总线和双行显示设置 光标右移和文字不移动设置 开显示和光标不作用设置 显示清屏 读取温度值 温度显示值的处理 读取时间寄存器值 时间显示值的处理 设置显示位置 时间温度显示 系统软件实现方式 毕业设计论文 16 时间获取函数流程图 在本设计中分别对年月日,时分秒和星期进行寄存然后处理。 从 DS1302 芯片中读取年的数据, 将高四位进行 ASCII 码的转换,也将低四位也进行 ASCII 码的转换,再对月、日、时、分、秒进行类似的处理。 如图 33 为温度转换的流程图: 图 33 时钟获取模块流程图 读取温度函数流程图 读取时钟“年”寄存器值器值器 “年”数据处理 读取时钟“月”寄存器 读取时钟“秒”寄存器 “月”数据处理 读取时钟“日”寄存器 “分”数据处理 “时”数据处理 “日”数据处 理 读取时钟“时”寄存器 读取时钟“分”寄存器 “秒”数据处理 读取时钟“星期”寄存 “星期”数据处理 毕业论文设计 基于单片机的时间温度显示系统 17 温度读取函数首先要对 DS18B20 进行初始化,再跳过 ROM 指令,然后启动温度转换、延时,再进行 DS18B20 初始化,再跳过 ROM 指令,然后读取温度,读取温度中要对负温度进行判断,再进 行温度转换,最后显示实际温度,温度转换流程图如 34所示: 图 34 温度转换图 DS18B20初始化 延时 启动温度转换 初始化 读取温度 跳过 ROM 指令 跳过 ROM 指令 进行温度转换 返回实际温度值 调试现象 毕业设计论文 18 第四章调试现象 此实验还需要运行环境, 51 单片机运行的环境是 keil 51。 以下图表显示 Keil 的开发工具以及它们相互之间的接口。 如下图 41为程序调试图: 图 41 程序调试图示 STCISP 是一款 单片机 下载 编程 烧录 软件 ,是针对 STC 系列单片机而设计的,可下载 STC89 系列、 12C2052 系列和 12C5410 等系列的 STC 单片机。 如图 42为程序下载图: 图 42 程序下载图 毕业论文设计 基于单片机的时间温度显示系统 19 实验过程现象 如下图 43, 44为实验板和实验现象: 图 43 实验板 图 44 实验现象结论 毕业设计论文 20 结 论 通过这次的毕业设计,我对单片机的知识有了进一步的了解。 大学生活即将结束,这次的毕业设计是对我们三年所学知识的检验,以此来提高我们的综合能力同时也对我们所学知识进行了有效的巩固。 根据设计任务,提供参考书目让我们自己学习自己思考,对于在设计中遇到的重点与难点通过典型分析和老师的讲解,启发 我们思考帮助我们掌握自学的方法达到很好的效果。 这次毕业设计的课题是基于单片机的时间温度显示系统,具体为 设计一个能在液晶屏幕上显示当前日期和温度的 51 单片机控制系统。 主要选取的芯片是 AT89C51 单片机,时钟芯片 DS1302,数字温度传感器 DS18B20 以及字符液晶 LCD1602。 刚刚拿到这课题时虽然有学过单片机但还是有点不知所措, 结果在画原理图时就出现了很多的问题经过大家的努力原理图终于完成了接下来就是制板,从未弄过的我们不知从何下手还好有会的同学教我们帮我们监督着在他的帮助下终于完成了板子的制作。 接下来更困难的是就是写程序,虽然学过 C语言可是只是懂一些表面的东西汇编虽然也接触过但是也是上课老师直接给我们的所以编程是一个困难的过程没。 调试的时候我们发现了好多错误,先是板子的焊接出现错误,再是程序的错误,然后我们一遍又一遍的更改。 毕业论文是对我大学 三 年所学基础知识的专业知识的一次全面检验,通过撰写论文和毕业答辩,我觉得对自己的语言组织能力,表达能力,沟通交际能力,运用所学知识的能力,分析问题并解决问题的能力都有所提高。 在此项目中不仅学到了技能,更重要的是学到一种团队精神,一种分享收获的喜悦,一个小组一个团队 要有统一的目标、统一的意见和一个优秀的领导人,这样才能更有效的完成我们前进中遇到的难题和困难。 做任何事包括做实验都不是孤立的而是一个需要和他人交往的过程。 这就要求我们要团结,要有合作精神,要注意和。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。