基于單總線(xiàn)數字溫度傳感器DS18B20的測溫系統設計
DS18B20的單總線(xiàn)訪(fǎng)問(wèn)協(xié)議由如下4個(gè)步驟構成。
(1)主機對DS18B20進(jìn)行復位初始化,初始化時(shí)序如圖2(a)所示,主機在t1時(shí)刻在單總線(xiàn)上發(fā)出一持續480~960μs的低電平脈沖的復位脈沖,在t2時(shí)刻釋放單總線(xiàn)至少等待480μs確保應答正確,并接收采樣,DS18B20等待15~60 μs,在t3時(shí)刻發(fā)出60~240μs的低電平存在脈沖,如圖中加粗虛線(xiàn)所示;本文引用地址:http://dyxdggzs.com/article/159549.htm
(2)主機向DS18B20寫(xiě)ROM操作指令,一旦檢測到總線(xiàn)上有從屬期間存在,主機便可發(fā)送ROM操作命令,主要包含讀ROM[33h]、匹配ROM[55h]、跳過(guò)ROM、搜索ROM、告警搜索命令;
(3)主機向DS18B20寫(xiě)RAM操作指令以啟動(dòng)溫度轉換(44h)、讀暫存器(BEh)、寫(xiě)暫存器(4Eh)、復制暫存器(43h)、重新調出E2(B8h)、獲取供電方式(B4h);
(4)主機與DS18B20進(jìn)行數據傳送。
寫(xiě)ROM命令、RAM命令和收發(fā)數據都通過(guò)單總線(xiàn)傳輸,單總線(xiàn)通過(guò)時(shí)間片來(lái)讀寫(xiě)數據,每個(gè)時(shí)間片傳送1位數據,分寫(xiě)時(shí)間片和讀時(shí)間片。兩種時(shí)間片都必須持續最短60μs,兩個(gè)時(shí)間片之間必須插入至少1μs的恢復時(shí)間,讀/寫(xiě)時(shí)序如圖2(b),(c)所示。讀操作通過(guò)讀時(shí)間片控制完成,分讀“0”和讀“1”時(shí)間片;寫(xiě)操作通過(guò)寫(xiě)時(shí)間片控制完成,分寫(xiě)“0”和寫(xiě)“1”時(shí)間片。
溫度變換結束后,主機向DS18B20發(fā)送讀溫度命令(BEh),DS18B20以16位、符號擴展的二進(jìn)制補碼形式發(fā)送到數據總線(xiàn),低位在前,高位在后。
2 測溫系統硬件設計
系統硬件主要由單片機最小系統、DS18B20傳感器溫度采集電路、數碼管顯示驅動(dòng)電路、LED報警電路組成,DS18B20采用外部電源供電方式,抗干擾性強,系統硬件電路如圖3所示。
3 測溫系統軟件設計
系統軟件分兩層設計,上層是應用層,負責系統初始化、溫度符號、百位、十位、個(gè)位、十分位數據提取,溫度異常報警等;底層負責DS18B20初始化、讀寫(xiě)驅動(dòng)和數據顯示驅動(dòng),DS18B20與處理器采用串行數據傳輸,在對其進(jìn)行初始化、讀寫(xiě)編程時(shí),必須嚴格保證讀寫(xiě)時(shí)序,否則將出現錯誤。
51單片機相關(guān)文章:51單片機教程
熱電偶相關(guān)文章:熱電偶原理
評論