版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、18B20溫度傳感器溫度計程序2008-9-261.實驗任務(wù) 本實驗實現(xiàn)的是通過18B20溫度傳感器讀回溫度并在6位數(shù)碼管上顯示。精度為0.0625,范圍為0-99.93752.實驗?zāi)康?學(xué)會使用單片機控制18B20此類單總線器件。3.DS18B20原理及引腳介紹 DS18B20數(shù)字溫度計是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。DS18B20產(chǎn)品的特點(1)、只要求一個端口即可實現(xiàn)通信。(2)、在DS18B20中的每個器件上都有獨一無二的序列號。(3)、實際應(yīng)用中
2、不需要外部任何元器件即可實現(xiàn)測溫。(4)、測量溫度范圍在55。C到125。C之間。(5)、數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。(6)、內(nèi)部有溫度上、下限告警設(shè)置。TO92封裝的DS18B20的引腳排列見下圖,其引腳功能描述見下:1GND 地信號2DQ 數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。3VDD 可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。 18B20管腳圖4實驗原理圖 實驗原理圖 5. 18B20控制命令字 18B20的ROM命令指令 說明讀ROM(33H)讀18B20的序列號匹配ROM(55H)繼續(xù)讀完64位序列號的命令
3、,用于多個18B20時定位跳過ROM(CCH)此命令執(zhí)行后的在存儲器打操作針對在線所有18B20搜ROM(F0H)識別總線上各器件的編碼,為操作各器件做準備報警搜索(ECH)公溫度越限的器件對此命令作出響應(yīng) 18B20存儲控制命令 指令 說明溫度轉(zhuǎn)換(44H)啟動在線18B20做溫度AD轉(zhuǎn)換讀數(shù)據(jù)(BEH)從高速暫存器讀9位溫度值和CRC值寫數(shù)據(jù)(4EH)將數(shù)據(jù)寫入高速暫存的第3和第4字節(jié)中復(fù)制(48H)將高速暫存器中第3和第4字節(jié)復(fù)制到EERAM讀EERAM(B8H)將EERAM內(nèi)容寫入高速暫存器中第3和第4字節(jié)讀電源供電方式(B4H)了解18B20的供電方式6. 實驗源程序 WENDU_L
4、 EQU 29H;用于保存讀出溫度的低字節(jié) WENDU_H EQU 28H;用于保存讀出溫度的高字節(jié) XIAOSHU EQU 27H;用于保存溫度的小數(shù)部分 ZHENGSHU EQU 26H;用于保存整數(shù)部分 BIAOZHI BIT 50H;18B20檢查位1為存在,0為不存在 ORG 0000H AJMP MAIN ORG 0030HMAIN:MOV SCON,#00H ACALL DUWEN ACALL ZHENGHE ACALL BCD ACALL DISP ACALL TIME1 AJMP MAIN;-;讀溫度子程序;-DUWEN:SETB P2.0 ACALL FUWEI ;讀溫度之
5、前必須先復(fù)位 JB BIAOZHI,CUNZAI;查看標志位看18B20是否存在,1為存在,0為不存在 RET ;不存在則返回CUNZAI: ;存在則開始讀溫度 MOV A,#0CCH ;跳過ROM匹配 ACALL XIE ;調(diào)寫子程序 MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令 ACALL XIE ;調(diào)寫子程序 ACALL TIME1 ;調(diào)1秒延時,等等AD轉(zhuǎn)換完成,現(xiàn)在分辨率為12位,溫度最大轉(zhuǎn)換時間為750MS ACALL FUWEI ;讀溫前需要復(fù)位 MOV A,#0CCH ;跳過ROM匹配 ACALL XIE MOV A,#0BEH ;發(fā)讀溫度命令 ACALL XIE ACALL DU
6、SHU ;將闈出數(shù)據(jù)讀回 CLR P1.2 RET;-;復(fù)位子程序;18B20復(fù)位需要將數(shù)據(jù)位拉低500us;18B20收到信號后要等待16-60us,然后發(fā)出60-240us的低脈沖;-FUWEI:SETB P2.0 NOP CLR P2.0 MOV R0,#3INTE:MOV R1,#107 ;設(shè)一個537us延時KK1: DJNZ R1,KK1 DJNZ R0,INTE SETB P2.0 ;拉高數(shù)據(jù)線,等待回應(yīng) NOP NOP NOP MOV R0,#25;INTE1:JNB P2.0,INTE2 ;延時延時50us等待18B20回應(yīng),若返回低脈沖則說明18B20存在 DJNZ R0
7、,INTE1 AJMP INTE3 ;經(jīng)過反應(yīng)時間而沒檢測到18B20的存在,則跳轉(zhuǎn)去清零標志位INTE2:SETB BIAOZHI ;檢測到18B20存在,置1標志位 CLR P1.0 AJMP INTE4INTE3:CLR BIAOZHI ;沒檢測到18B20,清零標志位 AJMP INTE5INTE4:MOV R0,#120 ;延時240us,確定回應(yīng)信號已發(fā)完 KK: DJNZ R0,KKINTE5:SETB P2.0 RET ;-;寫18B20子程序;-XIE:MOV R2,#8 ;寫計數(shù)寄存器,一共有8位數(shù)據(jù) CLR CLP:CLR P2.0MOV R3,#6;設(shè)一個延時LL1:D
8、JNZ R3,LL1 RRC A;右循環(huán),先輸出低位 MOV P2.0,C MOV R3,#23;設(shè)延時LL: DJNZ R3,LL; SETB P2.0 NOP NOP DJNZ R2,LP ;判斷是否完成數(shù)據(jù)傳送 SETB P2.0 ;完成傳送拉高數(shù)據(jù)位 RET;-;從18B20中讀出溫度數(shù)據(jù)子程序;-DUSHU:MOV R4,#2 ;設(shè)讀回數(shù)據(jù)個數(shù)指針 MOV R1,#WENDU_L ;把溫度數(shù)據(jù)低位存入29HRE: MOV R2,#8 ;設(shè)數(shù)據(jù)長度指針RE1: CLR C SETB P2.0 NOP NOP CLR P2.0 NOP NOP NOP SETB P2.0 MOV R3,#
9、9 DJNZ R3,$ MOV C,P2.0 MOV R3,#23NN: DJNZ R3,NN RRC A DJNZ R2,RE1 MOV R1,A DEC R1;高位存入28H DJNZ R4,RE RET;-;數(shù)據(jù)整合子程序;溫度源數(shù)據(jù)的整合,讀出數(shù)據(jù)的高字節(jié)的低四位決定溫度的整數(shù)部分;低字節(jié)的低四位決定小數(shù)部分;-ZHENGHE:MOV A,#0FH ANL A,WENDU_L;低字節(jié)的低四位就是小數(shù)部分MOV XIAOSHU,A ;獲得小數(shù)部分MOV A,WENDU_L;將高字節(jié)的低四位移入低字節(jié)的高4位,MOV C,40H;獲得的新字節(jié)就是整數(shù)部分的數(shù)據(jù)RRC AMOV C,41HR
10、RC AMOV C,42HRRC AMOV C,43HRRC AMOV ZHENGSHU,ARET;-;顯示數(shù)據(jù)拆解程序、顯示程序、延時程序;-;數(shù)據(jù)拆解程序BCD:MOV A,ZHENGSHU MOV B,#10DIV AB MOV 50H,AMOV 51H,BMOV A,XIAOSHUMOV R0,#52HMOV R2,#4 D0:MOV B,#10 MUL ABMOV B,#16DIV AB MOV R0,AINC R0MOV A,BDJNZ R2,D0RET;-;顯示程序;-DISP:ACALL TIME MOV R7,#6 MOV DPTR,#TAB MOV R0,#55HLP1:MOV A ,R0; MOVC A,A+DPTR CJNE R7,#2,NE1 ANL A,#07FHNE1:MOV SBUF,A JNB TI ,$CLR TIDEC R0DJNZ R7,LP1RET;-;延時程序;-TIME1:MOV R6,#4LOOP2:MOV R5,#250LOOP1:ACALL D1MS DJNZ R5,LOOP1 DJNZ R6,LOOP2 RETTIME:MOV R6,#200LOOP3:ACALL D1MS DJN
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南瑞集團限公司(國網(wǎng)電力科學(xué)研究院限公司)2025年高校畢業(yè)生招聘(第二批)高頻重點提升(共500題)附帶答案詳解
- 南寧市西鄉(xiāng)塘區(qū)住房和城鄉(xiāng)建設(shè)局2025年招聘建設(shè)管理人員歷年高頻重點提升(共500題)附帶答案詳解
- 北京朝陽區(qū)2025下半年規(guī)范管理事業(yè)單位招聘52人歷年高頻重點提升(共500題)附帶答案詳解
- 北京市大興區(qū)第一批事業(yè)單位公開招考工作人員高頻重點提升(共500題)附帶答案詳解
- 北京化工大學(xué)北校區(qū)工作辦公室招考聘用高頻重點提升(共500題)附帶答案詳解
- 內(nèi)蒙古自治區(qū)機關(guān)事務(wù)管理局第一后勤服務(wù)中心公開招考10名編制外工作人員高頻重點提升(共500題)附帶答案詳解
- 佛山市順德區(qū)公辦中小學(xué)第二批面向社會公開招聘合同制教師高頻重點提升(共500題)附帶答案詳解
- 交通運輸部機關(guān)服務(wù)中心(局)度公開招考1名高校應(yīng)屆畢業(yè)生高頻重點提升(共500題)附帶答案詳解
- 云南省硯山縣人力資源和社會保障局面向社會公開招考3名公益性崗位人員高頻重點提升(共500題)附帶答案詳解
- 2025年度軟件開發(fā)項目外包合作協(xié)議8篇
- 人教版小學(xué)數(shù)學(xué)一年級上冊20以內(nèi)口算天天練試題全套
- 廣西欽州市浦北縣2023-2024學(xué)年七年級上學(xué)期期末語文試題
- 技術(shù)服務(wù)補充協(xié)議范本
- 內(nèi)河避碰條例題庫
- 四年級數(shù)學(xué)(四則混合運算)計算題專項練習(xí)與答案
- 促進自然分娩資料課件
- 人際風(fēng)格的類型
- 醫(yī)院科室宣傳方案
- 高壓變頻器培訓(xùn)教材
- 《中國居民膳食指南》
- 立式氣液分離器計算
評論
0/150
提交評論