


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗三十二溫度傳感器溫度控制實驗、實驗目的1. 了解溫度傳感器電路的工作原理2. 了解溫度控制的基本原理3. 掌握一線總線接口的使用二、實驗說明這是一個綜合硬件實驗,分兩大功能:溫度的測量和溫度的控制1. DALLAS最新單線數字溫度傳感器DS18B20簡介Dallas 半導體公司的數字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器?,F場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環(huán)境的現場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產 品等。 與前一代產品不同,新的產品支持3V5.5V的電壓范圍,使系統設計更靈活、方便。DS18
2、B20測量溫度范圍為 -55 ° C+125 ° C,在-10+85 °C范圍內,精度為土 0.5 ° C。DS18B20可以程序設定 912位的分辨率,及用戶設定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20內部結構CALLAS1BB3D12 3DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。 DS18B20的管腳排列如下:DQ為數字信號輸/輸出端;GND為電源地;VDD為外接供電電源輸入端(在入寄生電源接線方式時接地)。光刻ROM中的64位序列號是出廠前被光刻好的,它
3、可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H )是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面 56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1 )。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。號位。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位LS Byte:Bit7Bit6Bit5Bit4Bit3Bit2Bit11 Iff 儀a FM." ftl.Stetaw"-1迸11 # J十*域14'Si,Wj 1
4、.OHMS Bvtc廠髯11 Jrii符號擴展的二進制補碼讀數形式提供,以0.0625 C /LSB 形式表達,其中S為符MS ByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8這是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
5、 C的數字輸出為FF6FH , - 55 C的數字輸出為FC90H。溫度數據輸出(二進制)數據輸出(十六進制)+125 C0000 0111 1101 000007D0h+85 C0000 0101 0101 00000550h+25.0625 °C0000 0001 1001 00010191h+10.125 C0000 0000 1010 001000A2h+0.5 C0000 0000 0000 10000008h0C0000 0000 0000 00000000h-0.5 C1111 1111 1111 1000FFF8h-10.125 C1111 1111 0101 111
6、0FF5Eh-25 .0625 C1111 1110 0110 1111FE6Fh-55 C1111 1100 1001 0000FC90hDS18B20溫度傳感器的存儲器DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結構寄存器。暫存存儲器包含了8個連續(xù)字節(jié), 前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是結構寄存器的易失性拷貝,這三個字節(jié)的內容在每一次上電復位時被刷新。第六、七、八個字節(jié)用于內部計算。第九個字
7、節(jié)是冗余檢驗字節(jié)。該字節(jié)各位的意義如下:TMR1R011111低五位一直都是1 , TM是測試模式位,用于設置 DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為 0,用戶不要去改動。R1和R0用來設置分辨率,如下表所示:(DS18B20出廠時被設置為12位)分辨率設置表:R1R0分辨率溫度最大轉換時間009位93.75ms0110位187.5ms1011位375ms1112位750ms根據DS18B20的通訊協議,主機控制 DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送 RAM指令,這樣才
8、能對 DS18B20進行預定的操作。復位要求主CPU將數據線下拉500微秒,然后釋放,DS18B20收到信號后等待1660微秒左右,后發(fā)出 60240微秒的存在低脈沖,主CPU收 到此信號表示復位成功。2. 本實驗在讀取溫度的基礎上, 完成類似空調恒溫控制的實驗。 用加熱電阻代替加熱電機 , 制冷采用自然冷卻。溫度值通過 LED 靜態(tài)顯示電路以十進制形式顯示出來,同時顯示電路還將顯示設定的恒溫值,通過鍵盤可以改變設定值。按一次升高鍵,恒溫值加 C,按一次降低鍵,恒溫值減小1 Co恒溫值在2 C50 C范圍內可調。當實際溫度低于設定的恒 定溫度2 C時,單片機發(fā)出指令信號,繼電器吸合, 紅色LE
9、D點亮,加熱電阻開始加熱。當溫度超過設定的恒溫值2C時,單片機發(fā)出指令信號,繼電器斷開,紅色LED熄滅,加熱電阻停止加熱,制冷采用自然冷卻。三、實驗內容及步驟1. 用串行數據通信線連接計算機與仿真器,把仿真器插到模塊的鎖緊插座中,請注意仿真器的方向:缺口朝上。2. 打開 Keil uVision2 仿真軟件,首先建立本實驗的項目文件, 接著添加“ DS18B20.ASM ” 源 程序,編譯無誤后,全速運行程序。3. 程序正常運行后,按下自鎖開關控制' o 5LED 數顯為“ XX20 ”,“ XX ”為十進制溫度測量值,當氣溫低于0C,或者模擬信號輸入端的電位器沒有逆時針旋到底時,溫度
10、值前面出現“-”號?!?20”為十進制溫度設定值,按設定鍵升高、降低可以改變設定值。當測量值小于設定值2個字時,加熱啟動,當實際值超過設定值2個字時,加熱停止。4. 可把源程序編譯成可執(zhí)行文件,燒錄到89C51芯片中。四、源程序LEDBUF EQU 60H;顯示緩存 1TEMPEQU 65H;顯示緩存 2UPEQU 1; 1 鍵定義為增加鍵DOWNEQU2; 2 鍵定義為減小鍵LOWLIMIT EQU2;設定值最低為2HIGHLIMIT EQU50;設定值最高為50DS18B20 標志FLAG1 EQU 38H;是否檢測到 位SETTEMP EQU 50H;溫度設定值緩存CURTEMP EQU
11、 29H;溫度實際值緩存DINBIT P3.0;串行顯示數據口CLKBIT P3.1;串行顯示時鐘口ORG 0000HLJMP STARTORG 0100HSTART:MOV SETTEMP, #20;設定值初值 20MLOOP:LCALL TESTKEY;測試鍵盤是否有鍵按下CJNE A,#03H,KEYPRESSED;有鍵按下,處理按鍵MLOOP1:ACALL DISPLAYRESULT;無鍵按下,調顯示ACALL DISPLAYLEDACALL GET_TEMPER;調用讀溫度子程序MOV A, CURTEMPJBACC.7, LE0;為負值CLR CMOV B, SETTEMP;為正值
12、時與設定值比較DEC B DEC B SUBB A, B JNC GN2LE0: SETB P3.2 SJMP GN4GN2: MOV A, CURTEMP SETB C MOV B, SETTEMP INC B INC B SUBB A, B JC GN4 CLR P3.2 SJMP GN4GN4: ACALL DELAY1 LJMP MLOOP KEYPRESSED: ;處理按鍵 LCALL GETKEY MOV B, A XRL A, #DOWN JNZ KEY0 MOV A, SETTEMP XRL A, #LOWLIMIT JZ KEY1 DEC SETTEMP SJMP KEY1K
13、EY0: MOV A, B XRL A, #UP JNZ KEY1 MOV A, SETTEMP XRL A, #HIGHLIMIT JZ KEY1 INC SETTEMPKEY1: LJMP MLOOP1 INIT_1820: SETB P2.0 NOP CLR P2.0 MOV R1,#3TSR1: MOV R0,#107;小于(設定值 -2 ),加熱;大于(設定值 +2 ),停止加熱;大循環(huán);讀取鍵值;這是 DS18B20 復位初始化子程序;主機發(fā)出延時 537 微秒的復位低脈沖DJNZ R0,$DJNZ R1,TSR1SETB P2.0 ;然后拉高數據線 NOPNOPNOPMOVR0,
14、#25HTSR2: JNBP2.0,TSR3;等待 DS18B20 回應DJNZR0,TSR2LJMPTSR4;延時TSR3: SETBFLAG1;置標志位 , 表示 DS1820存在LJMPTSR5TSR4: CLRFLAG1;清標志位 , 表示 DS1820不存在LJMPTSR7TSR5: MOVR0,#117TSR6: DJNZR0,TSR6;時序要求延時一段時間TSR7: SETBP2.0RETGET_TEMPER:;讀出轉換后的溫度值SETBP2.0LCALLINIT_1820;先復位 DS18B20JBFLAG1,TSS2RET判斷 DS1820 是否存在 ? 若 DS18B20
15、不存在則返回TSS2: MOVA,#0CCH;跳過 ROM 匹配LCALLWRITE_1820MOVA,#44H;發(fā)出溫度轉換命令LCALLWRITE_1820;這里通過調用顯示子程序實現延時一段時間, 等待 AD 轉換結束LCALLDELAY1LCALLINIT_1820;準備讀溫度前先復位MOVA,#0CCH;跳過 ROM 匹配LCALLWRITE_1820MOVA,#0BEH;發(fā)出讀溫度命令LCALLWRITE_1820LCALLREAD_18200;將讀出的溫度數據保存到35H/36HMOVA,CURTEMPMOVC,40H;將 28H 中的最低位移入CRRCAMOVC,41HRRCA
16、MOVC,42HRRCAMOVC,43HRRCAMOVCURTEMP,ARETWRITE_1820:;寫 DS18B20的子程序 ( 有具體的時序要求 )MOVR2,#8;一共 8 位數據CLRCWR1: CLRP2.0MOV R3,#6DJNZ R3,$RRC AMOV P2.0,C MOV R3,#23 DJNZ R3,$ SETB P2.0NOPDJNZ R2,WR1SETB P2.0RETREAD_18200:;讀 DS18B20MOVR4,#2MOVR1,#CURTEMPRE00: MOV R2,#8RE01: CLR C SETB P2.0 NOP NOP CLR P2.0 NOP
17、 NOP NOP SETB P2.0 MOV R3,#9RE10: DJNZ R3,RE10 MOV C,P2.0 MOV R3,#23RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RETDISPLAYLED:MOV R0,#LEDBUFMOV R1,#TEMP MOV R2,#5DP10: MOV DPTR,#LEDMAP, 從 DS18B20 中讀出兩個字節(jié)的溫度數據 DS18B20 中讀 ;將溫度高位和低位從 出;低位存入 29H, 高位存入 28H ;數據一共有 8 位數碼管顯示MOV A,R0MO
18、VC A,A+DPTRMOVR1,AINCR0INCR1DJNZR2,DP10MOV R0,#TEMPMOV R1,#5DP12: MOV R2,#8MOV A,R0DP13: RLC AMOV DIN,C CLR CLK SETB CLKDJNZ R2,DP13INC R0DJNZ R1,DP12RETLEDMAP: DB3FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,5DB7DH,7,7FH,6FH,77H,7CH; 6,7,8,9 ,A, BDB58H,5EH,7BH,71H,0,40H;C,D,E,F, , -DB63H,39H;CDISPLAYRESULT:;十六進制
19、轉換為十進制MOVA, CURTEMPJNBACC.7, GE0MOVLEDBUF, #11H ; '-'DECACPLALJMP GOONGE0: MOV LEDBUF, #10HGOON: MOV B, #10DIVABMOVLEDBUF+1, AMOVA, BMOVLEDBUF+2, AMOVA, SETTEMPMOVB, #10DIVABMOVLEDBUF+3,AMOVA, BMOVLEDBUF+4,ARETTESTKEY:測試鍵盤是否有鍵按下MOVP1, #03HMOVA, P1 ;讀入鍵狀態(tài)RETKEYTABLE:;鍵碼定義DB02H,01H,0F7HDB0EFH,0DFH,0BFH,07FHGETKEY:MOV R6,#10LCALL DELAYMOVA,P1MOVCA,A+DPTR;從鍵值表中取鍵值CJNEA,B,K04;鍵值比較MOVA,R2;得鍵碼INCARETK04: INCR2;不相等,到繼續(xù)訪DJNZR3,K02MOVA,#0FFH;鍵值不在鍵值中,LJMPMLOOP;延時子程序MOV:| AVI CCD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版語文八年級上冊第24課《周亞夫軍細柳》(新課標單元整體教學設計+課時教學設計)
- 2025-2030嬰幼兒奶粉產業(yè)政府戰(zhàn)略管理與區(qū)域發(fā)展戰(zhàn)略研究咨詢報告
- 2025-2030婚慶文化行業(yè)市場發(fā)展分析及投資前景研究報告
- 計算機二級考試2024年全面試題及答案
- 2025-2030外來脂肪行業(yè)市場現狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 2025-2030圣誕樹玩具行業(yè)市場現狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030國內視頻會議攝像機行業(yè)市場發(fā)展現狀及發(fā)展前景與投資機會研究報告
- 2025-2030國內建筑機械行業(yè)深度分析及競爭格局與發(fā)展前景預測研究報告
- 2025-2030固定地面電源裝置(GPU)行業(yè)市場現狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030商業(yè)保理產業(yè)規(guī)劃專項研究報告
- 新工人入場三級安全教育表(含教育)
- 英語四線三格線A4紙打印
- 血糖監(jiān)測技術操作考核評分標準
- 堤防、淤地壩運行一般危險源風險評價方法-風險矩陣法(LS法)介紹
- 修理廠噴漆承包合同
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗
- 五年級奧數-《盈虧問題》課件
- 藥店常見病聯合用藥-課件
- 軟件安全之惡意代碼機理與防護-武漢大學中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 中考英語試卷閱讀理解答題技巧課件
- 基于ABB機器人對流水焊接作業(yè)的虛擬仿真工藝設計
評論
0/150
提交評論