基于單總線數(shù)字溫度傳感器DS18B20的測溫系統(tǒng)方案
出處:thw 發(fā)布于:2013-01-23 14:55:52
摘要:設計了一種基于單總線數(shù)字溫度傳感器DS18B20的測溫系統(tǒng),給出了DS18B20傳感器特性和控制命令及時序,在Proteus環(huán)境下進行了測溫系統(tǒng)硬件設計,同時采用。Keil軟件完成了系統(tǒng)主程序、DS18B20驅(qū)動程序的設計;進行了系統(tǒng)Proteus仿真,提高了系統(tǒng)開發(fā)效率,并獲得了良好的仿真實驗結(jié)果。
關鍵詞:溫度傳感器;DS18B20;控制命令;驅(qū)動程序;Proteus仿真
0 引言
溫度是基本物理量之一,是工農(nóng)業(yè)生產(chǎn)和日常生活中經(jīng)常需要測試的重要參數(shù),溫度測量亦是應用頻率的技術(shù)之一,在糧食倉庫存儲、環(huán)境監(jiān)測、過程溫度監(jiān)測、中央空調(diào)監(jiān)測、醫(yī)學體溫檢測等領域有著廣泛應用。傳統(tǒng)的溫度檢測方式一般采用熱電偶或熱敏電阻,輸出模擬信號,經(jīng)A/D轉(zhuǎn)換后才能送入單片機處理器,檢測電路復雜。
因此,本文采用單總線智能型數(shù)字溫度傳感器DS18B20,以AT89C51單片機為處理器,進行測溫系統(tǒng)設計,在Proteus環(huán)境中進行系統(tǒng)硬件設計,并結(jié)合軟件進行了仿真,降低了開發(fā)成本,提高了開發(fā)效率。
1 DS18B20傳感器特性與控制時序
DS18B20是美國DALLAS半導體公司的單總線智能型數(shù)字溫度傳感器,它通過單總線與處理器進行數(shù)據(jù)傳輸,主要由64位ROM、溫度敏感元件、非易失性溫度告警觸發(fā)器TH和TL、配置寄存器組成。供電范圍為3.0~5.5 V;測溫范圍為-55~125℃,可根據(jù)系統(tǒng)需求通過設置配置寄存器中的R1,R0位調(diào)整為9~12位分辨率,對應的可分辨溫度和轉(zhuǎn)換時間如表1所示;每個DS18B20器件有惟一的序列號,多個DS18B20器件可接至同一個單總線上構(gòu)成多點分布式溫度測量系統(tǒng);具有極強的抗干擾糾錯能力。

DS18B20的TO-92封裝如圖1所示,針腳1為電源地線,針腳2為數(shù)據(jù)輸入/輸出線,針腳3為可選電源線。

DS18B20的單總線訪問協(xié)議由如下4個步驟構(gòu)成。
?。?)主機對DS18B20進行復位初始化,初始化時序如圖2(a)所示,主機在t1時刻在單總線上發(fā)出一持續(xù)480~960μs的低電平脈沖的復位脈沖,在t2時刻釋放單總線至少等待480μs確保應答正確,并接收采樣,DS18B20等待15~60 μs,在t3時刻發(fā)出60~240μs的低電平存在脈沖,如圖中加粗虛線所示;

(2)主機向DS18B20寫ROM操作指令,一旦檢測到總線上有從屬期間存在,主機便可發(fā)送ROM操作命令,主要包含讀ROM[33h]、匹配ROM[55h]、跳過ROM、搜索ROM、告警搜索命令;
?。?)主機向DS18B20寫RAM操作指令以啟動溫度轉(zhuǎn)換(44h)、讀暫存器(BEh)、寫暫存器(4Eh)、復制暫存器(43h)、重新調(diào)出E2(B8h)、獲取供電方式(B4h);
?。?)主機與DS18B20進行數(shù)據(jù)傳送。
寫ROM命令、RAM命令和收發(fā)數(shù)據(jù)都通過單總線傳輸,單總線通過時間片來讀寫數(shù)據(jù),每個時間片傳送1位數(shù)據(jù),分寫時間片和讀時間片。兩種時間片都必須持續(xù)短60μs,兩個時間片之間必須插入至少1μs的恢復時間,讀/寫時序如圖2(b),(c)所示。讀操作通過讀時間片控制完成,分讀“0”和讀“1”時間片;寫操作通過寫時間片控制完成,分寫“0”和寫“1”時間片。
溫度變換結(jié)束后,主機向DS18B20發(fā)送讀溫度命令(BEh),DS18B20以16位、符號擴展的二進制補碼形式發(fā)送到數(shù)據(jù)總線,低位在前,高位在后。
2 測溫系統(tǒng)硬件設計
系統(tǒng)硬件主要由單片機系統(tǒng)、DS18B20傳感器溫度采集電路、數(shù)碼管顯示驅(qū)動電路、LED報警電路組成,DS18B20采用外部電源供電方式,抗干擾性強,系統(tǒng)硬件電路如圖3所示。

3 測溫系統(tǒng)軟件設計
系統(tǒng)軟件分兩層設計,上層是應用層,負責系統(tǒng)初始化、溫度符號、百位、十位、個位、十分位數(shù)據(jù)提取,溫度異常報警等;底層負責DS18B20初始化、讀寫驅(qū)動和數(shù)據(jù)顯示驅(qū)動,DS18B20與處理器采用串行數(shù)據(jù)傳輸,在對其進行初始化、讀寫編程時,必須嚴格保證讀寫時序,否則將出現(xiàn)錯誤。
3.1 系統(tǒng)應用層主程序設計
系統(tǒng)主程序主要完成系統(tǒng)初始化,調(diào)用讀取DS18B20溫度轉(zhuǎn)換值函數(shù),溫度符號、百位、十位、個位、十分位數(shù)據(jù)的提取,溫度數(shù)據(jù)顯示,溫度異常報警等工作,系統(tǒng)主程序流程如圖4所示,當檢測到的溫度高于閾值或低于閾值時,分別采用紅燈、黃燈報警,溫度正常時綠燈點亮。

3.2 DS18B20驅(qū)動層程序設計
DS18B20溫度轉(zhuǎn)換值采用12位分辨率,總線控制器接收到16位數(shù)據(jù)后保存在2個字節(jié)的存儲單元,高字節(jié)保存的值左移8位與低字節(jié)相加,便得DS18B20溫度轉(zhuǎn)換結(jié)果,讀取溫度轉(zhuǎn)換值函數(shù)如下:

4 系統(tǒng)調(diào)試與運行結(jié)果
在單片機開發(fā)環(huán)境Keil軟件中,選擇AT89C51單片機新建項目,采用C語言編寫系統(tǒng)程序,編譯生成目標代碼HEX文件,并導入到Proteus ISIS硬件電路圖中單片機的Edit Component設置的Program File屬性中進行仿真運行,系統(tǒng)仿真實驗結(jié)果如圖5所示,數(shù)碼管左數(shù)位的“1”表示零上,第七位的“C”表示溫度單位攝氏度。

5 結(jié)語
以AT89C51單片機為處理器,在Proteus環(huán)境下完成了基于單總線數(shù)字溫度傳感器DS18B20的測溫系統(tǒng)的設計,并進行了仿真。首先給出了DS18B20傳感器特性和控制命令及時序,設計了DS18B20的檢測電路,同時采用Keil軟件完成了系統(tǒng)主程序、DS18B20驅(qū)動程序的設計;進行了系統(tǒng)Proteus仿真,降低了設計成本,提高了開發(fā)效率,并獲得了良好仿真實驗結(jié)果
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權(quán)利。
- 壓力傳感器技術(shù)特性與選型運維指南2026/1/5 10:23:00
- 工業(yè)級激光位移傳感器技術(shù)參數(shù)與選型運維指南2025/12/26 10:25:33
- 工業(yè)級壓力傳感器技術(shù)參數(shù)與選型運維指南2025/12/25 10:01:00
- 工業(yè)級溫濕度傳感器技術(shù)參數(shù)與選型運維指南2025/12/25 9:52:01
- 工業(yè)傳感器選型與信號采集抗干擾技術(shù)全解析2025/12/18 10:43:18









