首页 理论教育 基于DS18B20的温度监测系统拓展方案

基于DS18B20的温度监测系统拓展方案

时间:2026-01-23 理论教育 眠眠 版权反馈
【摘要】:DS18B20是单线数字温度传感器,即“一线器件”。DS18B20的部分温度与数据的关系如表7-14所示。图7-50DS18B20外形及封装②引脚功能。DS18B20的初始化包括主机总线发出一个复位脉冲,由从机发送存在脉冲。图7-52DS18B20初始化时序具体要求如下。②数据线拉到高电平15~60μs,等待DS18B20作出反应拉低电平。图7-53DS18B20位写入时序·延时15μs。图7-55基于DS18B20的智能数字温度监测仿真电路3.程序设计参考预处理模块。DS18B20温度数据处理函数。

1.DS18B20温度传感器简介

(1)DS18B20的主要特性。

DS18B20是单线数字温度传感器,即“一线器件”。测量温度范围为-55~+125℃,精度为±0.5℃。可以通过程序设定9~12位的分辨率(出厂时设置为12位)。以12位分辨率为例,转换后12位数据在ROM中存放格式如表7-13所示。

表7-13 DS18B20温度数据格式(单位:℃)

图示

表7-13中,二进制的前5位是符号位,如果测量温度为正,该5位为“0”;反之,该5位为“1”。

DS18B20的部分温度与数据的关系如表7-14所示。

表7-14 DS18B20温度与数据关系表

图示

续表

图示

(2)DS18B20的引脚结构及电路连接方式。

①引脚结构及封装形式。DS18B20采用单线传输,只有3个引脚,其外形、封装形式如图7-50所示。

图示

图7-50 DS18B20外形及封装

②引脚功能。

·VDD:电源引脚,3.0~5.5 V,DC。

·DQ:数字信号输入输出端。

·GND:接地。

③电路连接方式。DS18B20的实用参考电路如图7-51所示。

图示

图7-51 DS18B20电路连接案例

(3)DS18B20的工作过程。

DS18B20的工作过程主要包括初始化、ROM操作命令、存储器操作命令、数据处理等过程,各过程需遵循相应的操作时序。

第一步:初始化。

DS18B20的初始化包括主机总线发出一个复位脉冲,由从机发送存在脉冲。其时序图如图7-52所示。

图示

图7-52 DS18B20初始化时序

具体要求如下。

①数据线拉到低电平480μs。

②数据线拉到高电平15~60μs,等待DS18B20作出反应拉低电平。

③读数据线状态,如果在15~60μs时间内产生一个由DS18B20所返回的低电平“0”,则初始化成功,结束;否则等待,但不能无限等待,不然会进入死循环,需要进行超时判断。

④CPU读到了数据线上的低电平“0”后,延时至少480μs。

第二步:给出ROM操作命令。

DS18B20应用中常用的ROM操作命令有Read ROM、Match ROM、Skip ROM。

①Read ROM[33h]:允许主机读DS18B20的8位产品系列编号及8位的CRC[6]

每个DS18B20都有一个唯一的48位序列号,此命令只能在总线上仅有一个DS18B20的情况下使用。

②Match ROM[55h]:允许总线主机对多点总线上特定的DS18B20寻址。

③Skip ROM[CCh]:在单点总线系统中,此命令通过允许总线主机不提供64位ROM编码而访问存储器操作来节省时间。

第三步:给出存储器操作命令。

常用的存储器操作命令有读暂存存储器命令和温度转换命令。

①读暂存存储器[BEh]:此命令读暂存存储器的内容。

②温度转换[44 h]:此命令开启温度转换。

第四步:数据处理。

从DS18B20读取的温度数据首先需进行正数、负数的判断,然后再进行数据处理。数据处理主要是位写入和位读取,需按照相应的时序进行。

①位写入时序。

位写入时序如图7-53所示。

具体要求如下。

·数据线先置低电平“0”。

图示

图7-53 DS18B20位写入时序

·延时15μs。

·按从低位到高位的顺序发送数据,一次只发送一位。(https://www.xing528.com)

·延时60μs。

·将数据线拉到高电平。

·重复上述步骤,直到发送完整的字节,将数据线拉高。

②位读取时序。

位读取时序如图7-54所示。

图示

图7-54 DS18B20位读取时序

具体要求如下。

·将数据线拉低“0”,延时1μs。

·将数据线拉高“1”,释放总线准备读数据。

·延时10μs。

·读数据线的状态得到1个状态位,并进行数据处理。

·延时45μs。

·重复上述步骤,直到读完一个字节。

2.仿真电路参考

基于DS18B20的数字温度监测仿真电路,如图7-55所示。

图示

图7-55 基于DS18B20的智能数字温度监测仿真电路

3.程序设计参考

(1)预处理模块。

图示

图示

(2)1 ms单位延时函数。

图示

(3)DS18B20初始化函数。

图示

(4)DS18B20写控制字函数。

图示

图示

(5)DS18B20读1位数据函数。

图示

(6)DS18B20读1个字节数据函数。

图示

图示

(7)DS18B20启动温度转换函数。

图示

(8)获取DS18B20温度数据函数。

图示

(9)lcd1602液晶写命令函数。

图示

图示

(10)lcd 1602液晶写数据函数。

图示

(11)lcd 1602液晶初始化函数。

图示

(12)DS18B20温度数据处理函数。

图示

图示

(13)温度显示函数。

图示

(14)主函数。

图示

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈