基于DS128B20的数字温度计设计

上传人:宝路 文档编号:17820525 上传时间:2017-11-12 格式:DOC 页数:17 大小:135.91KB
返回 下载 相关 举报
基于DS128B20的数字温度计设计_第1页
第1页 / 共17页
基于DS128B20的数字温度计设计_第2页
第2页 / 共17页
基于DS128B20的数字温度计设计_第3页
第3页 / 共17页
基于DS128B20的数字温度计设计_第4页
第4页 / 共17页
基于DS128B20的数字温度计设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于DS128B20的数字温度计设计》由会员分享,可在线阅读,更多相关《基于DS128B20的数字温度计设计(17页珍藏版)》请在金锄头文库上搜索。

1、西安文理学院课程设计报告第 1 页目录第 1 章单片机控制步进电机的现实意义 .1第 2 章 总体方案设计 .22 .1DS18B20 的工作原理 .22.2AT89C51 的优点 .3第 3 章 硬件部分设计 .53.1 硬件设计思路 .53.2 温度传感器电路 .53.3 温度显示电路 .63.4 复位电路设计 .6第 4 章 软件电路设计 .94.1 主程序 .94.2 读出温度子程序 .94.3 温度转换命令子程序 .94.4 计算温度子程序 .4.5 显示数据刷新子程序 .9第 5 章 系统所运用的功能介绍 .135.1 系统的调试及性能分析 .135.2 测试结果 .13心得体会

2、.14致谢 .15附件 .16西安文理学院课程设计报告第 2 页第 1 章基于 DS18B20 数字温度计的设计课题介绍本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器 DS18B20,单片机 AT89C51,四位共阴极数码管一个,电容电阻若干。DS18B20 支持“一线总线”接口,测量温度范围-55C+125C。在-10+85C 范围内,精度为0.5C。DS18B20 的精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。本次数字温度计的设计共分为五部分,主控制

3、器,LED 显示部分,传感器部分,复位部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED 显示部分是指四位共阳极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。本设计能完成的温度测量范围是-55C+128C,由于能力有限,不能实现报警功能。第 2 章总体方案2.1 DS18B20 的工作原理DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它

4、能直接读出被测温度,并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式2.2 AT89C51 的优点AT89C51 单片机。很明显可以看出方案二只用到一个芯片,元器件数量少,接线简单,易对端口进行操作,尤其是编程涉及到的变量少,不易出错。西安文理学院课程设计报告第 3 页第 3 章 硬件部分设计3.1 硬件设计思路按照系统设计功能的要求,确定系统由 3 个模块组成:主控制器、测温电路和显示电路。数字温度计总体电路结构框图所示:3.2 温度传感器电路DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接

5、读出被测温度,并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式, 现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。DS18B20AT89C51 主控制器 显示电路扫描驱动西安文理学院课程设计报告第 4 页:3.3 温度显示电路西安文理学院课程设计报告第 5 页四位共阳极数码管,能够显示小数和负温度。零下时,第一个数码管显示负号。当温度超过 99.9时,四个数码管全部亮。列扫描用 P3.0P3.3 口来实现,驱动方式采用串联电阻直接驱动。3.4 复位电路设计单片机系统的复位电路在这里采用的是开机复位电路形式,其中电阻 R 采用 6.8K的阻值,电容采用电容值为

6、 10F 的电解电容,系统开机自动复位,不能中途用按键进行复位。西安文理学院课程设计报告第 6 页3.5 系统总电路图如下:西安文理学院课程设计报告第 7 页第四章:软件的设计主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等。主程序 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量温度值。温度测量每 1S 进行一次。主流程图如下:调用显示程序初始化Y1s 到?N初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令西安文理学院课程设计报告第 8 页4.2 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节

7、。在读出时须进行CRC 校验,校验有错时不进行温度数据的改写。流程图如下:4.3 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令。当采用 12 位分辨率时,转换时间约为 750ms。在本程序设计中,采用 1s 显示程序延时法等待转换的完成。流程图如下:发 DS18B20 复位命令发跳过 ROM 命令发读取温度命令读取操作,CRC 校验9 字节完?CRC 校验正?确?移入温度暂存器结束NNYY发 DS18B20 复位命令发跳过 ROM 命令发温度转换开始命令结束西安文理学院课程设计报告第 9 页4.4 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,

8、并进行温度值正负的判定。4.5 显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为 0 时,将符号显示位移入下一位。开始温度零下?温度值取补码置“-”标志计算小数位温度 BCD值 计算整数位温度 BCD 值 结束置“+”标志NY西安文理学院课程设计报告第 10 页温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号)结束第五章:系统所运用的功能介绍:DS18B20 与单片机之间采用串行通信的方式进行数据读写5.1 系统的调试及性能分析:硬件调试比较简单,首先焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试由于 DS18B20 与单片机采用串行数据传送,因此,对 DS18B20 进行读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。本程序采用单片机 C 语言编写用 Keil C3 编译器编程调试。并且应用 PROTUES7 进行电路的仿真及 PCB 班的设计布线。软件调试到能显示温度值,并且在有温度变化时显示温度能改变,就基本完成。性能测试可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号