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