(10)DS18B20温度传感器

DS18B20是一种数字温度传感器,使用1-Wire协议进行通信,支持-55°C到+125°C的测温范围。该传感器具有硬件简单、易扩展和抗干扰性强的特点。文章详细介绍了1-Wire总线的工作原理,包括单总线的特性、电路配置、时序结构以及相应的单片机通信函数,如发送和接收数据的实现方法,并提供了DS18B20的温度转换和读取示例。

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

DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器(如热敏电阻),具有功能强大、硬件简单、易扩展、抗干扰性强等特点

测温范围:-55°C 到 +125°C通信接口:1-Wire(单总线)

其它特征:可形成总线结构、内置温度报警功能、可寄生供电

请添加图片描述

请添加图片描述

请添加图片描述

通过DQ线对该器件进行通讯

单总线:

单总线(1-Wire BUS)是由Dallas公司开发的一种通用数据总线

一根通信线:DQ异步、半双工

单总线只需要一根通信线即可实现数据的双向传输,当采用寄生供电时,还可以省去设备的VDD线路,此时,供电加通信只需要DQ和GND两根线

单总线电路规范:

  • 设备的DQ均要配置成开漏输出模式
  • DQ添加一个上拉电阻,阻值一般为4.7KΩ左右(前两条原因同I2C多机通讯)
  • 若此总线的从机采取寄生供电,则主机还应配一个强上拉输出电路

不采用寄生供电:

请添加图片描述

采用寄生供电:

请添加图片描述

单总线时序结构:

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

ROM指令:对64 BIT ROM进行操作

功能操作:对RAM暂存器进行操作

请添加图片描述

数据帧:

请添加图片描述

请添加图片描述

sbit OneWire_DQ = P3^7;

/**
	* @brief 单总线初始化
	* @param 
	* @retval 从机应答返回0,反之返回1
	*/
unsigned char OneWire_Init(){
   
   
	unsigned char i, AckBit;
	OneWire_DQ = 1; // 初始化DQ
	OneWire_DQ = 0; // 拉低DQ
	
	i = 219; while (--i);// 主机延时481us
	
	OneWire_DQ = 1; // 主机释放总线
	
	i = 29; while (--i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值