S18B20六条控制命令

S18B20有六条控制命令,如表4.1所示:

 指 令    约定代码     操 作 说 明 

温度转换    44H   启动DS18B20进行温度转换 

读暂存器   BEH   读暂存器9字节二进制数字 

写暂存器    4EH   将数据写入暂存器的TH、TL字节 

复制暂存器  48H  把暂存器的TH、TL字节写到E2PROM中 

重新调E2PROM  B8H   把E2PROM中的TH、TL字节写到暂存器TH、TL字节 

读电源供电方式  B4H   启动DS18B20发送电源供电方式的信号给主CPU 

初始化 

(1) 先将数据线置高电平“1”。 

(2) 延时(该时间要求的不是很严格,但是尽可能的短一点) 

(3) 数据线拉到低电平“0”。 

(4) 延时750微秒(该时间的时间范围可以从480到960微秒)。

(5) 数据线拉到高电平“1”。 

(6) 延时等待(如果初始化成功则在15到60微秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 

(7) 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 

(8) 将数据线再次拉高到高电平“1”后结束。 其时序如图4.13所示: 图4.13 初始化时序图 

写操作 

(1) 数据线先置低电平“0”。 

(2) 延时确定的时间为15微秒。 

(3) 按从低位到高位的顺序发送字节(一次只发送一位)。 

(4) 延时时间为45微秒。 

(5) 将数据线拉到高电平。 

(6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。 

(7) 最后将数据线拉高。 

DS18B20的写操作时序图如图4.14所示。 图4.14 DS18B20的写操作时序图 

读操作 

(1)将数据线拉高“1”。 

(2)延时2微秒。 

(3)将数据线拉低“0”。 

(4)延时3微秒。 

(5)将数据线拉高“1”。 (6)延时5微秒。 

(7)读数据线的状态得到1个状态位,并进行数据处理。

 (8)延时60微秒。 


你可能感兴趣的:(单片机)