# DS18B20 常见的数字温度计芯片, 常温下误差不超过±0.5°C, 可以通过三线或双线连接进行温度监控. 支持在单线总线上长距离连接多个芯片. # 接线方式 ## 普通供电模式 普通供电模式使用的是三线连接, 电压可以选择3.3V或5V * P35 -> DQ * GND -> GND * 5V/3.3V -> VDD ## 寄生供电模式 寄生供电模式使用的是双线连接. 这时候DS18B20的GND和Vdd都要接地. DQ脚既是数据通信脚, 也是供电脚, 上位机需要在这个脚上使用上拉电阻连接到VCC上, 对于STC8, 可以通过寄存器PxPU进行设置. 需要注意的是, **并非**所有线上购买的DS18B20都能工作在寄生供电模式下, 有一些在寄生供电模式的电路下只会输出`0`, 这时候你需要通过一些额外的电路让其在双线模式下工作. * P35 -> DQ * GND -> GND -> VDD * 5V ## 模拟寄生供电模式 如果DS18B20不能在寄生供电模式下工作, 可以使用一个 0.1uF 的电容和一个1N4148二极管实现双线连接. 这时候 DS18B20 实际上工作在普通供电模式下. ``` +-----1N4148-|>|-----+ | | | |DS18B20|-VCC--+ | | | | P35 --+-DQ--|DS18B20| 0.1uF | | | GND ----GND-|DS18B20|-GND--+ ```