DS18B20的操作流程詳解
一,DS18B20的初始化
(1)先將數據線置高電平“1”。
(2)延時(該時間要求的不是很嚴格,但是盡可能的短一點)
(3)數據線拉到低電平“0”。
(4)延時750微秒(該時間的時間范圍可以從480到960微秒)。
(5)數據線拉到高電平“1”。
(6)延時等待(如果初始化成功則在15到60毫秒時間之內產生一個由DS18B20所返回的低電平“0”。據該狀態可以來確定它的存在,但是應注意不能無限的進行等待,不然會使程序進入死循環,所以要進行超時控制)。
(7)若CPU讀到了數據線上的低電平“0”后,還要做延時,其延時的時間從發出的高電平算起(第(5)步的時間算起)最少要480微秒。
(8)將數據線再次拉高到高電平“1”后結束。
二,DS18B20的寫操作
(1)數據線先置低電平“0”。
(2)延時確定的時間為15微秒。
(3)按從低位到高位的順序發送字節(一次只發送一位)。
(4)延時時間為45微秒。
(5)將數據線拉到高電平。
(6)重復上(1)到(6)的操作直到所有的字節全部發送完為止。
(7)最后將數據線拉高。
三,DS18B20的讀操作
(1)將數據線拉高“1”。
(2)延時2微秒。
(3)將數據線拉低“0”。
(4)延時15微秒。
(5)將數據線拉高“1”。
(6)延時15微秒。
(7)讀數據線的狀態得到1個狀態位,并進行數據處理。
(8)延時30微秒。
電氣工程推薦