DS18B20数字温度计学习

DS18B20是一种电压范围宽、支持单线通信的数字温度传感器,具备多点组网功能,适用于各种温度测量场景。其内部集成了传感器和转换电路,提供0.5℃至0.0625℃的可编程分辨率,并能直接输出数字温度信号。传感器还拥有负压保护和CRC校验增强抗干扰能力。在工作流程中,包括初始化、执行ROM指令和功能指令等步骤,确保准确和高效的数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DS18B20简介

特点:

1.电压范围宽,为3——5.5V;

2.单线接口方式,DS18B20与微处理器连接仅需要一条口线即可实现双向通信;

3.支持多点组网功能,多个DS18B20可以并联在唯一的三线上;

4.使用中无需外围原件,全部传感器及转换电路集成在形如一只三极管的集成电路里;

5.温度测量范围为-55~+125℃,在-10~+85℃时精度为±0.5℃;

6.可编程的分辨率为9~12位,分别对应0.5,0.25,0.125,0.0625℃;

7.在9位分辨率时最多93.75ms把温度转化成数字,在12位时最多在750ms把温度转化成数字;

8.测量结果直接输出数字温度信号,以一根总线串行传送给CPU,同时可传送CRC校验码,抗干扰能力强;

9.负压特性:电源极性接反时,芯片不会因为发热而烧毁,但不能正常工作。

结构:

1.64位光刻只读存储器,包含8位系列码,48位序列号,8位CRC,光刻CRC使每个DS18B20各不相同,可以实现一根总线上挂接多个DS18B20。

2.温度的转换规则:BS18B20的核心功能是可以直接读出数字的温度数值,其精度是用户可编程的。在上电状态下默认的精度为12位。如果温度为正,高字节的前五位为0,如果温度为负,高字节的前五位为1,实际温度需要取反码计算。

DS18B20启动后保持低功耗等待状态,当总线控制器发出44H的命令后,执行温度测量和AD转换的操作,结束转换操作后,产生的温度数据以两个字节的形式存储在高速缓存存储器的温度寄存器章,DS18B20保持等待的状态。

高速暂存器的字节组成

 

3.温度传感器的存储器:包括一个高度的暂存器RAM和一个EEPROM,后者存放了高温度和低温度触发器TH,TL和配置寄存器。

4.配置寄存器:为存储器的第四位,通过设定R0和R1位来设定精度,上电时默认为12位的精度。

暂存器的位7和0~4位被器件保留,禁止写入。

DS18B20的工作步骤

1.DS18B20初始化

2.执行ROM指令

3.执行DS18B20的功能指令

1.DS18B20初始化

1.数据线拉低。

2.延时480us(480—960us)。

3.数据线拉高。

4.延时约80us,若初始化成功,那么会在15—60us内产生一个由DS18B20返回的低电平0(在这段时间内可以进行超时判断)。

5.CPU读到数据线上的低电平,延时一段时间。

(步骤3到步骤5至少需要480us)

2.DS18B20写时序(CPU往DS18B20中写字节)

1.数据线先置低电平。

2.延时15us。

3.从低到高发送数据。

4.延时60us。

5.数据线拉到高电平。

6.重复1—5步骤,直到一个字节发送完成。

7.数据线拉高。

 

3.DS18B20读时序(CPU从DS18B20中读取字节)

1.将数据线拉低

2.延时1us。

3.将数据线拉高,释放总线准备读数据

4.延时10us。

5.读数据线一个状态位,处理数据。

6.延时45us。

(重复1—7步骤,直到一个字节被读完) 

 ROM指令

RAM指令

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值