- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS18B20的温度采集
“盛群杯”单片机大赛设计报告
温度读取部分:
采用数字温度传感器DS18B20。DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据,电路简单。如图1.2.2 所示 。
DS18B20与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果
2.2.1 温度采集部分设计
本系统采用半导体温度传感器作为敏感元件。传感器我们采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,直接输出数字量,可以直接和单片机进行通讯,大大简化了电路的复杂度。DS18B20应用广泛,性能可以满足题目的设计要求。DS18B20的测温电路如图2.2.1所示。
图2.2.1 DS18B20测温电路
(1)DSI8B20的测温功能的实现:
其测温电路的实现是依靠单片机软件的编程上。 当DSI8B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0,1字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5℃/LSB形式表示。温度值格式如表2.2.1所示,其中“S”为标志位,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。DSI8B20完成温度转换后,就把测得的温度值与 TH做比较,若TTH或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令做出响应。
表2.2.1 DS18B20温度值格式表
LS Byte
MS Byte
S
S
S
S
S
(2)、DSl820工作过程中的协议
初始化 - RoM操作命令 - 存储器操作命令- 处理数据
① 初始化 单总线上的所有处理均从初始化开始
② ROM操作命令 总线主机检测到DSl820的存在便可以发出ROM操作命令之一这些命令如表2.2.2所示
表2.2.2 ROM操作命令表
指令
代码
Read ROM(读ROM)
33H
Match ROM(匹配ROM)
55H
Skip ROM(跳过ROM]
CCH
Search ROM(搜索ROM)
F0H
Alarm search(告警搜索)
ECH
③ 存储器操作命令如表2.2.3所示
表2.2.3 存储器操作命令表
指令
代码
Write Scratchpad(写暂存存储器)?
4EH
Read Scratchpad(读暂存存储器)
BEH
Copy Scratchpad(复制暂存存储器)?
48H
Convert Temperature(温度变换)
44H
Recall EPROM(重新调出)
B8H
Read Power supply(读电源)?
B4H
(3)温度转换算法及分析
由于DS18B20转换后的代码并不是实际的温度值,所以要进行计算转换。温度高字节(MS Byte)高5位是用来保存温度的正负(标志为S的bit11~bit15),高字节(MS Byte)低3位和低字节来保存温度值(bit0 ~ bit10)。其中低字节(LS Byte)的低4位来保存温度的小数位(bit0 ~ bit 3)。由于本程序采用的是0.0625的精度,小数部分的值,可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取小数舍入,保留一位小数即可。也就说,本系统的温度精确到了0.1度。
算法核心:首先程序判断温度是否是零下,如果是,则DS18B20保存的是温度的补码值,需要对其低8位(LS Byte)取反加一变成原码。处理过后把DS18B20的温度Copy到单片机的RAM中,里面已经是温度值的Hex码了,然后转换Hex码到BCD码,分别把小数位,个位,十位的BCD码存入RAM中。
读取DS18B20温度模块子程序
每次对DA18B20操作时多要按造DS18B20工作过程中的协议进行。
初始化- RoM操作命令- 存储器操作命令- 处理数据 程序流程图如图3.1.1所示。
3.2 数据处理子程序
由于DS18B20转换后的代码并不是实际的温度值,所以要进行数据处理。由于本程序采用的是0.0625的精度,小数部分的值,可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取四舍五入,保留一位小数即可。也就说,本系统的温度精确到了
您可能关注的文档
- AutoCAD2002 2005试卷参考__单元 2.doc
- 4章。_arm汇编语言编程基础.ppt
- ATmega16单片机的普通IO口.ppt
- Autolisp的语言.ppt
- arm嵌入式C编程标准教程.ppt
- BBS论坛设计文件.doc
- ax2009系统查询字段高级筛选中的应用.ppt
- BIOS的基本知识.ppt
- BB平台vb程序匹配问题.doc
- BIM软件的多铆钉门窗的创建.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)