(1) 先将数据线置高电平“1” 。(2) 延时(该时间要求的不是很严格,但是尽量可能短一点)(3) 数据线拉到低电平“0” 。(4) 延时 750 微妙(该时间范围可以从 480 到 960 微秒)(5) 数据线拉到高电平“1” 。(6) 延时等待。如果初始化成功则在 15 到 60 微秒时间之内产生一个由 DS18B20 所返回的低电平“0” 。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时判断。(7) 若 CPU 读到了数据线上的低电平“0”后,还要做延时,起延时的时间从发出的高电平算起(第(5)步的时间算起)最少要 480 微秒。(8) 将数据线再次拉高到高电平“1”后结束。(1) 数据线先置低电平“0” 。(2) 延时确定的时间为 15 微秒。(3) 按从低位到高位的顺序发送数据(一次只发送一位) 。(4) 延时时间为 45 微秒。(5) 将数据线拉高到高电平。(6) 重复上 15 步骤,知道发送完整个字节。(7) 最后将数据线拉高。(1) 将数据线拉高“1” 。(2) 延时 2 微秒。(3) 将数据线拉低“0” 。(4) 延时 6 微秒。(5) 将数据线拉高“1” 。(6) 延时 4 微秒。(7) 读数据线的状态得到 1 个状态位,并进行数据处理。(8) 延时 30 微秒。(9) 重复 17 步骤,直到读取完一个字节。