基于單片機的數(shù)字溫度計設(shè)計報告教材_第1頁
基于單片機的數(shù)字溫度計設(shè)計報告教材_第2頁
基于單片機的數(shù)字溫度計設(shè)計報告教材_第3頁
基于單片機的數(shù)字溫度計設(shè)計報告教材_第4頁
基于單片機的數(shù)字溫度計設(shè)計報告教材_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字溫度計設(shè)計報告湖南理工學(xué)院姓名:趙燦燦班級:1202班院別:物電專業(yè):電子科學(xué)與技術(shù)學(xué)號導(dǎo)老師:梅孝安7一、 引言.2二、 設(shè)計任務(wù)與要求.3三、 設(shè)計方案.31、 設(shè)計方案選擇.32、 溫度傳感器DS18B20介紹及其測溫原理.4四、 系統(tǒng)硬件電路的設(shè)計.61、 主控制器.62、 顯不電路.73、 DS18B20與單片機的接口電路.8五、 系統(tǒng)的軟件設(shè)計.91、 主程序.92、讀岀溫度子程序.93、 溫度轉(zhuǎn)換命令子程序.104、 計算溫度子程序.11六、 測試與仿真 .11七、 心得體會 .12參考文獻.13附錄:.147、引言在日常生活及工農(nóng)業(yè)生產(chǎn)中,經(jīng)常要用

2、到溫度檢測及控制,傳 統(tǒng)的測溫元件有熱電偶和熱電阻,而熱電偶和熱電阻輸出的一般 都是電壓,需要信號調(diào)理電路、A/D轉(zhuǎn)換及相應(yīng)的接口電路,才 能把電壓信號轉(zhuǎn)換成數(shù)字信號送到計算機去處理,硬件電路復(fù)雜, 制作成木高。數(shù)字溫度計的出現(xiàn),使得這些問題迎刃而解,它不 僅拓寬了溫度計的應(yīng)用范圍,而且具有實時性、準(zhǔn)確性、高效性 等特點。木次設(shè)計采用美國DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20作為 檢測元件,可以直接讀出被測溫度值,而且采用三線制與單片機 相連,減少了外部的硬件電路,具有低成木和易使用的特點。二、 設(shè)計任務(wù)與要求應(yīng)用所學(xué)知識設(shè)計一個數(shù)字溫度計,要求:1、測溫范圍在-55-+125C;2、誤差

3、在土0.5C以內(nèi);3、采用液晶屏顯示測量溫度值;7三、 設(shè)計方案1、設(shè)計方案選擇木次設(shè)計采用美國DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20作為 檢測元件,測量范圍為-55+125C,最高分辨率可達0.0625CoDS18B20可以直接讀岀被測溫度值,而且采用三線制與單片 機相連,減少了外部的硬件電路,具有低成本和易使用的特點。按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng)由3個模塊組成:主控制 器、測溫電路和顯示電路??傮w電路結(jié)構(gòu)框圖如圖1所示。圖1數(shù)字溫度計總體電路結(jié)構(gòu)框圖2、溫度傳感器DS18B20介紹及其測溫原理(1) DS18B20的性能特點DS18B20是DALLAS公司生產(chǎn)的一線式溫度傳感器,采

4、用3 腳PR35封裝或8腳SOIC封裝,如圖2所示。DQ(2腳)為數(shù)字信 號輸入/輸出端,GND (1腳)為電源地,VDD (3腳)為外接供 電電源輸入端(在寄生電源接線方式時接地)。DS18B20的性能 特點如下:7 單線接口,只有一根信號線與CPU連接; DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)測溫;7DS18B20 123DD TGND_2DS18B20|NC _3NC _:DQD DVDVD存儲和控制邏輯溫度傳感器 傳送串行數(shù)據(jù),不需要外部元件。 可通過數(shù)據(jù)線供電,電壓范圍為3.0-5.5V; 零待機功耗; 溫度以9或12位數(shù)字,對應(yīng)的可分

5、辨溫度分別為0.5C、0.25C 0.125C和0.0625C,可實現(xiàn)高精度測溫; 用戶可定義報警設(shè)置; 報警搜索命令識別并標(biāo)志超過程序限定溫度的器件; 現(xiàn)場溫度以”一線總線“串行傳送給CPU,同時可傳送CRC 校驗碼,具有極強的抗干擾糾錯能力。sosi封裝GND I/O UDDPR-35封裝圖2DS18B20引腳排列圖(2)DS18B20的內(nèi)部結(jié)構(gòu)高溫觸發(fā)器高速暫存器D DVDVD供電方式選擇8位CRC生成器低溫觸發(fā)器配置寄存器VecNCNCNC7圖3DS18B20內(nèi)部結(jié)構(gòu)圖7DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。完成后的溫度 值用16位符號擴展的二進制補碼讀數(shù)形式存儲在高速暫存

6、RAM的 第0、1字節(jié)中。單片機可以通過單線接口讀出該數(shù)據(jù)。讀數(shù)據(jù)時, 低位在先,高位在后,數(shù)據(jù)格式以0.0625C/LSB形式表示。溫度值 格式如表1所示。SSSSS26252423222122-1222-?2-符號位整數(shù)部分小數(shù)部分(3)DS18B20的測溫原理DS18B20的測溫原理如圖4所示,圖中低溫度系數(shù)晶振的振蕩 頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號給計數(shù)器1。 高溫度系數(shù)晶振隨溫度變化其振動頻率明顯改變,所產(chǎn)生的信號作為 計數(shù)器2的脈沖輸入。7XTAL1XTAL2RSTPO.OWDO P0.1 WD1P0.2WD2P0.3/AD3P0.4/AD4P0.5ZAD5P0.6

7、ZAD6P0.7ZAD7PSEN ALEEAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1 7四、系統(tǒng)硬件電路的設(shè)計1、主控制器主控制器選用Atmel公司89系列單片機中AT89C51 o AT89C51單片機片內(nèi)有4KB的Flash存儲器,可以在線下載程序,方便在系統(tǒng)的開發(fā)過程中進行程序的調(diào)試。晶振采用12MHZoU1P2.0/A8P2.1/A9 P2.2XA10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7XA15P3.0)RXD P3.1/TXD P3.2JlNT0P3.3jlNTTP3.4/T0 P3.5/T1P3.6MjRP3.7 雨

8、AT89C51 圖5 AT89C51外部芯片及引腳排列圖2、顯不電路采用液晶顯示屏LCD 1602顯示,第一行顯示Cuircnt temp”,第二行顯示實時溫度。用P0 口進行LCD 1602的數(shù)據(jù)寫操作,P2.0P2.2 口進行LCD 1602的命令控制端口。電路圖如下:7LCD1U1RV1L XwJSSPACK-3SSPACK-3?4P2.1XA9P2.2/A10P2.3ZA11P2.4/A12P2.5/A13 P2.6ZA14 P2.7/A1522 FW23E-R2P3.0/RXDP3.1/TXDP3.2/TNTOP3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD

9、4.7kTU2VCCDQGNDDS18B2050.0圖6溫度顯示電路3、DS18B20與單片機的接口電路DS18B20與單片機的連接有兩種方法,一種是VDD接外部電源, GND接地,DQ與單片機的I/O線相連;另一種是用寄生電源供電; 木設(shè)計采用外接電源方式,DQ端(2腳)接AT89C51的P3.3腳與微 處理器通信。圖7 DS18B20與單片機的接口電路LM016LLM016L Exb :TALTAL1 1XTAL2XTAL23 RSRl.OMQORl.OMQO RMRM帥 FG23D2FG23D2 FC.3CAKFC.3CAK F0.4MMF0.4MM F5(AD5F5(AD5 FC.6C

10、AC6FC.6CAC6 FOFO 7(AD77(AD7P2UA6P2UA6P2.1/A9P2.1/A9 P22A10P22A101k1k TEXT 24323272時 W E12147五、系統(tǒng)的軟件設(shè)計系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程 序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序等。1、主程序主程序的主要功能是測溫系統(tǒng)初始化,溫度的實時顯示、讀 出并處理DS18B20的測量溫度值。主程序流程圖如圖8所示。圖8主程序流程圖2、讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié)。在讀出時須進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。讀出溫度子程序流程圖如圖9所示。7

11、圖9讀出溫度子程序流程圖3、溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令。當(dāng)采用12 位分辨率時,轉(zhuǎn)換時間約為750mso程序流程圖如圖10所示。74、計算溫度子程序計算溫度子程序?qū)AM中的讀取值進行BCD碼的轉(zhuǎn)換、運算, 并進行溫度值正負(fù)的判定。程序流程圖如圖11所示。圖11計算溫度子程序流程圖六、測試與仿真本設(shè)計是在ISIS 7 Professional環(huán)境下進行仿真的,仿真所用到 的器件有:單片機AT89C51,溫度傳感器DS18B20,蜂鳴器,液晶 顯示器,一些電阻,電容等。以下是仿真電路圖:7由圖可知:木設(shè)計在仿真條件下可以正確的顯示溫度,且可以精 確到oc,滿足要

12、求。七、心得體會總的來說,這次課程設(shè)計還是挺成功的。但在這個過程中,還是 遇到了不少了問題,最后在老師和同學(xué)的幫助下,終于成功的解決了 問題。通過這次對數(shù)字溫度計的設(shè)計與制作,讓我了解了設(shè)計電路的 程序,也讓我了解了關(guān)于數(shù)字溫度計的原理與設(shè)計理念。單片機課程設(shè)計的重點就在于軟件算法的設(shè)計,需要有很巧妙的 程序算法,雖然以前寫過一些程序,但覺的要寫好一個程序并不是一LCD1U.C16L =TECPA7B9C51 rn-7件簡單的事,我們只有不斷的調(diào)試,不斷的修改才能把程寫的更好。很多時候,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論往往是不夠的,實踐才是硬道理。參考文獻1單片機原理及應(yīng)用第二版

13、.曾屹著.中南大學(xué)出版社2電子技術(shù)基礎(chǔ)(第五版)華中科技大學(xué)電子技術(shù)課程組編M.康華光著. 高等教育出版社3單片機課程指導(dǎo)樓然苗、李光飛編著,北京航空航天大學(xué)大學(xué)出版社451單片機C語言教程郭天祥編著7ws0=t%10;附錄:1、主程序main.c#inckide#include#define uint unsigned int#define uchar unsigned charvoid Initialize_LCD();void ShowString(uchar x.uchar y,uchar *str);void Delayms(uint); int Get_Temperature();

14、void to_str(int x,uchar *p)將整數(shù)x轉(zhuǎn)換為字符串uchar ws4; int t;/t 為 x 的絕對值if(x0)p0=-*; t=x*(-l); elsep0= ;t=x; ws3=t/l 000;ws2=t% 1000/100;wsl =t% 100/10;pl =ws3+,0,;p2=ws2+,0,;p3=wsl+,0,;p4=7;p5=ws0+0;p6三 C;if(ws3=0) p=if(ws3=0&ws=0)p三;)void main()int t;uchar code strl 16=XH:uchar code str2 16=

15、nXM:zhaocancanH;uchar str316=HCurrent Temp:”;uchar temp16=HInitialize_LCD();ShowString(0,0,str 1);ShowString(0,1 ,str2);Delayms(5000);ShowString(0,0,str3);while(l)t=Get_Temperature();to_str(t,temp+4);ShowString(0J Jenip); Delayms(lOO);2、溫度傳感器子程序DS18B20.C#inckide7#include#define uchar unsigned char#d

16、efine uint unsigned intsbit DQ=P3A3;void Delay(uint x) while(-x);)uchar Init_DS 18B20()/成功返回0,失敗返回1 uchar status; DQ= 1; Delay(8);DQ=0; Delay(90); DQ=1; Delay(8); status=DQ; Delay(lOO); DQ=1;return status;void WriteOneByte(uchar dat)uchar i;for(i=0;i&i+)DQ 二 0:DQ 二 dat&OxO 1; Delay(5);DQ二 1; dat=l;u

17、char ReadOneByte()uchar i,dat=O; DQ=1; _nop_();for(i=0;i 8;i+)DQ=0; dat=l;DQ二 1; _nop_(); _nop_(); if(DQ) datl=0 x80; Delay(30);DQ=l;)return dat;int Get_Temperature()int t;float tt;uchar a,b,fh;/fh 表示負(fù)號 if(Init_DS18B20()=l) t=2000;/初始化失敗,溫度應(yīng)小于125 elseWriteOneByte(Oxcc);/跳過讀序列號,可加速WriteOneByte(Ox44);

18、/ 啟動溫度轉(zhuǎn)換Init_DS18B2O();WriteOneByte(Oxcc);/跳過讀序列號,可加速WriteOneByte(Oxbe);/讀取溫度寄存器 a=ReadOneByte();/ 低位 b=ReadOneByte();/ 高位Delay(lOO);7fh=b&0 x80;if(fh!=O)fh的最高位為1,表示負(fù)號b=b;a=a;tt=(b*256)+a+1 )*0.0625; t=(int)(tt* 10)*(-1);elsett=(b*256)+a)*0.0625; t=(int)(tt* 10);)return t;3、顯示子程序LCD1602.C#include#define uchar unsigned char#define ui

溫馨提示

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

評論

0/150

提交評論