數(shù)字式溫度計(jì)的設(shè)計(jì)與調(diào)試論文設(shè)計(jì)_第1頁(yè)
數(shù)字式溫度計(jì)的設(shè)計(jì)與調(diào)試論文設(shè)計(jì)_第2頁(yè)
數(shù)字式溫度計(jì)的設(shè)計(jì)與調(diào)試論文設(shè)計(jì)_第3頁(yè)
數(shù)字式溫度計(jì)的設(shè)計(jì)與調(diào)試論文設(shè)計(jì)_第4頁(yè)
數(shù)字式溫度計(jì)的設(shè)計(jì)與調(diào)試論文設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)字式溫度計(jì)的制作與調(diào)試文檔第19組 組員:王建龍、王科目錄一、總體設(shè)計(jì)方案31、總設(shè)計(jì)方框圖32、系統(tǒng)整體硬件電路3二、系統(tǒng)軟件設(shè)計(jì)51、主程序52、讀溫度子程序63、溫度轉(zhuǎn)換命令子程序74、計(jì)算溫度子程序85、顯示數(shù)據(jù)刷新子程序96、LED顯示程序9三、各模塊設(shè)計(jì)思路111、測(cè)溫模塊112、定時(shí)1S113、LED顯示模塊11四、電路調(diào)試記錄12五、總結(jié)13六、附錄141、DS18B20的內(nèi)部結(jié)構(gòu)幾管腳分布142、元件清單153、參考程序16一、總體設(shè)計(jì)方案 1、總設(shè)計(jì)方框圖顯示模塊報(bào)警模塊測(cè)溫模塊主 控 制 器時(shí)鐘模塊復(fù)位模塊顯示驅(qū)動(dòng)圖1 總設(shè)計(jì)方框圖我們選用以51單片機(jī)為主控制器,以數(shù)字

2、式溫度傳感器DS18B20為傳感元件,以四位LED數(shù)碼管作為顯示器件實(shí)時(shí)動(dòng)態(tài)顯示測(cè)量溫度(十進(jìn)制)。通過(guò)獨(dú)立式按鍵模塊來(lái)實(shí)現(xiàn)溫度上下限值的設(shè)定及溫度的報(bào)警功能。測(cè)溫范圍在-55125,誤差在±0.5以?xún)?nèi),溫度測(cè)量間隔時(shí)間選擇1S2、系統(tǒng)整體硬件電路 系統(tǒng)整體硬件電路包括:傳感器數(shù)據(jù)采集電路、溫度顯示電路、上下限報(bào)警調(diào)整電路、單片機(jī)主板電路等,如圖2所示。圖2 整體硬件電路原理圖PCB圖二、系統(tǒng)軟件設(shè)計(jì)系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。主程序報(bào)警按鍵顯示測(cè)溫定時(shí)A/D轉(zhuǎn)換定時(shí)1秒接收數(shù)據(jù)發(fā)送數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)換LED顯示獨(dú)立式按鍵

3、蜂鳴器報(bào)警圖3 軟件流程圖1、主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程圖如圖4所示。初始化調(diào)用顯示子程序1S到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開(kāi)始命令NYNY圖4 主程序流程圖2、讀溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě),其程序流程圖如圖5所示。Y發(fā)DS18B20復(fù)位命令發(fā)跳過(guò)ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗(yàn)9字節(jié)完?CRC校驗(yàn)正確?移入溫度暫存器結(jié)束NNY圖5 讀溫度

4、流程圖3、溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。其程序流程圖如圖6所示。發(fā)DS18B20復(fù)位命令發(fā)跳過(guò)ROM命令發(fā)溫度轉(zhuǎn)換開(kāi)始命令結(jié)束圖6 溫度轉(zhuǎn)換流程圖 4、計(jì)算溫度子程序 計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定。其程序流程圖如圖7所示。 開(kāi)始溫度零下?溫度值取補(bǔ)碼置“”標(biāo)志計(jì)算小數(shù)位溫度BCD值 計(jì)算整數(shù)位溫度BCD值 結(jié)束置“+”標(biāo)志NY圖7計(jì)算溫度流程圖 5、顯示數(shù)據(jù)刷新子程序 顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移

5、入下一位。其程序流程圖如圖8所示。溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào)) 結(jié)束NNYY圖8顯示數(shù)據(jù)刷新流程圖 6、LED顯示程序 顯示電路采用四位共陽(yáng)LED數(shù)碼管,我們選用的是共陽(yáng)極顯示器,選擇的工作方式為動(dòng)態(tài)顯示,動(dòng)態(tài)顯示是一位一位的輪流點(diǎn)亮各位顯示數(shù)碼管,我們選擇的是4位LED顯示。段控碼送P0口,位倥碼送P2口,我們選擇的顯示緩沖區(qū)為70H73H。其程序流程圖如圖9所示。開(kāi)始顯示查表求取顯示字符的段控碼送段控碼送位控碼存位控碼位控碼左移一位 是否移到左邊?掃描顯示返回圖9 LED顯示流程圖三、各模塊設(shè)計(jì)思路1、測(cè)溫模塊單

6、片機(jī)外界溫度傳感器說(shuō)明:該模塊主要是用來(lái)完成檢測(cè)外界的實(shí)時(shí)溫度,將檢測(cè)的溫度傳給單片機(jī),進(jìn)行溫度檢測(cè) 。2、定時(shí)1S( 50ms循環(huán)20次)我們采用的是方式1,定時(shí)中斷01)初值計(jì)算: (216X ) ×1=50ms 得出X=3CB0H TH0=3CH ,TL0=0B0H2)TMOD計(jì)算: G C/T/ M1 M0 G C/T/ M1 M0 0 0 0 0 0 0 0 1 即計(jì)算出TMOD=01H 3、LED顯示模塊單片機(jī)傳感器LED顯示說(shuō)明:該模塊做主要用來(lái)完成外界溫度傳給單片機(jī)的信號(hào)通過(guò)LED顯示器將結(jié)果顯示出來(lái)。四、電路調(diào)試記錄在硬件軟件的聯(lián)調(diào)過(guò)程中,剛開(kāi)始調(diào)試的時(shí)候,LED數(shù)

7、碼管顯示127.9度,超過(guò)了溫度傳感器的最高溫度125度。后來(lái)發(fā)現(xiàn)是因?yàn)闆](méi)加+5V的電壓,把+5V的電壓加入電路之后,LED數(shù)碼管顯示室溫30.4度,存在誤差,和正常室溫相差不多。為了測(cè)試傳感器的靈敏度,我們先用手心的溫度給傳感器加熱,發(fā)現(xiàn)溫度最高變化到34.4度左右,如果把手撤離傳感器,溫度能下降。為了更好的測(cè)試傳感器的靈敏度,使變化范圍變大,我們就用加熱的電烙鐵去給傳感器加熱,發(fā)現(xiàn)溫度一上升到99.9度,就重新跳回了10度左右,上升不到100度。我們先檢查硬件的問(wèn)題,發(fā)現(xiàn)LED數(shù)碼管能正常顯示,說(shuō)明硬件沒(méi)有問(wèn)題,于是我們就去檢查軟件編程的問(wèn)題,發(fā)現(xiàn)在判斷百位時(shí)跳轉(zhuǎn)出錯(cuò),在把跳轉(zhuǎn)的內(nèi)容改了之

8、后,我們?cè)儆眉訜岬碾娎予F去給傳感器加溫,測(cè)試溫度能不能達(dá)到100度以上,結(jié)果發(fā)現(xiàn)加熱的電烙鐵能使溫度達(dá)到117度左右,基本趨于正常。五、總結(jié)硬件方面出現(xiàn)的問(wèn)題:1、接地跟接電源搞錯(cuò)2、三極管接反3、封裝圖調(diào)用錯(cuò)誤4、頂層跟底層的布線(xiàn)錯(cuò)誤5、LED的原理圖庫(kù)的引腳畫(huà)錯(cuò)軟件方面出現(xiàn)的錯(cuò)誤:1、顯示小數(shù)點(diǎn)的時(shí)候沒(méi)有加延時(shí)程序2、在判斷位控時(shí),不能返回到主程序3、顯示時(shí)出現(xiàn)亂碼4、把跳轉(zhuǎn)指令和調(diào)用指令搞錯(cuò)六、附錄1、DS18B20的內(nèi)部結(jié)構(gòu)幾管腳分布 圖10 DS18B20的管腳分布及內(nèi)部組成    DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度

9、傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖14所示DQ為數(shù)字信號(hào)輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線(xiàn)方式時(shí)接地)。2、元件清單3、參考程序TEMPHEAD EQU 36HBITST DATA 20HTIME1SOK BIT BITST.1TEMPONEOK BIT BITST.2TEMPL DATA 26HTEMPH DATA 27HTEMPHC DATA 28HTEMPLC DATA 29HTEMPDIN BIT P3.4ORG 0000HLJMP MAINORG 000BH ;定時(shí)1秒中斷源入口地址LJMP AAA

10、ORG 0040HMAIN:MOV SP,#40H ;初始化 MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV R4,#20 SETB EA SETB ET0 SETB TR0 CLR 20H CLR 30HLOOP1:LCALL DIS JNB 30H, LOOP1 ;判斷1秒是否到 CLR 30H JNB 20H,LOOP2 ;判斷是否是初次上電 LCALL READTEMP1 ;調(diào)用讀DS18B20子程序 LCALL CONVTEMP ;調(diào)用處理溫度BCD碼子程序 LCALL DIS ;調(diào)用顯示LOOP2:LCALL READTEMP ;調(diào)用溫度轉(zhuǎn)

11、換子程序 SETB 20H LJMP LOOP1AAA:DJNZ R4,LOOP ;定時(shí)1秒 SETB 30H MOV R4,#20LOOP:MOV TH0,#3CH MOV TL0,#0B0H RETIINITDS1820: SETB TEMPDIN NOP NOP CLR TEMPDIN MOV R6 ,#0A0H ;延時(shí)480us DJNZ R6 ,$ MOV R6 ,#0A0H DJNZ R6 ,$ SETB TEMPDIN MOV R6 ,#32H ;延時(shí)70us DJNZ R6 ,$ MOV R6 ,#3CHLOOP1820: MOV C,TEMPDIN JC INITDS1820

12、OUT DJNZ R6,LOOP1820 MOV R6 ,#064H ;延時(shí)200us DJNZ R6 ,$ SJMP INITDS1820 RETINITDS1820OUT: SETB TEMPDIN RETREADDS1820: MOV R7,#08H SETB TEMPDIN NOP NOPREADDS1820LOOP: CLR TEMPDIN NOP NOP NOP SETB TEMPDIN MOV R6 ,#07H ;延時(shí)15us DJNZ R6 ,$ MOV C,TEMPDINMOV R6,#3CH DJNZ R6,$ RRC A SETB TEMPDIN DJNZ R7,READ

13、DS1820LOOP MOV R6,#3CH DJNZ R6,$ RETWRITEDS1820: MOV R7,#08H SETB TEMPDIN NOP NOPWRITEDS1820LOP:CLR TEMPDIN MOV R6,#07H DJNZ R6,$ RRC A MOV TEMPDIN,C MOV R6,#34H DJNZ R6,$ SETB TEMPDIN DJNZ R7,WRITEDS1820LOP RETREADTEMP: LCALL INITDS1820 MOV A,#0CCH LCALL WRITEDS1820 MOV R6,#34 DJNZ R6,$ MOV A,#44H

14、LCALL WRITEDS1820 MOV R6,#34H DJNZ R6,$ RETREADTEMP1: LCALL INITDS1820 MOV A,#0CCH LCALL WRITEDS1820 MOV R6,#34H DJNZ R6,$ MOV A,#0BEH LCALL WRITEDS1820 MOV R6,#34H DJNZ R6,$ MOV R5,#09H MOV R0,#TEMPHEAD MOV B,#00HREADTEMP2: LCALL READDS1820 MOV R0,A INC R0READTEMP21: LCALL CRC8CAL DJNZ R5,READTEMP2

15、 MOV A,B JNZ READTEMPOUT MOV A,TEMPHEAD+0 MOV TEMPL,A MOV A,TEMPHEAD+1 MOV TEMPH,AREADTEMPOUT: RETCONVTEMP: MOV A,TEMPH ANL A,#80H JZ TEMPC1 CLR C MOV A,TEMPL CPL A ADD A,#01H MOV TEMPL,A MOV A,TEMPH CPL A ADDC A,#00H MOV TEMPH,A MOV TEMPHC,#0BH SJMP TEMPC11TEMPC1: MOV TEMPHC,#0AHTEMPC11: MOV A,TEMP

16、HC SWAP A MOV TEMPHC,A MOV A,TEMPL ANL A,#0FH MOV DPTR,#TEMPDOTTAB MOVC A,A+DPTR MOV TEMPLC,A MOV A,TEMPL ANL A,#0F0H SWAP A MOV TEMPL,A MOV A,TEMPH ANL A,#0FH SWAP A ORL A,TEMPL LCALL HEX2BCD1 MOV TEMPL,A ANL A,#0F0H SWAP A ORL A,TEMPHC MOV TEMPHC,A MOV A,TEMPL ANL A,#0FH SWAP A ORL A,TEMPLC MOV TE

17、MPLC,A MOV A,R7 JZ TEMPC12 ANL A,#0FH SWAP A MOV R7,A MOV A,TEMPHC ANL A,#0FH ORL A,R7 MOV TEMPHC,ATEMPC12: RETTEMPDOTTAB: DB 00H,01H,01H,02H,03H,03H,04H,04H,05H,06H DB 06H,07H,08H,08H,09H,09HHEX2BCD1: MOV B,#064H ;十六進(jìn)制->BCD DIV AB;B=A&100 MOV R7,A;R7=百位數(shù) MOV A,#0AH; XCH A,B; DIV AB ;B=A&

18、B SWAP A ORL A,B RETCRC8CAL: PUSH ACC MOV R7,#08HCRC8LOOP1: XRL A,B RRC A MOV A,B JNC CRC8LOOP2 XRL A,#18HCRC8LOOP2: RRC A MOV B,A POP ACC RR A PUSH ACC DJNZ R7,CRC8LOOP1 POP ACC RETDIS:MOV A,TEMPLC ;刷新子程序 ANL A,#0F0H SWAP A MOV 71H,A MOV A,TEMPLC ANL A,#0FH MOV 70H,A MOV A,TEMPHC ANL A,#0FH MOV 72H,A MOV A,TEMPHC ANL A,#0F0H SWAP A MOV 73H,A MOV A,TEMPHC ;符號(hào)位判斷 ANL A,#0F0H CJNE A,#010H,LSSS SJMP LD0LSSS:MOV A,TEMPHC ANL A,#0FH JNZ LD0 MOV A,28H SWAP A ANL A,#0FH MOV 73H,#0AH MOV 72H,ALD0: MOV R1,#70H ;顯示子程序 MOV R2,#11111110BLD2:MOV P0,#00H

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論