數(shù)字溫度計總結(jié)報告_第1頁
數(shù)字溫度計總結(jié)報告_第2頁
數(shù)字溫度計總結(jié)報告_第3頁
數(shù)字溫度計總結(jié)報告_第4頁
數(shù)字溫度計總結(jié)報告_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子技術(shù)綜合設(shè)計選題名稱:數(shù)字溫度計的設(shè)計組 員:周梁 學(xué)號:09114043 向宇 學(xué)號:09113839 張鵬 學(xué)號:02110545班 級:孫越崎學(xué)院11級1班指導(dǎo)老師:許燕青成 績: 課題名稱:數(shù)字溫度計一、設(shè)計內(nèi)容及性能指標(biāo)測量環(huán)境溫度,采用接觸式溫度傳感器測量,用數(shù)碼管顯示溫度值   利用溫度傳感器(DS18B20)測量某一點環(huán)境溫度 測量范圍為0101,精度為±0.4 用數(shù)碼顯示屏進行實際溫度值顯示  能夠根據(jù)需要方便設(shè)定上下限報警溫度二、方案設(shè)計梗概(一)方案選擇由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在

2、將隨被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進而考慮到用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化。便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0100攝氏度時,最大線形偏差小于1攝氏度

3、。DS18B20的最大特點之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計DS18B20和微控制器AT89S51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用51單片機控制,軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實現(xiàn)簡單,安裝方便。既可以單獨對多DS18B20控制工作,還可以與PC機通信上傳數(shù)據(jù),另外AT89S51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。該系統(tǒng)利用AT89S51芯片控制溫度傳感器DS18B20進行實時溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可

4、以根據(jù)需要設(shè)定上下限報警溫度。工作原理框圖如下: (二)系統(tǒng)框圖該系統(tǒng)可分為以下七個模塊:1、控制器:采用單片機AT89S51對采集的溫度數(shù)據(jù)進行處理;2、溫度采集:采用DS18B20直接向控制器傳輸12位二進制數(shù)據(jù);3、溫度顯示:采用了lcd顯示屏顯示實際溫度值;4、門限設(shè)置:主要實現(xiàn)模式切換及上下門限溫度的調(diào)節(jié);5、報警裝置:采用發(fā)光二極管進行報警,低于低門限或高于高門限均使其發(fā)光;6、復(fù)位電路:對整個系統(tǒng)進行復(fù)位;7、時鐘振蕩模塊:為整個系統(tǒng)提供統(tǒng)一的時鐘周期。   (三)系統(tǒng)程序設(shè)計系統(tǒng)程序的設(shè)計主要包括C程序主函數(shù),DS18B20復(fù)位函數(shù),DS18B20

5、寫字節(jié)函數(shù),DS18B20讀字節(jié)函數(shù),溫度計算轉(zhuǎn)換函數(shù)和顯示函數(shù)等。具體程序?qū)⒃趯嶒炛芯幾g調(diào)試。三、實驗具體設(shè)計(1) 主控模塊:STC89C52中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見下圖。而且EA需要接高電平以使CPU訪問單片機內(nèi)部程序。 電路圖如圖所示:(2) 溫度傳感器電路:VCC接高電平,DQ端接單片機的P2.4口,單片機從DS18B20讀取溫度和報警溫度,此時作為輸入口,當(dāng)設(shè)置報警溫度時單片機向DS18B20內(nèi)部存儲器寫入數(shù)據(jù),此時作為數(shù)

6、據(jù)輸出端口。DQ與VCC之間需要一個電阻值約為5K的上拉電阻。 電路圖如圖所示:(3) 報警與控制電路:報警電路中使用P1.0-P1.3作為控制按鍵輸入端口,P1.0和P1.1對應(yīng)的按鍵作為最高溫度的上升和下降設(shè)置,P1.2和P1.3對應(yīng)的按鍵作為最低溫度的上升和下降設(shè)置。P2.3作為報警指示燈端口,當(dāng)指示燈對應(yīng)的端口為高電平時就會報警。電路圖如圖所示:(4) 顯示電路:在液晶顯示電路的設(shè)計中選擇具有單向輸出數(shù)據(jù)功能的P0端口向液晶顯示模塊提供數(shù)據(jù),P2.0、P2.1、P2.2口作為控制液晶顯示模塊的端口,在PO口上需要外加上拉電阻,才可以使液晶顯示模塊正常顯示。上拉電阻我們用的是10K的排阻

7、,由于程序中沒有涉及到RW,所以將RW端接地。電路圖如圖所示:最終設(shè)計圖:程序設(shè)計方面程序設(shè)計分為四部分:分別為主程序,液晶顯示子程序,溫度檢測程序,報警設(shè)置程序。(1) 主程序設(shè)計:主程序的作用是調(diào)用3個子程序,分別為溫度測試及處理子程序,報警子程序,液晶顯示子程序。主程序流程圖如下圖所示:(2) 溫度檢測子程序設(shè)計:DS18B20在單片機控制下分三個階段:DS18B20 初始化、讀DS18B20時序、寫DS18B20時序。 其中讀DS18B20時序(左)、寫DS18B20時序(右)的流程圖如下圖所示:(3) 液晶顯示子程序設(shè)計:液晶顯示程序分為顯示字符子程序和指定LCD位置寫入子程序,液晶

8、顯示程序的作用是向液晶顯示送數(shù),控制系統(tǒng)的顯示部分 。LCD顯示有兩種:顯示字符(左)和指定LCD位置顯示(右)。程序流程圖分別如下圖: (4) 報警設(shè)置子程序設(shè)計:通過按鍵設(shè)置上限報警溫度和下限報警溫度,當(dāng)實際溫度超過設(shè)置溫度范圍時,進行報警。報警設(shè)置流程圖如下:系統(tǒng)調(diào)試方面調(diào)試目的:使單片機程序C語言源代碼能夠正常運行。 當(dāng)程序無錯誤時,如下圖,就可以將程序下載到單片機進行實物調(diào)試。 調(diào)試的結(jié)果:經(jīng)調(diào)試液晶顯示的結(jié)果與預(yù)設(shè)相同,顯示出了精確到十分位的實時溫度。 系統(tǒng)功能方面系統(tǒng)能夠通過DS18B20測量溫度,并將實時溫度顯示到液晶屏,精確到十分位。且能動態(tài)響應(yīng),當(dāng)溫度改變時數(shù)碼管溫度示值能

9、立即改變,顯示相應(yīng)的溫度值。 通過四個按鍵能分別設(shè)置測量溫度的最高值和最低值,并且每次上升或下降0.4,達到要求。 當(dāng)溫度超過測溫范圍時,LED燈閃光,達到報警要求。 四、實驗成果實物展示 五、實驗小結(jié)經(jīng)過一個月的電子綜合設(shè)計,我們終于將數(shù)字溫度計做好了,雖然我們的溫度計功能簡單,但我們還是花了好大的勁才將實物完完全全做好,這其中的酸甜苦辣值得我們回味。由于是初次嘗試電子設(shè)計,起初我們沒有任何頭緒,不知道應(yīng)該干啥,于是上網(wǎng)查了查關(guān)于數(shù)字溫度計的設(shè)計報告,了解了DS18B20溫度傳感器的工作原理,以及關(guān)于溫度計設(shè)計的總體硬件電路,然后就迫不及待的去整理元件清單,想去萬虹橋電子市場買電子元器件,但

10、去了好幾次每次都沒買全回來,因為我們并沒有自己事先設(shè)計好我們的溫度計電路,只是根據(jù)網(wǎng)上找的幾份資料綜合一下就草率的定好了清單。不過所幸,期間過程挺快樂的。 設(shè)計電路的時候,我們打算用protues軟件,我在網(wǎng)上找到教學(xué)視頻,學(xué)會了軟件的使用方法,最后終于畫好了雛形,于是開始進行艱難的程序設(shè)計。剛開始我們打算用匯編的,因為單片機剛學(xué)完,學(xué)的就是匯編,上網(wǎng)找了幾個程序,還好大部分還是能看懂的,不過找的幾個都不完全符合要求,后來我們從視頻里學(xué)會了使用Keil軟件編寫程序。根據(jù)網(wǎng)上找的幾個程序編寫,不懂得就看書,上網(wǎng)查,請教朋友。慢慢的感覺上來了,感覺程序變得越來越來簡單了,電路跟著程序的改變也在改變

11、,起初我們用四位數(shù)碼管來顯示溫度,后來發(fā)現(xiàn)LCD1602的顯示更方便,更有效,再后來又加了按鍵控制溫度上下限程序。就這樣改來改去,最后程序正確,仿真成功。我們想著仿真成功,焊接要小心謹慎一定能做出來的。焊接時,起初也是沒有經(jīng)驗,我們試過幾次都沒有成功,總結(jié)一下原因發(fā)現(xiàn)首先是元件的放置不合理,導(dǎo)致導(dǎo)線連接很亂,很難檢查電路。在大概十四周的一個周末我們又花時間做了一下硬件方面的,盡管線路依然沒有整理好,但欣喜的是實驗結(jié)果出來了。但在交實驗成果的前一周,可能是導(dǎo)線的某處連接出現(xiàn)了問題,介于時間問題,我們只能把一個不成功的作品提交上去。經(jīng)過這次電子設(shè)計綜合實驗,我們真的學(xué)到了好多書本之外的知識,以及動

12、手實踐的能力,這是以后必須培養(yǎng)的,還有大家在一起學(xué)習(xí)的團結(jié)協(xié)作能力。關(guān)于單片機的使用應(yīng)用方面有了更深的認識,雖然現(xiàn)在技術(shù)科技在發(fā)展,我們有更先進的生產(chǎn)技術(shù),但有些基礎(chǔ)的一定要扎實掌握。這次經(jīng)歷很深刻,讓人進步,受益良多。六、附錄程序及元器件清單C語言:#include<reg52.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned intsbit leden=P22;sbit ledrs=P20;sbit ds=P24;sbit key1=P10;/按一下,溫度上限加1sbit key2

13、=P11; /按一下,溫度上限減1sbit key3=P12; /按一下,溫度下限加1sbit key4=P13; /按一下,溫度下限減1sbit led0=P23;uint temp;float f_temp; uchar TFLAG;uint num=520; /溫度上限uint num2=255; /溫度下限unsigned char disdata4;void delay(uint z) /延時uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void delayms(uint xms) /延時 uint i,j; for(i=xms;i&

14、gt;0;i-) for(j=10;j>0;j-);void write_com(uchar com) /lcd1602寫指令ledrs=0;P0=com;delay(5);leden=1;delay(5);leden=0;void write_date(uchar date) /lcd1602寫數(shù)據(jù)ledrs=1;P0=date;delay(5);leden=1;delay(5);leden=0;void init() /lcd1602初始化leden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);v

15、oid dsreset(void) /ds18b20初始化uint i;ds=0;i=103;while(i>0)i-;ds=1;i=4;while(i>0)i-;bit tempreadbit(void) /ds18b20讀字節(jié)uint i;bit dat;ds=0;i+;ds=1;i+;i+;dat=ds;i=8;while(i>0)i-;return(dat);uchar tempread(void) /ds18b20讀字uchar i,j,dat;dat=0;for(i=1;i<=8;i+)j=tempreadbit();dat=(j<<7)|(da

16、t>>1);return(dat);void tempwritebyte(uchar dat) /ds18b20寫字uint i;uchar j;bit testb;for(j=1;j<=8;j+)testb=dat&0x01;dat=dat>>1;if(testb)ds=0;i+;i+;ds=1;i=8;while(i>0)i-; elseds=0;i=8;while(i>0)i-;ds=1;i+;i+;void tempchange(void) dsreset();delay(1);tempwritebyte(0xcc);tempwrite

17、byte(0x44); /ds18b20溫度轉(zhuǎn)換指令uint get_temp() /ds18b20溫度轉(zhuǎn)換uchar a,b;dsreset();delay(1);tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread();b=tempread();temp=b;temp<<=8;temp=temp|a;if(temp<0x0800)f_temp=temp*0.0625;TFLAG=0;elsef_temp=(temp)+1;f_temp=f_temp*0.0625;TFLAG=1;temp=f_temp*10;return t

18、emp;void warn() /閃爍報警led0=1;delay(100);led0=0;void deal(uint t) /數(shù)據(jù)處理if(t>num)|(t<num2)warn();elseled0=0;void keyscan() /按鍵掃描if(key1=0)delayms(1);if(key1=0)num=num+4;while(!key1);if(key2=0)delayms(1);if(key2=0)num=num-4;while(!key2);if(key3=0)delayms(1);if(key3=0)num2=num2+4;while(!key3);if(ke

19、y4=0)delayms(1);if(key4=0)num2=num2-4;while(!key4);void display(uint j) /顯示 uchar FLAGDAT; disdata0=j/1000+0x30; disdata1=j%1000/100+0x30; disdata2=j%100/10+0x30; disdata3=j%10+0x30; if(TFLAG=0) FLAGDAT=0x20; else FLAGDAT=0x2d; if(disdata0=0x30) disdata0=0x20; if(disdata1=0x30) disdata1=0x20; write_

20、com(0x80); write_date(num/100+0x30); /溫度上限第一位write_com(0x81);write_date(num%100/10+0x30); /溫度上限第二位write_com(0x82);write_date(0x2e); /小數(shù)點write_com(0x83);write_date(num%10+0x30); /小數(shù)位write_com(0x84);write_date(0xdf);write_com(0x85);write_date(0x43); write_com(0x86);write_date(0x3e); /<write_com(0x8

21、7);write_date(0x54); /twrite_com(0x88);write_date(0x3e);/<write_com(0x89);write_date(num2/100+0x30); /溫度下限第一位write_com(0x8a);write_date(num2%100/10+0x30);/溫度下限第二位write_com(0x8b);write_date(0x2e);write_com(0x8c);write_date(num2%10+0x30);write_com(0x8d);write_date(0xdf);write_com(0x8e);write_date(0x43);write_com(0x40+0x80); write_date(0x54);/Twrite_com(0x40+0x81); write_date(0x45);/Ewrite_com(0x40+0x82); write_date(0x4d);/Mwrite_c

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論