1.復位
主機傳送480us-960us的低電平,然後設定埠為高電平,釋放匯流排。
溫度感測器接收到復位訊號,等待15-60us,拉低匯流排,發出60-240us的復位應答脈衝。
主機讀取匯流排電平是否為低,如果為低,則判定溫度感測器復位。
2.讀1bit資料
主機產生乙個下降沿,低電平維持至少1us,之後釋放匯流排為高電平,讓ds18b20把資料傳輸到單匯流排上。
ds18b20在檢測到匯流排被拉低1微秒後,開始傳送資料,若是0就把匯流排拉為低電平直到讀週期結束;
若是1則釋放匯流排為高電平。
主機在一開始拉低匯流排1us後釋放匯流排,然後在包括前面的拉低匯流排電平1us在內的15us時間內完成對
匯流排進行取樣檢測,取樣期內匯流排為低電平則確認為0,取樣期內匯流排為高電平則確認為1,完成乙個讀時序過程,
至少需要60μs才能完成。
兩次讀之間間隔至少1us。
3.寫1bit資料
寫週期60-120us,主機先把匯流排拉低1us表示寫週期開始,隨後若主機寫0,則繼續拉低電平最少60us直至
寫週期結束,然後釋放匯流排為高電平;若主機寫1,在一開始拉低匯流排電平1us後就釋放匯流排為高電平,一直到寫週期結束。
從機的ds18b20則在檢測到匯流排被拉低後等待15us,然後從15μs到45μs開始對匯流排取樣,在取樣期內匯流排為高電平則為1,
若取樣期內匯流排為低電平則為0。
兩次寫之間至少間隔1us。
4.讀取id
功能碼 0x33(僅僅在匯流排上只有乙個感測器時使用)
復位-傳送0x33-讀取8位元組id id=族系碼1+序列號6+crc1
5.獲取溫度資料
復位->傳送0xcc(跳過rom)->傳送0x44(啟動溫度轉換)->等待至少750ms轉換完畢
復位->傳送0xcc(跳過rom)->傳送0xbe(讀取溫度暫存器)->低8位在前,高8位在後->轉換為實際溫度值
溫度感測器 DS18B20
1.實物圖 2.64位 激 光刻唯讀儲存器 開始8位 28h 是產品型別標號,接著的48位是該ds18b20自身的序列號,最後8位是前面56位的迴圈冗餘校驗碼 光刻rom的作用是使每乙個ds18b20都各不相同,這樣就可以實現一根匯流排上掛接多個ds18b20的目的 3.溫度暫存器 高位元組的前5位...
溫度感測器DS18B20使用
因為乙個專案用到了ds18b20溫度感測器,剛開始使用之處,第一次對單線感測器進行控制,毫無經驗,也是碰了一頭灰,摔了一些坑。總結一下使用心得。ds18b20是單線數位化溫度感測器。溫度採集的控制介面為1位,通過該位可進行溫度資料的讀取,以及9 12位解析度的設定,對應的精度為0.5 c 0.016...
DS18B20溫度感測器程式設計
本程式對應的開發板為藍橋杯嵌入式開發板stm32f103rbt6,為中型mcu。ds18b20是單線介面數字溫度感測器,具體特徵如下圖。ds18b20包括寄生電源電路 64位rom和單線介面電路 暫存器 eeprom 8位crc生成器和溫度感測器等。寄生電源電路可以實現外部電源供電和單線寄生供電,6...