DS18B20的硬件連接及軟件編程_第1頁
DS18B20的硬件連接及軟件編程_第2頁
DS18B20的硬件連接及軟件編程_第3頁
DS18B20的硬件連接及軟件編程_第4頁
DS18B20的硬件連接及軟件編程_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、DS18B20的硬件連接及軟件編程 周月霞孫傳海 摘要:DS18B20是一種可組網(wǎng)數(shù)字式溫度傳感器,根據(jù)單總線獨(dú)特的優(yōu)點(diǎn),它可以使用戶 輕松的組建傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測量電路變得簡單、可靠。本文主要介紹了 DS18B20的硬件連接及軟件編程。關(guān)鍵詞:DS18B20、可組網(wǎng)數(shù)字式溫度傳感器一、刖言集成式數(shù)字溫度傳感器DS1820的出現(xiàn)開辟了溫度傳感器技術(shù)的新領(lǐng)域,它利用單總線的特 點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測量。而可組網(wǎng)數(shù)字式溫度傳感器DS18B20則是DS1820的 更新產(chǎn)品,它在電壓、特性及封裝方面都具有優(yōu)勢,給了用戶更多的選擇,讓用戶可以更方 便的構(gòu)建適合自己的測溫系統(tǒng)。DS18B2

2、0充分利用了單總線的獨(dú)特特點(diǎn),可以輕松的組建 傳感器網(wǎng)絡(luò),提高系統(tǒng)的抗干擾性,使系統(tǒng)設(shè)計更靈活、方便,而且適合于在惡劣的環(huán)境 下進(jìn)行現(xiàn)場溫度測量。二、DS18B20 簡介GHD地D 浪施軸7輸由可選電源HC園m ncIS182O F E叮|O1b | ireT i;HB(b)頸e濮DS1SB2O的苜腳排列DS18B20是美國DALLAS公司最新推出的一 種可組網(wǎng)數(shù)字式溫度傳感器,與DS1820相同, DS18B20也能夠直接讀取被測物體的溫度值。 但是與DS1820相比,DS18B20的功能更強(qiáng)大 些。它體積小,電壓適用范圍寬(3V5V), 用戶還可以通過編程實(shí)現(xiàn)912位的溫度讀 數(shù),即具有可

3、調(diào)的溫度分辨率,因此它的實(shí)用 性和可靠性比同類產(chǎn)品更高。另外,DS18B20 有多種封裝可選,如TO-92、SOIC及CSP封 裝。圖1即為DS18B20的管腳排列圖。 由圖1可見,DS18B20只有一個數(shù)據(jù)輸入/輸 出口,屬于單總線專用芯片之一。DS18B20 工作時被測溫度值直接以“單總線”的數(shù)字方 式傳輸,大大提高了系統(tǒng)的抗干擾能力。其內(nèi) 部采用在板溫度測量專利技術(shù),測量范圍為 -55C+125C,在-10C+85C時,精度為 0.5C。每個DS18B20在出廠時都已具有唯 一的64位序列號,因此一條總線上可以同時 掛接多個DS18B20,而不會出現(xiàn)混亂現(xiàn)象。 另外用戶還可自設(shè)定非易失性

4、溫度報警上下 限值TH和TL (掉電后依然保存)。DS18B20 在完成溫度變換后,所測溫度值將自動與貯存 在TH和TL內(nèi)的觸發(fā)值相比較,如果測溫結(jié) 果高于TH或低于TL,DS18B20內(nèi)部的告警 標(biāo)志就會被置位,表示溫值超出了測量范圍, 同時還有報警搜索命令識別出溫度超限的 DS18B20O 圖2為DS18B20的內(nèi)部存儲器結(jié)構(gòu)圖,它包 括一個暫存RAM和一個非易失性電可擦除 (E2) RAMo其中暫存存儲器作用是在單線通信時確保數(shù) 據(jù)的完整性,它包括8個字節(jié),頭兩個字節(jié)表 示測得的溫度讀數(shù),數(shù)據(jù)格式如下:23222122-12-22-32-4MSB (單位:C) LSBSSSSS26252

5、4S=1時表示溫度為負(fù),S=0時表示溫度為正,其余低位以二進(jìn)制補(bǔ)碼形式表示,最低位為1 時表示0.0625C。溫度/數(shù)字對應(yīng)關(guān)系如表1所示。DS18B20內(nèi)部暫存存儲器的第5個字節(jié)是結(jié)構(gòu)寄存器,它主要用于確定溫度值的數(shù)字轉(zhuǎn)換 分辨率。字節(jié)結(jié)構(gòu)如下:0R1R011111MSBLSB其中R1、R0用于設(shè)置分辨率,如表2所示。三、DS18B20的硬件連接(以51單片機(jī)為例)DS18B20與單片機(jī)的接口極其簡單,只需將DS18B20的信號線與單片機(jī)的一位雙向端口相 連即可。如圖3(a)所示。此時應(yīng)注意將VDD、DQ、GND三線焊接牢固。另外也可用兩個端口,即 接收口與發(fā)送口分開,這樣讀寫操作就分開了,

6、不會出現(xiàn)信號競爭的問題。如圖3(b)所示。此圖是采用寄生電源方式,將DS18B20的VDD與GND接在一起。如若 VDD脫開未接好,傳感器將只送+85.0 0的溫度值。一般測溫電纜線采用屏蔽4芯雙絞線,其中一對接地線與信號線,另一對接VDD和地線, 屏蔽層在源端單點(diǎn)接地。表1 DS18B20溫度/數(shù)據(jù)對應(yīng)關(guān)系表溫度(。輸出的二進(jìn)制碼對應(yīng)的十六進(jìn)制碼+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H10.1250000 0000 1010 001000A2H0.50000

7、0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90H表2 DS18B20分辨率設(shè)置表R1R0溫度分辨率最大轉(zhuǎn)換時 間009位93.75ms0110位187.5ms1011位375ms12位750ms四、DS18B20軟件編程1、DS18B20的工作過程DS18B20的工作遵循嚴(yán)格的單總線協(xié)議。主機(jī)首先發(fā)一復(fù)位脈沖,使信號線上所

8、有的DS18B20芯片都被復(fù)位,接著發(fā)送ROM操作命令,使序列號編碼匹配的DS18B20被激活,準(zhǔn)備接收下面的內(nèi)存訪問命令。內(nèi)存訪問命令控制選中的DS18B20的工作狀態(tài),完成整個 溫度轉(zhuǎn)換、讀取等工作(單總線在ROM命令發(fā)送之前存儲命令和控制命令不起作用)。其工作流程圖如圖4所示。在對DS18B20進(jìn)行操作的整個過程中,主要包括三個關(guān)鍵過程: 主機(jī)搜索DS18B20序列號、啟動在線DS18B20作溫度轉(zhuǎn)換、讀取在線DS18B20溫度值。其中主機(jī)啟動溫度轉(zhuǎn)換并讀取溫度值的流程圖如圖5所示。+5VDS18E20DS18E20DS18E2080510三筋制方式8051P1.1DS18E20DS18

9、E20DS18E20(b)寄生電證方式 圖3 DS18B20軟件蝙程工作中系統(tǒng)對DS18B20的操作以ROM命令和存儲器命令形式出現(xiàn)。其中ROM操作命令均 為8位長,命令代碼分別為:讀ROM(33H)、匹配ROM(55H)、跳過ROM(CCH)、搜 索ROM(F0H)和告警搜索(ECH)命令。存儲器操作命令為:寫暫存存儲器(4EH)、 讀暫存存儲器(BEH)、復(fù)制暫存存儲器(48H)、溫度變換(44H)、重新調(diào)出EERAM(B8H) 和讀電源供電方式(B4H)命令。2、工作時序由于DS18B20的測溫分辨率提高了( 12位),因此對時序及電特性參數(shù)要求較高,必須嚴(yán) 格按照DS18B20的時序要

10、求去操作。與DS1820相同,DS18B20數(shù)據(jù)的讀寫也是由主機(jī)讀 寫特定時間片來完成的,包括初始化、讀時間片和寫時間片。主機(jī)控制DS18B20完成任何操作之前必須先初始化,即主機(jī)發(fā)一復(fù)位脈沖(最短為480ms 的低電平),接著主機(jī)釋放總線進(jìn)入接收狀態(tài),DS18B20在檢測到I/O引腳上的上升沿之后, 等待1560ms然后發(fā)出存在脈沖(60240ms的低電平)。時序圖如圖6所示。讀/寫時間片:寫時間片:將數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生寫起始信號。在15ms之內(nèi)將所需寫的位送 到數(shù)據(jù)線上,在15ms到60ms之間對數(shù)據(jù)線進(jìn)行采樣,如果采樣為高電平,就寫1,如果 為低電平,寫0就發(fā)生。在開始另一個

11、寫周期前必須有1ms以上的高電平恢復(fù)期。時序圖 如圖7所示。讀時間片:主機(jī)將數(shù)據(jù)線從高電平拉至低電平1ms以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn) 生讀起始信號。主機(jī)在讀時間片下降沿之后15ms內(nèi)完成讀位。每個讀周期最短的持續(xù)期為 60ms,各個讀周期之間也必須有1ms以上的高電平恢復(fù)期。時序圖如圖7所示。3、基本子程序設(shè)計 DS18B20三個基 本子程序?yàn)椋?DS18B20初始化 程序、讀DS18B20 子程序、寫 DS18B20子程序。 分別設(shè)計如下:(1) DS18B20 的 初始化子程序(PSW.5=1 表示 DS18B20 PSW.5=0 存在) RESET :存在,表示不CLRP1.0

12、;發(fā)送復(fù)位脈 沖MOV R7,#32 ;延 時 500msLCALL DELAY15 SETB P1.0MOV R7,#4 ;等 待 60msLCALL DELAY15 CLR PSW.5 ; PSW.5=0JB P1.0,RET1 ; P1.0=1不存在,跳 轉(zhuǎn)SETB PSW.5 ;存 在 DS18B20 MOV R7,#28 LCALL DELAY15 RET1: RET 延時子程序(fOSC=12MHz) DELAY15: R6,#6 DEL151: R6,DEL151 DJNZ R7,DELAY15 ;延 時 R7*15 msRETMOVDJNZ(2)DS18B20 的讀子程序 RD

13、1820: CLR CMOV R1 ,#9MOV R0 , #TEMPLSB RD18201 : MOV R2 ,#8 RD18202 : SETB P1.0 NOPNOPCLR P1.0 ; 產(chǎn)生讀信號NOP NOP SETB P1.0 ; 準(zhǔn)備輸入數(shù)據(jù)MOV R7,#1 LCALL主Hl寫(f時暉DELAY15圖7讀寫時序圖DS蜓的采怦 MNTYPMiK況卜DS18B20 罪忤MIN TYPMAyRRC ARRC ADJNZ R2, RD18202 ;判一個字節(jié)是否讀完MOVX R0, A ;保存結(jié)果INC R0DJNZ R1,RD18201 ;判9個字節(jié)是否讀完RET(3)DS18B20的寫子程序WR1820: C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論