溫度檢測(cè)與控制實(shí)驗(yàn)報(bào)告_第1頁(yè)
溫度檢測(cè)與控制實(shí)驗(yàn)報(bào)告_第2頁(yè)
溫度檢測(cè)與控制實(shí)驗(yàn)報(bào)告_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余12頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)三十二溫度傳感器溫度控制實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?. 了解溫度傳感器電路的工作原理2. 了解溫度控制的基本原理3. 掌握一線總線接口的使用二、實(shí)驗(yàn)說(shuō)明這是一個(gè)綜合硬件實(shí)驗(yàn),分兩大功能:溫度的測(cè)量和溫度的控制1. DALLAS最新單線數(shù)字溫度傳感器DS18B20簡(jiǎn)介Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn) 品等。 與前一代產(chǎn)品不同,新的產(chǎn)品支持3V5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。DS18

2、B20測(cè)量溫度范圍為 -55 ° C+125 ° C,在-10+85 °C范圍內(nèi),精度為土 0.5 ° C。DS18B20可以程序設(shè)定 912位的分辨率,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。DS18B20內(nèi)部結(jié)構(gòu)CALLAS1BB3D12 3DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。 DS18B20的管腳排列如下:DQ為數(shù)字信號(hào)輸/輸出端;GND為電源地;VDD為外接供電電源輸入端(在入寄生電源接線方式時(shí)接地)。光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它

3、可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開(kāi)始8位(28H )是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面 56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1 )。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。號(hào)位。DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位LS Byte:Bit7Bit6Bit5Bit4Bit3Bit2Bit11 Iff 儀a FM." ftl.Stetaw"-1迸11 # J十*域14'Si,Wj 1

4、.OHMS Bvtc廠髯11 Jrii符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625 C /LSB 形式表達(dá),其中S為符MS ByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù), 存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于 0.0625即可得到實(shí)際溫度。例如+125 C的數(shù)字輸出為 07D0H , +25.0625 C的數(shù)字輸出為0191H , - 25.0625

5、 C的數(shù)字輸出為FF6FH , - 55 C的數(shù)字輸出為FC90H。溫度數(shù)據(jù)輸出(二進(jìn)制)數(shù)據(jù)輸出(十六進(jìn)制)+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溫度傳感器的存儲(chǔ)器DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。暫存存儲(chǔ)器包含了8個(gè)連續(xù)字節(jié), 前兩個(gè)字節(jié)是測(cè)得的溫度信息,第一個(gè)字節(jié)的內(nèi)容是溫度的低八位,第二個(gè)字節(jié)是溫度的高八位。第三個(gè)和第四個(gè)字節(jié)是TH、TL的易失性拷貝,第五個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字

7、節(jié)是冗余檢驗(yàn)字節(jié)。該字節(jié)各位的意義如下:TMR1R011111低五位一直都是1 , TM是測(cè)試模式位,用于設(shè)置 DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為 0,用戶不要去改動(dòng)。R1和R0用來(lái)設(shè)置分辨率,如下表所示:(DS18B20出廠時(shí)被設(shè)置為12位)分辨率設(shè)置表:R1R0分辨率溫度最大轉(zhuǎn)換時(shí)間009位93.75ms0110位187.5ms1011位375ms1112位750ms根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制 DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送 RAM指令,這樣才

8、能對(duì) DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號(hào)后等待1660微秒左右,后發(fā)出 60240微秒的存在低脈沖,主CPU收 到此信號(hào)表示復(fù)位成功。2. 本實(shí)驗(yàn)在讀取溫度的基礎(chǔ)上, 完成類似空調(diào)恒溫控制的實(shí)驗(yàn)。 用加熱電阻代替加熱電機(jī) , 制冷采用自然冷卻。溫度值通過(guò) LED 靜態(tài)顯示電路以十進(jìn)制形式顯示出來(lái),同時(shí)顯示電路還將顯示設(shè)定的恒溫值,通過(guò)鍵盤(pán)可以改變?cè)O(shè)定值。按一次升高鍵,恒溫值加 C,按一次降低鍵,恒溫值減小1 Co恒溫值在2 C50 C范圍內(nèi)可調(diào)。當(dāng)實(shí)際溫度低于設(shè)定的恒 定溫度2 C時(shí),單片機(jī)發(fā)出指令信號(hào),繼電器吸合, 紅色LE

9、D點(diǎn)亮,加熱電阻開(kāi)始加熱。當(dāng)溫度超過(guò)設(shè)定的恒溫值2C時(shí),單片機(jī)發(fā)出指令信號(hào),繼電器斷開(kāi),紅色LED熄滅,加熱電阻停止加熱,制冷采用自然冷卻。三、實(shí)驗(yàn)內(nèi)容及步驟1. 用串行數(shù)據(jù)通信線連接計(jì)算機(jī)與仿真器,把仿真器插到模塊的鎖緊插座中,請(qǐng)注意仿真器的方向:缺口朝上。2. 打開(kāi) Keil uVision2 仿真軟件,首先建立本實(shí)驗(yàn)的項(xiàng)目文件, 接著添加“ DS18B20.ASM ” 源 程序,編譯無(wú)誤后,全速運(yùn)行程序。3. 程序正常運(yùn)行后,按下自鎖開(kāi)關(guān)控制' o 5LED 數(shù)顯為“ XX20 ”,“ XX ”為十進(jìn)制溫度測(cè)量值,當(dāng)氣溫低于0C,或者模擬信號(hào)輸入端的電位器沒(méi)有逆時(shí)針旋到底時(shí),溫度

10、值前面出現(xiàn)“-”號(hào)?!?20”為十進(jìn)制溫度設(shè)定值,按設(shè)定鍵升高、降低可以改變?cè)O(shè)定值。當(dāng)測(cè)量值小于設(shè)定值2個(gè)字時(shí),加熱啟動(dòng),當(dāng)實(shí)際值超過(guò)設(shè)定值2個(gè)字時(shí),加熱停止。4. 可把源程序編譯成可執(zhí)行文件,燒錄到89C51芯片中。四、源程序LEDBUF EQU 60H;顯示緩存 1TEMPEQU 65H;顯示緩存 2UPEQU 1; 1 鍵定義為增加鍵DOWNEQU2; 2 鍵定義為減小鍵LOWLIMIT EQU2;設(shè)定值最低為2HIGHLIMIT EQU50;設(shè)定值最高為50DS18B20 標(biāo)志FLAG1 EQU 38H;是否檢測(cè)到 位SETTEMP EQU 50H;溫度設(shè)定值緩存CURTEMP EQU

11、 29H;溫度實(shí)際值緩存DINBIT P3.0;串行顯示數(shù)據(jù)口CLKBIT P3.1;串行顯示時(shí)鐘口ORG 0000HLJMP STARTORG 0100HSTART:MOV SETTEMP, #20;設(shè)定值初值 20MLOOP:LCALL TESTKEY;測(cè)試鍵盤(pán)是否有鍵按下CJNE A,#03H,KEYPRESSED;有鍵按下,處理按鍵MLOOP1:ACALL DISPLAYRESULT;無(wú)鍵按下,調(diào)顯示ACALL DISPLAYLEDACALL GET_TEMPER;調(diào)用讀溫度子程序MOV A, CURTEMPJBACC.7, LE0;為負(fù)值CLR CMOV B, SETTEMP;為正值

12、時(shí)與設(shè)定值比較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;小于(設(shè)定值 -2 ),加熱;大于(設(shè)定值 +2 ),停止加熱;大循環(huán);讀取鍵值;這是 DS18B20 復(fù)位初始化子程序;主機(jī)發(fā)出延時(shí) 537 微秒的復(fù)位低脈沖DJNZ R0,$DJNZ R1,TSR1SETB P2.0 ;然后拉高數(shù)據(jù)線 NOPNOPNOPMOVR0,

14、#25HTSR2: JNBP2.0,TSR3;等待 DS18B20 回應(yīng)DJNZR0,TSR2LJMPTSR4;延時(shí)TSR3: SETBFLAG1;置標(biāo)志位 , 表示 DS1820存在LJMPTSR5TSR4: CLRFLAG1;清標(biāo)志位 , 表示 DS1820不存在LJMPTSR7TSR5: MOVR0,#117TSR6: DJNZR0,TSR6;時(shí)序要求延時(shí)一段時(shí)間TSR7: SETBP2.0RETGET_TEMPER:;讀出轉(zhuǎn)換后的溫度值SETBP2.0LCALLINIT_1820;先復(fù)位 DS18B20JBFLAG1,TSS2RET判斷 DS1820 是否存在 ? 若 DS18B20

15、不存在則返回TSS2: MOVA,#0CCH;跳過(guò) ROM 匹配LCALLWRITE_1820MOVA,#44H;發(fā)出溫度轉(zhuǎn)換命令LCALLWRITE_1820;這里通過(guò)調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間, 等待 AD 轉(zhuǎn)換結(jié)束LCALLDELAY1LCALLINIT_1820;準(zhǔn)備讀溫度前先復(fù)位MOVA,#0CCH;跳過(guò) ROM 匹配LCALLWRITE_1820MOVA,#0BEH;發(fā)出讀溫度命令LCALLWRITE_1820LCALLREAD_18200;將讀出的溫度數(shù)據(jù)保存到35H/36HMOVA,CURTEMPMOVC,40H;將 28H 中的最低位移入CRRCAMOVC,41HRRCA

16、MOVC,42HRRCAMOVC,43HRRCAMOVCURTEMP,ARETWRITE_1820:;寫(xiě) DS18B20的子程序 ( 有具體的時(shí)序要求 )MOVR2,#8;一共 8 位數(shù)據(jù)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 中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù) DS18B20 中讀 ;將溫度高位和低位從 出;低位存入 29H, 高位存入 28H ;數(shù)據(jù)一共有 8 位數(shù)碼管顯示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(xiàn), , -DB63H,39H;CDISPLAYRESULT:;十六進(jìn)制

19、轉(zhuǎn)換為十進(jìn)制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:測(cè)試鍵盤(pán)是否有鍵按下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;延時(shí)子程序MOV:| AVI CCD

溫馨提示

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

評(píng)論

0/150

提交評(píng)論