DS18B20主要性质:
全数字输入/输出单总线通信结构 (只占用一个IO口,而且在这个IO口上能挂接多个DS18B20)
内部温度为12bit分辨率,精度为正负0.5℃ (注意不要将精度和分辨率混为一谈)
12位分辨率的时候转换工作周期最长为750ms (算是比较慢的外设了,设计时要考虑多任务工作的要求)
可以使用寄生电源模式(可以再省掉VCC的线,这种模式下总共只要2根线就能工作,但是对IO口有特别要求)
工作温度范围为:-55℃至+125℃(理论值,实际工作温度小于此值)
内置唯一产品序列号,方便都器件联机工作(内部序列号还可以做他用,例如:用作加密的密钥)
封装:
TO-92封装为最常用(其他我没用过- -!)
引脚位为器件扁平面朝上,引脚朝向自己,左起依次为 GND - DQ - VCC
驱动步骤模块:
1. 复位:每次对DS18B20操作都要进行复位。复位操作为MCU将DS18B20单总线拉低至少480us,拉低后MCU应当释放单总线(拉高)然后置单总线引脚为输入状态。当DS18B20收到复位信号并且MCU释放了单总线后,延迟15至60uS后会回发一个回复信号(会拉低总线60至240uS)。具体时序图见下图:
DQ为单总线引脚
DQ_INPUT为单总线引脚设置为输入模式
DQ_OUTPUT为单总线引脚设置为输出模式
DQ_READ为读单总线引脚状态
DQ_L为单总线引脚输出低
DQ_H为单总线引脚输出高
delay_us(n):微秒延迟函数,n等于几就延迟多少微秒
uint32 count;循环计数器,用以等待回复信号,无符号32位整形变量。
uint8
{
}