DS18B20,是一款强大的测温传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点,所以是开发中必不可少的一个芯片,为了方便大家上手
DS18B20温度传感器是DALLAS公司生产的1-wire式单总线器件,具有线路简单,体积小的特点,用它组成的温度测量系统线路非常简单,只要求一个端口即可实现通信。温度测量范围在-55℃~+125℃之间,分辨率可以从9~12位选择,内部还有温度上、下限报警设置。每个DS18B20芯片都有唯一的序列号,所以可以利用多个DS18B20同时连接在同一条总线上,组成多点测温系统。但最多只能连接8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。

根据 DS18B20 的通讯协议,主机(单片机)控制 DS18B20 完成温度转换必须经过三个步骤:每一次读写之前都要对 DS18B20 进行复位操作,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 微秒,然后释放,当 DS18B20 收到信号后等待 16~60 微秒左右,后发出 60~240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。
(1) 先将数据线 DQ 置高电平“1”。
(2) 延时(该时间要求的不是很严格,但是尽可能的短一点)
(3) 数据线拉到低电平“0”。
(4) 延时 750 微秒(该时间的时间范围可以从 480 到 960 微秒)。
(5) 数据线拉到高电平“1”。
(6) 延时等待(如果初始化成功则在 15 到 60 微妙时间之内产生一个由 DS18B20 所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。
(7) 若 CPU 读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要 480 微秒。
(8) 将数据线再次拉高到高电平“1”后结束。
uchar Init_DS18B20()
{
uchar status; //status 为 DS18B20 返回的状态
DQ = 1;
Delay(8);
DQ = 0;
Delay(90);
DQ = 1;
Delay(8);
status=DQ;
Delay(100);
DQ = 1;
return status;
}
如下图所示:DQ 通过 4.7K 上拉电阻外接正电源(由于单总线为开漏所以需要外接一个 4.7K 的上拉电阻),并连接单片机 P3.3 口。
本例中,1602LCD 显示 DS18B20 所测量的外部温度,调节 DS18B20 模拟改变外界温度时,新的温度将刷新显示在 LCD 上

转向辅助灯和自动转向灯的对比 各有何作用
时间:2026-03-16
浅谈接近与环境光强度数字传感器-APDS9930
时间:2026-03-16
详解DHT11数字温湿度传感器实验
时间:2026-03-16
详解Arduino GY-30数字光强传感器应用
时间:2026-03-16
浅析数字传感器的现在与未来
时间:2026-03-16
浅析CC2530下ZigBee协议栈中添加BH1750数字...
时间:2026-03-16
自动大灯远近光原理 自动大灯正确使用方法
时间:2026-03-16
热电偶为什么要冷端补偿
时间:2026-03-16
ZMOD4410总挥发性有机物和室内空气质量传感...
时间:2026-03-16
矽睿科技完成B轮融资 成立新一届董事会
时间:2026-03-16
玻璃釉电容器的结构与特点
时间:2026-03-05
电阻的标称阻值和允许偏差
时间:2026-03-05
石英灯电子变压器电路原理
时间:2026-03-06
变压器并列运行的条件浅析
时间:2026-03-06
关于STM32WL LSE 添加反馈电阻后无法起振的...
时间:2026-03-05
可调电阻怎么接线
时间:2026-03-05
压敏电阻有正负极吗
时间:2026-03-05
碳膜电阻如何识别_金属膜电阻器和碳膜电阻器...
时间:2026-03-05
晶体三极管放大电路的非线形失真及其解决办...
时间:2026-03-07
怎样测试三极管的好坏,NPN三极管如何知道是...
时间:2026-03-07