




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子技術(shù)綜合設(shè)計(jì)選題名稱:數(shù)字溫度計(jì)的設(shè)計(jì)組 員:周梁 學(xué)號(hào):09114043 向宇 學(xué)號(hào):09113839 張鵬 學(xué)號(hào):02110545班 級(jí):孫越崎學(xué)院11級(jí)1班指導(dǎo)老師:許燕青成 績(jī): 課題名稱:數(shù)字溫度計(jì)一、設(shè)計(jì)內(nèi)容及性能指標(biāo)測(cè)量環(huán)境溫度,采用接觸式溫度傳感器測(cè)量,用數(shù)碼管顯示溫度值 利用溫度傳感器(DS18B20)測(cè)量某一點(diǎn)環(huán)境溫度 測(cè)量范圍為0101,精度為±0.4 用數(shù)碼顯示屏進(jìn)行實(shí)際溫度值顯示 能夠根據(jù)需要方便設(shè)定上下限報(bào)警溫度二、方案設(shè)計(jì)梗概(一)方案選擇由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在
2、將隨被測(cè)溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。采用數(shù)字溫度芯片DS18B20測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0100攝氏度時(shí),最大線形偏差小于1攝氏度
3、。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器AT89S51構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比較簡(jiǎn)單,體積也不大。采用51單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多DS18B20控制工作,還可以與PC機(jī)通信上傳數(shù)據(jù),另外AT89S51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。該系統(tǒng)利用AT89S51芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測(cè)并顯示,能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度,并可
4、以根據(jù)需要設(shè)定上下限報(bào)警溫度。工作原理框圖如下: (二)系統(tǒng)框圖該系統(tǒng)可分為以下七個(gè)模塊:1、控制器:采用單片機(jī)AT89S51對(duì)采集的溫度數(shù)據(jù)進(jìn)行處理;2、溫度采集:采用DS18B20直接向控制器傳輸12位二進(jìn)制數(shù)據(jù);3、溫度顯示:采用了lcd顯示屏顯示實(shí)際溫度值;4、門限設(shè)置:主要實(shí)現(xiàn)模式切換及上下門限溫度的調(diào)節(jié);5、報(bào)警裝置:采用發(fā)光二極管進(jìn)行報(bào)警,低于低門限或高于高門限均使其發(fā)光;6、復(fù)位電路:對(duì)整個(gè)系統(tǒng)進(jìn)行復(fù)位;7、時(shí)鐘振蕩模塊:為整個(gè)系統(tǒng)提供統(tǒng)一的時(shí)鐘周期。 (三)系統(tǒng)程序設(shè)計(jì)系統(tǒng)程序的設(shè)計(jì)主要包括C程序主函數(shù),DS18B20復(fù)位函數(shù),DS18B20
5、寫字節(jié)函數(shù),DS18B20讀字節(jié)函數(shù),溫度計(jì)算轉(zhuǎn)換函數(shù)和顯示函數(shù)等。具體程序?qū)⒃趯?shí)驗(yàn)中編譯調(diào)試。三、實(shí)驗(yàn)具體設(shè)計(jì)(1) 主控模塊:STC89C52中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見下圖。而且EA需要接高電平以使CPU訪問單片機(jī)內(nèi)部程序。 電路圖如圖所示:(2) 溫度傳感器電路:VCC接高電平,DQ端接單片機(jī)的P2.4口,單片機(jī)從DS18B20讀取溫度和報(bào)警溫度,此時(shí)作為輸入口,當(dāng)設(shè)置報(bào)警溫度時(shí)單片機(jī)向DS18B20內(nèi)部存儲(chǔ)器寫入數(shù)據(jù),此時(shí)作為數(shù)
6、據(jù)輸出端口。DQ與VCC之間需要一個(gè)電阻值約為5K的上拉電阻。 電路圖如圖所示:(3) 報(bào)警與控制電路:報(bào)警電路中使用P1.0-P1.3作為控制按鍵輸入端口,P1.0和P1.1對(duì)應(yīng)的按鍵作為最高溫度的上升和下降設(shè)置,P1.2和P1.3對(duì)應(yīng)的按鍵作為最低溫度的上升和下降設(shè)置。P2.3作為報(bào)警指示燈端口,當(dāng)指示燈對(duì)應(yīng)的端口為高電平時(shí)就會(huì)報(bào)警。電路圖如圖所示:(4) 顯示電路:在液晶顯示電路的設(shè)計(jì)中選擇具有單向輸出數(shù)據(jù)功能的P0端口向液晶顯示模塊提供數(shù)據(jù),P2.0、P2.1、P2.2口作為控制液晶顯示模塊的端口,在PO口上需要外加上拉電阻,才可以使液晶顯示模塊正常顯示。上拉電阻我們用的是10K的排阻
7、,由于程序中沒有涉及到RW,所以將RW端接地。電路圖如圖所示:最終設(shè)計(jì)圖:程序設(shè)計(jì)方面程序設(shè)計(jì)分為四部分:分別為主程序,液晶顯示子程序,溫度檢測(cè)程序,報(bào)警設(shè)置程序。(1) 主程序設(shè)計(jì):主程序的作用是調(diào)用3個(gè)子程序,分別為溫度測(cè)試及處理子程序,報(bào)警子程序,液晶顯示子程序。主程序流程圖如下圖所示:(2) 溫度檢測(cè)子程序設(shè)計(jì):DS18B20在單片機(jī)控制下分三個(gè)階段:DS18B20 初始化、讀DS18B20時(shí)序、寫DS18B20時(shí)序。 其中讀DS18B20時(shí)序(左)、寫DS18B20時(shí)序(右)的流程圖如下圖所示:(3) 液晶顯示子程序設(shè)計(jì):液晶顯示程序分為顯示字符子程序和指定LCD位置寫入子程序,液晶
8、顯示程序的作用是向液晶顯示送數(shù),控制系統(tǒng)的顯示部分 。LCD顯示有兩種:顯示字符(左)和指定LCD位置顯示(右)。程序流程圖分別如下圖: (4) 報(bào)警設(shè)置子程序設(shè)計(jì):通過按鍵設(shè)置上限報(bào)警溫度和下限報(bào)警溫度,當(dāng)實(shí)際溫度超過設(shè)置溫度范圍時(shí),進(jìn)行報(bào)警。報(bào)警設(shè)置流程圖如下:系統(tǒng)調(diào)試方面調(diào)試目的:使單片機(jī)程序C語(yǔ)言源代碼能夠正常運(yùn)行。 當(dāng)程序無錯(cuò)誤時(shí),如下圖,就可以將程序下載到單片機(jī)進(jìn)行實(shí)物調(diào)試。 調(diào)試的結(jié)果:經(jīng)調(diào)試液晶顯示的結(jié)果與預(yù)設(shè)相同,顯示出了精確到十分位的實(shí)時(shí)溫度。 系統(tǒng)功能方面系統(tǒng)能夠通過DS18B20測(cè)量溫度,并將實(shí)時(shí)溫度顯示到液晶屏,精確到十分位。且能動(dòng)態(tài)響應(yīng),當(dāng)溫度改變時(shí)數(shù)碼管溫度示值能
9、立即改變,顯示相應(yīng)的溫度值。 通過四個(gè)按鍵能分別設(shè)置測(cè)量溫度的最高值和最低值,并且每次上升或下降0.4,達(dá)到要求。 當(dāng)溫度超過測(cè)溫范圍時(shí),LED燈閃光,達(dá)到報(bào)警要求。 四、實(shí)驗(yàn)成果實(shí)物展示 五、實(shí)驗(yàn)小結(jié)經(jīng)過一個(gè)月的電子綜合設(shè)計(jì),我們終于將數(shù)字溫度計(jì)做好了,雖然我們的溫度計(jì)功能簡(jiǎn)單,但我們還是花了好大的勁才將實(shí)物完完全全做好,這其中的酸甜苦辣值得我們回味。由于是初次嘗試電子設(shè)計(jì),起初我們沒有任何頭緒,不知道應(yīng)該干啥,于是上網(wǎng)查了查關(guān)于數(shù)字溫度計(jì)的設(shè)計(jì)報(bào)告,了解了DS18B20溫度傳感器的工作原理,以及關(guān)于溫度計(jì)設(shè)計(jì)的總體硬件電路,然后就迫不及待的去整理元件清單,想去萬虹橋電子市場(chǎng)買電子元器件,但
10、去了好幾次每次都沒買全回來,因?yàn)槲覀儾]有自己事先設(shè)計(jì)好我們的溫度計(jì)電路,只是根據(jù)網(wǎng)上找的幾份資料綜合一下就草率的定好了清單。不過所幸,期間過程挺快樂的。 設(shè)計(jì)電路的時(shí)候,我們打算用protues軟件,我在網(wǎng)上找到教學(xué)視頻,學(xué)會(huì)了軟件的使用方法,最后終于畫好了雛形,于是開始進(jìn)行艱難的程序設(shè)計(jì)。剛開始我們打算用匯編的,因?yàn)閱纹瑱C(jī)剛學(xué)完,學(xué)的就是匯編,上網(wǎng)找了幾個(gè)程序,還好大部分還是能看懂的,不過找的幾個(gè)都不完全符合要求,后來我們從視頻里學(xué)會(huì)了使用Keil軟件編寫程序。根據(jù)網(wǎng)上找的幾個(gè)程序編寫,不懂得就看書,上網(wǎng)查,請(qǐng)教朋友。慢慢的感覺上來了,感覺程序變得越來越來簡(jiǎn)單了,電路跟著程序的改變也在改變
11、,起初我們用四位數(shù)碼管來顯示溫度,后來發(fā)現(xiàn)LCD1602的顯示更方便,更有效,再后來又加了按鍵控制溫度上下限程序。就這樣改來改去,最后程序正確,仿真成功。我們想著仿真成功,焊接要小心謹(jǐn)慎一定能做出來的。焊接時(shí),起初也是沒有經(jīng)驗(yàn),我們?cè)囘^幾次都沒有成功,總結(jié)一下原因發(fā)現(xiàn)首先是元件的放置不合理,導(dǎo)致導(dǎo)線連接很亂,很難檢查電路。在大概十四周的一個(gè)周末我們又花時(shí)間做了一下硬件方面的,盡管線路依然沒有整理好,但欣喜的是實(shí)驗(yàn)結(jié)果出來了。但在交實(shí)驗(yàn)成果的前一周,可能是導(dǎo)線的某處連接出現(xiàn)了問題,介于時(shí)間問題,我們只能把一個(gè)不成功的作品提交上去。經(jīng)過這次電子設(shè)計(jì)綜合實(shí)驗(yàn),我們真的學(xué)到了好多書本之外的知識(shí),以及動(dòng)
12、手實(shí)踐的能力,這是以后必須培養(yǎng)的,還有大家在一起學(xué)習(xí)的團(tuán)結(jié)協(xié)作能力。關(guān)于單片機(jī)的使用應(yīng)用方面有了更深的認(rèn)識(shí),雖然現(xiàn)在技術(shù)科技在發(fā)展,我們有更先進(jìn)的生產(chǎn)技術(shù),但有些基礎(chǔ)的一定要扎實(shí)掌握。這次經(jīng)歷很深刻,讓人進(jìn)步,受益良多。六、附錄程序及元器件清單C語(yǔ)言:#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) /延時(shí)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void delayms(uint xms) /延時(shí) 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() /閃爍報(bào)警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ù)點(diǎn)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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)英語(yǔ)下冊(cè) Unit 6 I'm watching TV Section B第4課時(shí)(2a-2c)教學(xué)設(shè)計(jì) (新版)人教新目標(biāo)版
- 10 在牛肚子里旅行(教學(xué)設(shè)計(jì))2024-2025學(xué)年統(tǒng)編版三年級(jí)語(yǔ)文上冊(cè)
- 2024-2025學(xué)年高中歷史 第二單元 凡爾賽-華盛頓體系下的短暫和平 第6課 國(guó)際聯(lián)盟教學(xué)教學(xué)設(shè)計(jì) 岳麓版選修3
- Unit 1 Home-Reading(教學(xué)設(shè)計(jì))2024-2025學(xué)年譯林版(2024)英語(yǔ)七年級(jí)下冊(cè)
- 裝飾施工現(xiàn)場(chǎng)安全用電
- 2024秋九年級(jí)語(yǔ)文上冊(cè) 第1單元 3我愛這土地教學(xué)設(shè)計(jì) 新人教版
- 管理學(xué)矩陣結(jié)構(gòu)
- 《煎荷包蛋》(教案)-2023-2024學(xué)年四年級(jí)下冊(cè)勞動(dòng)人教版
- 一年級(jí)道德與法治下冊(cè) 第四單元 我們?cè)谝黄?14 請(qǐng)幫我一下吧教學(xué)設(shè)計(jì)2 新人教版
- 2024-2025學(xué)年高中生物 第二章 基因和染色體的關(guān)系 第1節(jié) 減數(shù)分裂和受精作用 一 減數(shù)分裂教學(xué)設(shè)計(jì)3 新人教版必修2
- (2024年更新)國(guó)家慢性疾病編碼新目錄
- 治療室物品分類擺放
- 一次性使用醫(yī)療用品管理制度
- 獸醫(yī)屠宰衛(wèi)生人員考試題庫(kù)及答案(415題)
- 商務(wù)預(yù)算員培訓(xùn)課件
- 物業(yè)合同增加人員補(bǔ)充協(xié)議書(2篇)
- 房屋中介公司員工管理規(guī)章制度
- 餐飲服務(wù)電子教案 學(xué)習(xí)任務(wù)3 餐巾折花技能(4)-餐巾折花綜合實(shí)訓(xùn)
- 先天性唇腭裂與顱面裂的診斷及治療(口腔頜面外科學(xué)課件)
- 醉里乾坤大壺中日月長(zhǎng)-初中語(yǔ)文九年級(jí)第六單元名著導(dǎo)讀《水滸傳》整本書閱讀精讀研討課 公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- TCECA-G 0310-2024 離網(wǎng)制氫靈活消納與柔性化工系統(tǒng)開發(fā)規(guī)范
評(píng)論
0/150
提交評(píng)論