DS18B20在空調(diào)檢測系統(tǒng)溫度采集模塊中的應(yīng)用
DS18B20溫度寄存器中的溫度值以9 bit數(shù)據(jù)格式表示,而輸出溫度則是以16 bit符號擴展的二進制補碼形式提供,其中低8 bit用補碼表示,第9 bit~16 bit為擴展符號位??照{(diào)檢測系統(tǒng)所需檢測的溫度值均在0 ℃以上,這樣,只需讀取緩存9個字節(jié)的前兩個字節(jié)即可。
2.2 DS18B20硬件連接
DS18B20器件都有一個唯一的64 bit ROM地址,通過協(xié)議就能識別這些序列號,這樣多個DS18B20可以掛接在同一條單總線上,構(gòu)成多點溫度采集網(wǎng)絡(luò)。由于DS18B20具有“單總線”的技術(shù)特點,因此可以采用兩種不同的方式連接單片機。
(1)單端口并聯(lián)連接:所有DS18B20均連接在同一條總線上,然后再連接到單片機的某個I/O端口。這種連接方式具有硬件開銷小的優(yōu)點,理論上一根總線可以掛接256個DS18B20,但若連接的數(shù)字傳感器數(shù)量較多,單片機需要花較多的時間才能獲得每個傳感器的序列號,會降低系統(tǒng)的實時性,同時使得軟件編程變得復(fù)雜。
(2)多端口并行連接:每個DS18B20獨占單片機某個I/O端口。這種并行連接方式使得單片機能夠?qū)λ械臄?shù)字傳感器進行并行操作,同一時間能實現(xiàn)多個輸入輸出,實現(xiàn)對溫度數(shù)據(jù)的快速讀取,從而提高系統(tǒng)的實時性,同時也使得軟件編程變得簡單,縮短了項目的開發(fā)周期。這種連接方式的缺點是硬件開銷比較大。
根據(jù)空調(diào)檢測系統(tǒng)的實際需要,系統(tǒng)使用16片DS18B20構(gòu)成小型溫度數(shù)據(jù)采集網(wǎng)絡(luò),結(jié)合單端口并聯(lián)連接和多端口并行連接的連接特點,每個I/O端口連接兩片DS18B20,共使用8個I/O端口,單片機與16片DS18B20連接框圖如圖2所示。DS18B20芯片的DQ端和單片機的I/O端口相連,并接上一個4.3 kΩ的上拉電阻,芯片的GND端接地線, VDD端接5 V電源線。AT89S52是一種低功耗、高性能CMOS 8 bit微控制器,具有8 KB Flash,256 B RAM,32 bit I/O口線,3個16 bit定時器/計數(shù)器,其資源性能可以滿足空調(diào)檢測系統(tǒng)溫度采集的需要。 單片機需要通過接口電路實現(xiàn)與DS18B20的連接,接口電路圖如圖3所示。J1是接線端子臺, DS18B20通過三芯電纜連接到J1;二極管IN4148實現(xiàn)電壓鉗位;RWDS1和單片機AT89S52的一個I/O端口相連;16片DS18B20通過J1~J8與溫度采集模塊連接。 3 程序設(shè)計
3.1 DS18B20溫度采集
DS18B20溫度采集基本流程:單片機發(fā)出復(fù)位脈沖,當(dāng)信號線上的DS18B20發(fā)出存在脈沖后,即完成DS18B20的初始化工作;單片機檢測到存在脈沖,便發(fā)起ROM操作命令;發(fā)送內(nèi)存操作指令,啟動DS18B20溫度轉(zhuǎn)換;延時2 μs等待溫度轉(zhuǎn)換完成;發(fā)出匹配ROM命令后緊接著發(fā)送片內(nèi)ROM序列號;讀取序列號對應(yīng)的DS18B20暫存器,從而讀出溫度值;讀完一個DS18B20溫度值后,接著轉(zhuǎn)向下一個DS18B20的操作。這樣的操作循環(huán)進行,從而完成對所有DS18B20溫度值的讀取。溫度采集基本流程圖[1]如圖4所示。 溫濕度控制器相關(guān)文章:溫濕度控制器原理 熱電偶相關(guān)文章:熱電偶原理
評論