畢業(yè)論文DS18B20數(shù)字溫度計的設計

上傳人:1666****666 文檔編號:37306420 上傳時間:2021-11-02 格式:DOC 頁數(shù):15 大?。?84.52KB
收藏 版權申訴 舉報 下載
畢業(yè)論文DS18B20數(shù)字溫度計的設計_第1頁
第1頁 / 共15頁
畢業(yè)論文DS18B20數(shù)字溫度計的設計_第2頁
第2頁 / 共15頁
畢業(yè)論文DS18B20數(shù)字溫度計的設計_第3頁
第3頁 / 共15頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)論文DS18B20數(shù)字溫度計的設計》由會員分享,可在線閱讀,更多相關《畢業(yè)論文DS18B20數(shù)字溫度計的設計(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 數(shù)字溫度計的設計 目 錄 第一節(jié) 引言............................................3 1.1 DS18B20引腳功能....................................................4 第二節(jié) DS18B20數(shù)字溫度計的硬件結構設計.................5 2.1 總體設計框圖.......................................................5 2.1.1 主控制器............................

2、..........................5 2.1.2 顯示電路...................................................5 2.1.3 溫度傳感器..............................................5 2.2 DS18B20溫度傳感器與單片機的借口電路................................6 2.3 系統(tǒng)整體硬件電路....................................................7 2.3.1 主板電路.......

3、................................................7 2.3.2 系統(tǒng)板上硬件連接...........................................7 第三節(jié) 軟件設計.........................................8 3.1 主程序..............................................................8 3.2 讀出溫度子程序...............................................

4、.......8 3.3 溫度轉換命令子程序..................................................9 3.4 計算溫度子程序......................................................9 3.5 顯示數(shù)據(jù)刷新子程序.................................................10 第四節(jié) 總結與體會.....................................10 致謝....................................

5、...............10 參考文獻...............................................11 附錄 匯編源程序代碼...................................12 DS18B20數(shù)字溫度計的設計 摘 要 : 本論文介紹了一種以單片機為主要控制器件,以DS18B20為溫度傳感器的新型數(shù)字溫度計。主要包括硬件電路的設計和系統(tǒng)程序的設計。硬件電路主要包括主控制器,測溫電路和顯示電路等,主控制器采用單片機AT89C2051,溫度傳感器采用美國DALLAS半導體公司生產(chǎn)的DS18B20,

6、顯示電路采用4位共陽極LED數(shù)碼管以動態(tài)掃描法直讀顯示。系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序等。此外,還介紹了系統(tǒng)的調試和性能分析。 由于采用了改進型智能溫度傳感器DS18B20作為檢測元件,與傳統(tǒng)的溫度計相比,本數(shù)字溫度計減少了外部的硬件電路,具有低成本和易使用的特點。DS18B20溫度計還可以在高溫報警、遠距離多點測溫控制等方面進行應用開發(fā),具有很好的發(fā)展前景。 關鍵詞:單片機,主控制器,溫度傳感器,DS18B20,AT89C51, 顯示電路,數(shù)字溫度計 第一節(jié) 引言 隨著電子技術的迅速發(fā)展,計算機已深入的滲透到我

7、們的生活中,就51系列而言,由于Intel公司將其內核使用權以專利互換或出售的形式轉給世界許多著名IC制造商,隨著計算機技術的不斷發(fā)展,在工業(yè)測量控制領域內單片機的應用越來越廣泛。同時,隨著超大規(guī)模集成電路工藝和集成制造技術的不斷完善,單片機的硬件集成度也不斷提高,已經(jīng)出現(xiàn)了能滿足各種不同需求、具有各種特殊功能的單片機,這類單片機具有集成度高、性能價格比優(yōu)越、貨源充足等優(yōu)點,在工業(yè)測量領域內獲得了極為廣泛的應用價值。 溫度是一個十分重要的物理量,對它的測量與控制有十分重要的意義。隨著現(xiàn)代工農(nóng)業(yè)技術的發(fā)展及人們對生活環(huán)境要求的提高,人們也迫切需要檢測與控制溫度。在人類的生活環(huán)境中,溫度扮演著極

8、其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。溫度對于工業(yè)如此重要,由此推進了溫度傳感器的發(fā)展。 本應用系統(tǒng)設計的目的是通過在“單片機原理及應用”課堂上學習的知識,以及查閱資料,培養(yǎng)一種自學的能力。并且引導一種創(chuàng)新的思維,把學到的知識應用到日常生活當中。在設計的過程中,不斷的學習,思考和同學間的相互討論,運用科學的分析問題的方法解決遇到的困難,掌握單片機系統(tǒng)一般的開發(fā)流程,學會對常見問題的處理方法,積累設計系統(tǒng)的經(jīng)驗,充分發(fā)揮教學與實踐的結合。全能提高個人系統(tǒng)開發(fā)的綜

9、合能力,開拓了思維,為今后能在相應工作崗位上的工作打下了堅實的基礎。 本課題研究的內容就是以單片機為主要控制元件,通過溫度傳感器實現(xiàn)對溫度的測量,并通過數(shù)碼管直接顯示所測溫度。由于本人所學知識有限,設計過程中難免出現(xiàn)錯誤,還請各位老師批評指正。 1.1 DS18B20引腳功能   TO-92封裝的DS18B20的引腳排列見圖1,其引腳功能描述見表1。 (底視圖)圖1   表1 DS18B20詳細引腳功能描述 序號 名稱 引腳功能描述 1 GND 地信號 2 DQ 數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。 3

10、 VDD 可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。 第2節(jié) DS18B20數(shù)字溫度計的硬件結構設計 2.1 總體設計框圖 溫度計電路設計總體設計方框圖如圖2所示,控制器采用單片機AT89C51,溫度傳感器采用DS18B20,用LED數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示。 圖2 總體設計方框圖 2.1.1 主控制器 單片機AT89C51具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設計需要,很適合便攜手持式產(chǎn)品的設計使用系統(tǒng)可用二節(jié)電池供電。 2.

11、1.2 顯示電路 顯示電路采用共陽LED數(shù)碼管,從P1.0—P1.7串口輸出段碼。 2.1.3 溫度傳感器 DS18B20溫度傳感器是美國DALLAS半導體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9--12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點如下: (1)、只要求一個端口即可實現(xiàn)通信; (2)、在DS18B20中的每個器件上都有獨一無二的序列號; (3)、實際應用中不需要外部任何元器件即可實現(xiàn)測溫; (4)、測量溫度范圍在-55。C到+125。C之間; (5)、數(shù)字

12、溫度計的分辨率用戶可以從9位到12位選擇; (6)、內部有溫度上、下限告警設置; DS18B20采用3腳PR--35封裝或8腳SOIC封裝,其內部結構框圖如圖3所示。 圖3 DS18B20內部結構 2.2 DS18B20溫度傳感器與單片機的借口電路 DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳座位信號線,3腳接電源。另一種是寄生電源供電方式,如圖4所示單片機端口接單線總線,為保證在有效地DS18B20時鐘周期內提供足夠的電源,可用一個MOSFET管來完成對總線的上拉。 當DS18B

13、20處于寫存儲器操作和溫度A/D轉換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us.采用寄生電源供電方式時VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。 圖4 DS18B20與單片機的接口電路 2.3 系統(tǒng)整體硬件電路 2.3.1 主板電路 系統(tǒng)整體硬件電路包括:傳感器數(shù)據(jù)采集電路,溫度顯示電路,單片機主板電路等,如圖5所示。 2.3.2 系統(tǒng)板上硬件連接 (1) .把“單片機系統(tǒng)”區(qū)域中的P0.0--P0.7用8芯排線連接到“動態(tài)數(shù)碼顯示”區(qū)域中的ABCDEFGH端子上。 (2) .把“單片機系

14、統(tǒng)”區(qū)域中的P2.0--P2.7用8芯排線連接到“動態(tài)數(shù)碼顯示”區(qū)域中的 S1S2S3S4S5S6S7S8端子上。 (3) .把DS18B20芯片插入“四路單總線”區(qū)域中的任一個插座中,注意電源與地信號不要接反。 (4) .把“四路單總線”區(qū)域中的對應的DQ端子連接到“單片機系統(tǒng)”區(qū)域中的P3.7/RD端子上。 第3節(jié) 軟件 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序等。 3.1 主程序 主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度

15、,其程序流程見圖6所示。 圖6 主程序流程圖 圖7 讀溫度流程圖 3.2 讀出溫度子程序 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序流程圖如圖7所示。 圖8 溫度轉換流程圖 3.3 溫度轉換命令子程序 溫度轉換命令子程序主要是溫度轉換開始命令,當采用12位分辨率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如上圖8所示。 3.4 計算溫度子程序 計算溫度子程序將R

16、AM中讀取值進行BCD碼的轉換運算,并進行溫度值正負的判定,其程序流程圖如圖9所示。 圖9 計算溫度流程圖 圖10 顯示數(shù)據(jù)刷新流程圖 3.5 顯示數(shù)據(jù)刷新子程序 顯示數(shù)據(jù)刷新子程序主要是對現(xiàn)實緩沖器中的顯示數(shù)據(jù)進行刷新操作,當最高顯示位為0時將符號顯示位移入下一位。程序流程圖如圖10所示。 第4節(jié) 總結與體會 經(jīng)過這段時間的努力,終于完成了我的DS18B20數(shù)字溫度計的設計,雖然沒有完全達到設計要求,但從心底里說,還是非常開心的,高興之余不得不深思呀! 在本次設計的過程中,我發(fā)現(xiàn)很多問題,雖然以前也做過這樣類似的設計但

17、這次設計真的讓我長進了很多,單片機課程設計重點就在于軟件算法的設計,需要有很巧妙地程序算法,雖然以前寫過幾次程序,但我覺得寫好一個程序并不是一件簡單的事。舉個例子,以前寫的那幾次,數(shù)據(jù)加減時我用的都是BCD碼,這一次,我全部用的都是16進制的數(shù)直接加減,顯示處理時在用除法去刪分,感覺效果比較好,有好多的東西,只要我們去試著做了,才能真正的掌握,只學習理論有些東西是很難理解的,更說不上掌握。 從這次的設計中,我真真正正的意識到,在以后的學習中,要理論聯(lián)系實際,把我們所學的理論知識用到實際當中,學習單片機更應該這樣,程序只有在經(jīng)常地寫與讀的過程中才能提高,這就是我在這次設計中的最大收獲。

18、參考文獻 [1] 李朝青.單片機原理及接口技術(簡明修訂版).杭州:北京航空航天大學出版社,1998 [2] 李廣弟.單片機基礎[M].北京:北京航空航天大學出版社,1994 [3] 閻石.數(shù)字電子技術基礎(第三版).北京:高等教育出版社,1989 [4] 廖常初.現(xiàn)場總線概述[J].電工技術,1999 [5] 張靖武,周靈彬.單片機原理、應用與PROTEUS仿真.北京:電子工業(yè)出版社,2007 附錄 匯編源程序代碼 ORG 00H TMPL EQU 29H ;用于保存讀出溫度的低8位

19、 TMPH EQU 28H ;用于保存讀出溫度的高8位 FLAG1 EQU 38H ;是否檢測到DS18B20標志位27H.0 DATAIN BIT P3.7 MAIN: LCALL GET_TEMPER ;調用讀溫度子程序 LCALL CVTTMP LCALL DISP1 AJMP MAIN ;DS18B20復位初始化子程序 INIT_1820: SETB DATA

20、IN NOP CLR DATAIN ;主機發(fā)出延時537ms的復位低脈沖 MOV R1,#3 TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB DATAIN ;然后拉高數(shù)據(jù)線 NOP NOP NOP MOV R0,#25H TSR2

21、: JNB DATAIN,TSR3 ;等待DS18B20回應 DJNZ R0,TSR2 CLR FLAG1 ;清標志位,表示DS18B20不存在 SJMP TSR7 TSR3: SETB FLAG1 ;置標志位,表示DS18B20存在 CLR P1.7 ;檢測到DS18B20就點亮P1.7LED MOV R0,#117 TSR6: DJN

22、Z R0,$ ;時序要求延時一段時間 TSR7: SETB DATAIN RET ;讀出轉換后的溫度值 GET_TEMPER:SETB DATAIN LCALL INIT_1820 ;先復位DS18B20 JB FLAG1,TSS2 NOP RET ;判斷DS18B20是否存在?若DS18B20不存在,則返回 TSS2:

23、 MOV A,#0CCH ;跳過ROM匹配 LCALL WRITE_1820 MOV A,#44H ;發(fā)出溫度轉換命令 LCALL WRITE_1820 ACALL DISP1 LCALL INIT_1820 ;準備讀溫度前先復位 MOV A,#0CCH ;跳過ROM匹配 LCALL WRITE_1820 MOV

24、 A,#0BEH ;發(fā)出溫度轉換命令 LCALL WRITE_1820 LCALL READ_18200 ;將讀出的溫度數(shù)據(jù)保存到35H/36H RET ;寫DS18B20的子程序(有具體的時序要求) WRITE_1820:MOV R2,#8 ;一共8位數(shù)據(jù) CLR C WR1: CLR DATAIN MOV R3,#6

25、DJNZ R3,$ RRC A MOV DATAIN,C MOV R3,#23 DJNZ R3,$ SETB DATAIN NOP DJNZ R2,WR1 SETB DATAIN RET ;讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數(shù)據(jù) READ_18200:MOV R4,#2

26、 ;將溫度高位和低位從DS18B20中讀出 MOV R1,#29H ;低位存入29H(TEMP_L)中,高位存入28H(TEMPH)中 RE00: MOV R2,#8 ;數(shù)據(jù)一共有8位 RE01: CLR C SETB DATAIN NOP NOP CLR DATAIN NOP NOP NOP

27、 SETB DATAIN MOV R3,#9 RE10: DJNZ R3,RE10 MOV C,DATAIN MOV R3,#23 RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET CVTTMP:

28、 MOV A,TMPH ANL A,#80H JZ TMPC1 CLR C MOV A,TMPL CPL A ADD A,#1 MOV TMPL,A MOV A,TMPH CPL A ADDC A,#0 MOV TMPH,A MOV

29、73H,#0BH ;顯示負號”-“ SJMP TMPC11 TMPC1: MOV 73H,#0AH ;正數(shù)符號不顯示 TMPC11: MOV A,TMPL ANL A,#0FH MOV DPTR,#TMPTAB MOVC A,@A+DPTR MOV 70H,A ;小數(shù)部分 MOV A,TMPL ANL A,#0

30、F0H SWAP A MOV TMPL,A MOV A,TMPH ANL A,#0FH SWAP A ORL A,TMPL H2BCD: MOV B,#100 DIV AB JZ B2BCD1 MOV 73H,A ;百位不等于0時,保存 B2BCD1: MOV A,#10

31、 XCH A,B DIV AB MOV 72H,A ;十位 MOV 71H,B ;個位 TMPC12: NOP DISBCD: MOV A,73H ANL A,#0FH CJNE A,#1,DISBCD0 SJMP DISBCD1 ;百位為1,個位、十位不管是不是0,都要顯示 DISBCD0: MOV A,72H

32、 ;百位不為1,就是0A不顯示,0B為負號 ANL A,#0FH ;十位是0時,正數(shù)只顯示個位 JNZ DISBCD1 ;十位是0時,負數(shù)的負號移到十位的位置上 MOV A,73H ;此時百位不顯示,為0BH MOV 72H,A MOV 73H,#0AH DISBCD1: RET TMPTAB: DB 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9 DIS

33、P1: MOV R1,#70H MOV R5,#0FEH PLAY: MOV P1,#0FFH MOV A,R5 MOV P2,A MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A MOV A,R5 JB ACC.1,LOOP1

34、 CLR P1.7 ;顯示小數(shù)點 LOOP1: LCALL DL1MS INC R1 MOV A,R5 JNB ACC.3,ENDOUT RL A MOV R5,A SJMP PLAY ENDOUT: MOV P1,#0FFH ;關顯示,消串影 MOV P2,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,0FFH,0BFH DL1MS: MOV R6,#14H DL1: MOV R7,#100 DJNZ R7,$ DJNZ R6,DL1 RET END

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!