




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、溫度傳感器:DS18B20是DALLAS公司生產的一線式數字溫度傳感器,具有3引腳TO92小體積封裝形式;溫度測量范圍為55125,可編程為9位12位A/D轉換精度,測溫分辨率可達0.0625,被測溫度用符號擴展的16位數字量方式串行輸出;其工作電源既可在遠端引入,也可采用寄生電源方式產生;多個DS18B20可以并聯到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。以上特點使DS18B20非常適用于遠距離多點溫度檢測系統。 2 DS18B20的內部結構 DS18B20內部結構如圖1所示,主要由4部分組成:64位ROM、溫度傳
2、感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。DS18B20的管腳排列如圖2所示,DQ為數字信號輸入輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地,見圖4)。 ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B20的64位序列號均不相同。64位ROM的排的循環冗余校驗碼(CRC=X8X5X41)。ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。圖1 DS18B20的內部結構圖2DS18B20的管腳排列DS18B20中的溫度傳感器完成對溫度的測量,用16位符號
3、擴展的二進制補碼讀數形式提供,以0.0625/LSB形式表達,其中S為符號位。例如125的數字輸出為07D0H,25.0625的數字輸出為0191H,25.0625的數字輸出為FF6FH,55的數字輸出為FC90H。 溫度值高字節 高低溫報警觸發器TH和TL、配置寄存器均由一個字節的EEPROM組成,使用一個存儲器功能命令可對TH、TL或配置寄存器寫入。其中配置寄存器的格式如下: R1、R0決定溫度轉換的精度位數:R1R0=“00”,9位精度,最大轉換時間為93.75ms;R1R0=“01”,10位精度,最大轉換時間為187.5ms;R1R0=“10”,11位精度,最大轉換時間為375ms;R
4、1R0=“11”,12位精度,最大轉換時間為750ms;未編程時默認為12位精度。 高速暫存器是一個9字節的存儲器。開始兩個字節包含被測溫度的數字量信息;第3、4、5字節分別是TH、TL、配置寄存器的臨時拷貝,每一次上電復位時被刷新;第6、7、8字節未用,表現為全邏輯1;第9字節讀出的是前面所有8個字節的CRC碼,可用來保證通信正確。 3 DS18B20的工作時序 DS18B20的一線工作協議流程是:初始化ROM操作指令存儲器操作指令數據傳輸。其工作時序包括初始化時序、寫時序和讀時序,如圖3(a)(b)(c)所示。 (a)初始化時序(c)讀時序 圖3DS18B20的工作時序圖4 DS18B20
5、與單片機的典型接口設計 圖4以MCS51系列單片機為例,畫出了DS18B20與微處理器的典型連接。圖4(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地,圖4(b)中DS18B20采用外接電源方式,其VDD端用3V5.5V電源供電。 a)寄生電源工作方式 (b)外接電源工作方式 圖4DS18B20與微處理器的典型連接圖假設單片機系統所用的晶振頻率為12MHz,根據DS18B20的初始化時序、寫時序和讀時序,分別編寫了3個子程序:INIT為初始化子程序,WRITE為寫(命令或數據)子程序,READ為讀數據子程序,所有的數據讀寫均由最低位開始。 DATEQUP1.0 INIT:CLR
6、EA INI10:SETBDAT MOVR2,200 INI11:CLRDAT DJNZR2,INI11;主機發復位脈沖持續3s×200=600s SETBDAT;主機釋放總線,口線改為輸入 MOVR2,30 IN12:DJNZR2,INI12;DS18B20等待2s×30=60s CLRC ORLC,DAT;DS18B20數據線變低(存在脈沖)嗎? JCINI10;DS18B20未準備好,重新初始化 MOVR6,80 INI13:ORLC,DAT JCINI14;DS18B20數據線變高,初始化成功 DJNZR6,INI13;數據線低電平可持續3s×80=240
7、s SJMPINI10;初始化失敗,重來 INI14:MOVR2,240 IN15:DJNZR2,INI15;DS18B20應答最少2s×240=480s RET ; WRITE:CLREA MOVR3,8;循環8次,寫一個字節 WR11:SETBDAT MOVR4,8 RRCA;寫入位從A中移到CY CLRDAT WR12:DJNZR4,WR12 ;等待16s MOVDAT,C;命令字按位依次送給DS18B20 MOVR4,20 WR13:DJNZR4,WR13 ;保證寫過程持續60s DJNZR3,WR11 ;未送完一個字節繼續 SETBDAT RET ; READ:CLREA
8、MOVR6,8;循環8次,讀一個字節 RD11:CLRDAT MOVR4,4 NOP;低電平持續2s SETBDAT;口線設為輸入 RD12:DJNZR4,RD12 ;等待8s MOVC,DAT ;主機按位依次讀入DS18B20的數據 RRCA;讀取的數據移入A MOVR5,30 RD13:DJNZR5,RD13 ;保證讀過程持續60s DJNZR6,RD11 ;讀完一個字節的數據,存入A中 SETBDAT RET ; 主機控制DS18B20完成溫度轉換必須經過三個步驟:初始化、ROM操作指令、存儲器操作指令。必須先啟動DS18B20開始轉換,再讀出溫度轉換值。假設一線僅掛接一個芯片,使用默認
9、的12位轉換精度,外接供電電源,可寫出完成一次轉換并讀取溫度值子程序GETWD。 GETWD:LCALLINIT MOVA,0CCH LCALLWRITE;發跳過ROM命令 MOVA,44H LCALLWRITE;發啟動轉換命令 LCALLINIT MOVA,0CCH;發跳過ROM命令 LCALLWRITE MOVA,0BEH;發讀存儲器命令 LCALLWRITE LCALLREAD MOVWDLSB,A ;溫度值低位字節送WDLSB LCALLREAD MOVWDMSB,A ;溫度值高位字節送WDMSB RET 子程序GETWD讀取的溫度值高位字節送WDMSB單元,低位字節送WDLSB單元,再按照溫度值字節的表示格式及其符號位,經過簡單的變換即可得到實際溫度值。 如果一線上掛接多個DS18B20、采用寄生電源連接方式、需要進行轉換精度配置、高低
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年成都市第十六幼兒園教師招聘考試真題
- 2023年度浙江樹人大學單招《語文》自我提分評估附完整答案詳解【奪冠】
- 學校復學消毒培訓課件
- 腎盂輸尿管成型術后護理
- 五年級數學(小數乘除法)計算題專項練習及答案
- 人教歷史2025高考一輪基礎:選擇習題(6)含答案
- 2025幼兒園教研工作總結
- 重慶2024行測筆試真題及答案
- 2024年黑龍江工商學院輔導員考試真題
- 2025贛西科技職業學院單招《職業適應性測試》模擬試題含答案詳解
- 檢測技術與儀表復習
- 出租房退房協議(通用5篇)
- 2023年寧夏銀川市西夏區北京西路街道社區工作人員考試模擬題含答案
- GB/T 23932-2009建筑用金屬面絕熱夾芯板
- 防靜電手環測試指導書
- 機電控制工程
- 碼頭承包經營合同
- 建筑工程防水(防滲漏)處理PPT
- 溫病學講義劉景源
- 校企共建校內實訓基地協議模版
- 嵌頓疝病人應急預案
評論
0/150
提交評論