實驗報告DS18B20溫度檢測控制_第1頁
實驗報告DS18B20溫度檢測控制_第2頁
實驗報告DS18B20溫度檢測控制_第3頁
實驗報告DS18B20溫度檢測控制_第4頁
實驗報告DS18B20溫度檢測控制_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實訓五DS18B20溫度檢測控制實訓一、實訓目的溫度傳感器電路的工作原理。了解溫度控制的基本原理。掌握一線總線接口的使用。二、實訓說明DALLAS最新單線數字溫度傳感器DS18B20簡介Dallas半導體公司的數字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器?,F場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環境的現場溫度測量,如:環境控制、設備或過程控制、測溫類消費電子產品等。與前一代產品不同,新的產品支持3V?5.5V的電壓范圍,使系統設計更靈活、方便。DS18B20測量溫度范圍為-55°C?+125°C,在-10?+85°C范圍內,精度為±0.5°C。DS18B20可以程序設定9?12位的分辨率,及用戶設定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20內部結構(BonoMvnzw)FO-92(DSJ8B20}DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。DS18B20的管腳排列如下:(BonoMvnzw)FO-92(DSJ8B20}DQ為數字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環冗余校訓碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.0625°C/LSB形式表達,其中S為符號位。bit7 bits biti 啦4 Ml2 bU2 bitt bdLO2、2Z2l2"2'1血卅 hiiM bilL biEll faiL】Cf hh9 hdjtMSByte5 |S|S|S S 臚 ? | 2^LSByte:Bit7Bit6Bit5Bit4Bit3Bit2BitlBitO232221202-12-22-32-4MSByte:Bitl5Bitl4Bitl3Bitl2BitllBitl0Bit9Bit8

SSSSS262524這是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。例如+125°C的數字輸出為07D0H,+25.0625°C的數字輸出為0191H,-25.0625°C的數字輸出為FF6FH,-55C的數字輸出為FC90H。溫度數據輸出(二進制)數據輸出(十六進制)+125C000001111101000007D0H+85C00000101010100000550H+25.0625C00000001100100010191H+10.125C000000001010001000A2H+0.5C00000000000010000008H0C00000000000000000000H-0.5C1111111111111000FFF8H-10.125C1111111101011110FF5EH-25.0625C1111111001101111FE6FH-55C1111110010010000FC90HDS18B20溫度傳感器的存儲器DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發器TH、TL和結構寄存器。暫存存儲器包含了8個連續字節,前兩個字節是測得的溫度信息,第一個字節的內容是溫度的低八位,第二個字節是溫度的高八位。第三個和第四個字節是TH、TL的易失性拷貝,第五個字節是結構寄存器的易失性拷貝,這三個字節的內容在每一次上電復位時被刷新。第六、七、八個字節用于內部計算。第九個字節是冗余檢驗字節。該字節各位的意義如下:TMR1R011111低五位一直都是1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1和R0用來設置分辨率,如下表所示:(DS18B20出廠時被設置為12位)分辨率設置表:R1R0分辨率溫度最大轉換時間009位93.75ms0110位187.5ms1011位375ms1112位750ms根據DS18B20的通訊協議,主機控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數據線下拉500微秒,然后釋放,DS18B20收到信號后等待16?60微秒左右,后發出60?240微秒的存在低脈沖,主CPU收到此信號表示復位成功。2、本實訓在讀取溫度的基礎上,完成類似空調恒溫控制的實訓。用加熱電阻代替加熱電機,制冷采用自然冷卻。溫度值通過LED靜態顯示電路以十進制形式顯示出來,制冷采用自然冷卻。三、 實訓步驟1.用二號導線分別連接單片機最小應用系統的P1.4、P2.0到DS18B20模塊的T-CON、OUT,連接RXD(P3.0)、TXD(P3.1)到串行靜態數碼顯示模塊的DIN、CLK端。2?將89S52芯片插到單片機最小應用系統模塊的40P鎖緊插座中,請注意芯片的方向:缺口朝上。用二號導線連接單片機最小應用系統模塊的EA/VP端到電源模塊的+5V。3?接好AC220V電源,打開相關模塊的電源開關,用ISP下載器將“TH19_DS18B20.HEX”文件下載到89S52芯片中運行(ISP下載器的使用査看附錄二)。實訓現象:串行靜態數碼顯示模塊顯示“XX”為十進制溫度測量值,“XX”為十進制溫度設定值,當加熱到設定的控制溫度時如40度時,停止加熱。四、 實訓電路圖本實訓需要用到單片機最小應用系統模塊(C區),DS18B20模塊(A4區),串行靜態數碼顯示模塊(A2區)。單片機最小應用系統電路原理參考附錄三,串行靜態數碼顯示電路原理參考實訓十圖10.1,DS18B20溫度控制接口電路原理參考圖19.1。五、實訓源程序TEMPER_LEQU29H ;用于保存讀出溫度的低8位

TEMPER_HEQU28H;用于保存讀出溫度的高8位FLAG1EQU38H;是否檢測到DS18B20標志位A_BITEQU20H;數碼管個位數存放內存位置B_BITEQU21H;數碼管十位數存放內存位置LEDBUFEQU30HTEMPEQU55HDINBITP1.0CLKBITP1.1ORG0000HLJMPSTARTORG0100HSTART:SETBP1.4MAIN:LCALLGET_TEMPER;調用讀溫度子程序MOVA,29HMOVC,40H;將28H中的最低位移入CRRCAMOVC,41HRRCAMOVC,42HRRCAMOVC,43HRRCAMOV29H,ALCALLDISPLAYRESULTLCALLDISPLAYLED;調用數碼管顯示子程序LCALLDELAY1AJMPMAININIT_1820:;這是DS18B20復位初始化子程序SETBP2.0NOPCLRP2.0MOVR1,#3;主機發出延時537微秒的復位低脈沖TSR1:MOVR0,#107DJNZR0,$DJNZR1,TSR1SETBP2.0;然后拉高數據線NOPNOPNOPMOVR0,#25HTSR2:JNBP2.0,TSR3;等待DS18B20回應DJNZR0,TSR2LJMPTSR4;延時TSR3:SETBFLAG1;置標志位,表示DS1820存在TSR4:LJMPTSR5CLRFLAG1;清標志位,表示DS1820不存在LJMPTSR7TSR5:MOVR0,#117TSR6:DJNZR0,TSR6TSR7:SETBP2.0RET;時序要求延時一段時間GET_TEMPER:;讀出轉換后的溫度值SETBP2.0LCALLINIT_1820;先復位DS18B20JBFLAG1,TSS2RET;判斷DS1820是否存在?若DS18B20不存在則返回TSS2:MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#44H;發出溫度轉換命令LCALLWRITE_1820;這里通過調用顯示子程序實現延時一段時間,等待AD轉換結束,12位的話750微秒LCALLDELAY1LCALLINIT_1820;準備讀溫度前先復位MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#0BEH;發出讀溫度命令LCALLWRITE_1820LCALLREAD_18200;將讀出的溫度數據保存到35H/36HRET

;寫DS18B20的子程序(有具體的時序要求)WRITE_1820:MOVCLRR2,#8;—共8位數據CWR1:CLRP2.0MOVR3,#6DJNZR3,$RRCAMOVP2.0,CMOVR3,#23DJNZR3,$SETBP2.0NOPDJNZR2,WR1SETBP2.0RET;讀DS18B20的程序,從DS18B20中讀出兩個子節的溫度數據READ_18200:MOVR4,#2;將溫度高位和低位從DS18B20中讀出MOVR1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00:MOVR2,#8;數據一共有8位RE01:CLRCSETBP2.0NOPNOPCLRP2.0NOPNOPNOPSETBP2.0MOVR3,#9RE10:DJNZR3,RE10MOVC,P2.0MOVR3,#23RE20:DJNZR3,RE20

RRCADJNZR2,RE01MOV@R1,ADECR1DJNZR4,RE00RET;顯示子程序DISPLAYLED:;顯示子程序MOVMOVMOVMOVMOVMOVDP10:MOVMOVMOVCMOVINCINCDJNZMOVMOVDP12:MOVMOVDP13:RLCMOVCLRSETBDJNZINCDJNZRETR0,#LEDBUFR1,#TEMPR2,#8DPTR,#LEDMAPA,@R0A,@A+DPTR@R1,AR0R1R2,DP10R0,#TEMPR1,#8R2,#8A,@R0ADIN,CCLKCLKR2,DP13R0R1,DP12LEDMAP:DB3FH,6H,5BH,4FH,66H,6DH;0,1,2,3,4,5DB7DH,7H,7FH,6FH,77H,7CH;6,7,8,9,A,BDB58H,63H,7BH,71H,00H,40H;C,O,E,F,,-DB63H,39H,63HDISPLAYRESULT:MOVLEDBUF,#10H

MOVMOVLEDBUF+3,LEDBUF+4,#14H#13HGOON:MOVMOVLEDBUF+3,LEDBUF+4,#14H#13HGOON:MOVA,29HMOVB,#10DIVABMOVLEDBU

溫馨提示

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

評論

0/150

提交評論