浙江傳媒學(xué)院溫度控制器的設(shè)計(jì)與制作_第1頁
浙江傳媒學(xué)院溫度控制器的設(shè)計(jì)與制作_第2頁
浙江傳媒學(xué)院溫度控制器的設(shè)計(jì)與制作_第3頁
浙江傳媒學(xué)院溫度控制器的設(shè)計(jì)與制作_第4頁
浙江傳媒學(xué)院溫度控制器的設(shè)計(jì)與制作_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE19浙江傳媒學(xué)院課程設(shè)計(jì)(實(shí)訓(xùn))報(bào)告學(xué)院__浙江傳媒學(xué)院_專業(yè)電子科學(xué)與技術(shù)班級_11電科2班_學(xué)號(hào)110706226____姓名_徐建新____課題溫度控制器的設(shè)計(jì)與制作指導(dǎo)教師黃暑娟____報(bào)告成績______________日期:2013年11月17日

目錄1引言 31.1設(shè)計(jì)意義……………………31.2設(shè)計(jì)目的與要求 32.3本組成員所做的工作 32設(shè)計(jì)方案論證 32.1各部分方案比較與選擇……………………32.2總體設(shè)計(jì)方案 42.3系統(tǒng)組成及框圖 43硬件電路設(shè)計(jì) 53.1溫度測量電路設(shè)計(jì) 53.2控制器電路設(shè)計(jì) 63.3報(bào)警器電路設(shè)計(jì) 63.4鍵盤電路設(shè)計(jì) 73.5液晶顯示電路………………74軟件設(shè)計(jì) 74.1主程序 85系統(tǒng)調(diào)試 85.1硬件調(diào)試 …………………85.2軟件調(diào)試……………………86結(jié)果及分析 87心得體會(huì) 98參考文獻(xiàn) 99附錄……………9 附錄A原理圖…………………10附錄B源代碼…………………11附錄C作品實(shí)物圖……………181引言1.1設(shè)計(jì)意義溫度與人們的生活息息相關(guān),隨著經(jīng)濟(jì)社會(huì)的不斷發(fā)展,對溫度的檢測也顯得越來越重要。在現(xiàn)代農(nóng)業(yè)上,溫度對大規(guī)?;霓r(nóng)作物生產(chǎn)起到了關(guān)鍵作用,直接影響了農(nóng)作物的生長和生產(chǎn)。因此掌握溫度的變化顯得尤其重要,而傳統(tǒng)的溫度計(jì)需要人工的實(shí)時(shí)監(jiān)測,浪費(fèi)時(shí)間人力等顯然已經(jīng)不能適用了。在現(xiàn)代工業(yè)上,溫度對機(jī)器的影響也不容忽視,當(dāng)溫度過高時(shí)稍有不慎輕則造成設(shè)備的故障,重則造成人員傷亡。特別是針對一些高危設(shè)備,人工的溫度檢測不僅麻煩,容易造成誤差,而且對于檢測人員又有一定的危險(xiǎn)性。于是對溫度實(shí)時(shí)監(jiān)控就顯得至關(guān)重要了。本設(shè)計(jì)以溫度傳感器DS18B20為測溫元件,AT89S52單片機(jī)為核心,讀取溫度信息并寫入控制信息:在液晶顯示屏上顯示溫度,設(shè)置溫度的上下限。我們可以針對不同的應(yīng)用環(huán)境設(shè)置不同需求的溫度上下限,當(dāng)被測物體溫度超過上限或低于下限溫度時(shí),蜂鳴器響動(dòng)報(bào)警。本溫度計(jì)的設(shè)計(jì)與傳統(tǒng)的溫度計(jì)相比,不僅可以減少了人力的溫度檢測,而且具有測量準(zhǔn)確、體積小、壽命長等優(yōu)點(diǎn)。1.2設(shè)計(jì)目的與要求利用DS18B20設(shè)計(jì)一個(gè)溫度控制器,可以顯示環(huán)境溫度,超溫報(bào)警。主要子程序溫度轉(zhuǎn)換及讀取子程序溫度計(jì)算子程序溫度顯示子程序1.3本組成員所做的工作資料搜集:陳禮杭,劉嬌芳方案原理論證:羨盼盼,劉嬌芳硬件制作:徐建新(組長)軟件設(shè)計(jì):徐建新,羨盼盼,劉嬌芳調(diào)試:陳禮杭2設(shè)計(jì)方案論證2.1各部分方案比較與選擇2.1.1此系統(tǒng)所需要的工作量較小,采用8位機(jī)足以滿足本系統(tǒng)的要求,故選用AT89S52單片機(jī)作為本系統(tǒng)的CPU。2.1.2方案一:采用熱敏電阻,熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測1攝氏度的信號(hào)是不適用的,也不能滿足測量范圍。在溫度測量系統(tǒng)中,也常采用單片溫度傳感器,比如AD590,LM35等。但這些芯片輸出的都是模擬信號(hào),必須經(jīng)過A/D方案二:采用單總線數(shù)字溫度傳感器DS18B20測量溫度,直接輸出數(shù)字信號(hào)。便于單片機(jī)處理及控制,節(jié)省硬件電路。且該芯片的物理化學(xué)性很穩(wěn)定,此元件線形性能好,在0—100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器AT89C51構(gòu)成的溫度裝置,它直接輸出溫度的數(shù)字信號(hào)到微控制器。每只DS18B20具有一個(gè)獨(dú)有的不可修改的64位序列號(hào),根據(jù)序列號(hào)可訪問不同的器件。這樣一條總線上可掛接多個(gè)DS18B20傳感器,實(shí)現(xiàn)多點(diǎn)溫度測量,輕松的組建傳感網(wǎng)絡(luò)。綜上分析,我們選用第二種方案。2.方案一:采用串行輸入,每個(gè)鍵位占用一個(gè)I/O口,4個(gè)按鍵一共要占用4個(gè)I/O口,當(dāng)有鍵按下的時(shí)候,直接對單片機(jī)的I/O進(jìn)行操作。方案二:采用并行輸入,總共4個(gè)按鍵。4個(gè)按鍵的輸入口為P3,當(dāng)有鍵按下的時(shí)候,通過分別對各行各列進(jìn)行掃描并查表得出鍵值。比較兩個(gè)方案,采用方案二的方法。這樣可以有效的減少對單片機(jī)I/O口的占用,使單片機(jī)有更多的I/O口來實(shí)現(xiàn)其他的功能。使單片機(jī)的設(shè)計(jì)更加靈活有效。2.1.4方案一:通過單片機(jī)的I/O接上拉電阻直接輸出驅(qū)動(dòng)數(shù)碼管,可以通過I/O的輸出值來改變數(shù)碼管的顯示字形,由74138來分別選通8個(gè)數(shù)碼管,一共需要11個(gè)I/O口。方案二:采用1602液晶顯示比較以上兩個(gè)方案,方案一所要花費(fèi)的I/O口較多,對于單片機(jī)系統(tǒng)是一個(gè)很大的浪費(fèi)。方案二液晶顯示平穩(wěn)、省電、美觀,更容易實(shí)現(xiàn)題目要求,對后續(xù)的園藝通兼容性高,故選用方案二。2.2總體設(shè)計(jì)方案以溫度傳感器DS18B20為測溫元件,測溫范圍為1℃-100℃,誤差小于0.01℃,AT89S52單片機(jī)為核心,讀取溫度信息并寫入控制信息,通過并行鍵盤輸入設(shè)置溫度的上下限,在16022.3系統(tǒng)組成及框圖AT89S52單片機(jī)AT89S52單片機(jī)DS18B20溫度傳感1602液晶顯示DS18B20溫度傳感1602液晶顯示鍵盤輸入報(bào)警系統(tǒng)鍵盤輸入報(bào)警系統(tǒng)3硬件電路設(shè)計(jì)本系統(tǒng)包含溫度采集模塊、液晶顯示模塊、鍵盤輸入模塊、單片機(jī)控制模塊、報(bào)警模塊等5個(gè)主要模塊3.1溫度測量電路設(shè)計(jì)DQ=P3^6采用DS18B20數(shù)字溫度傳感器測量溫度,DS18B20與單片機(jī)是單線雙向通信硬件圖如下:DS18B20數(shù)字溫度傳感器測溫范圍為-55~+125℃,在-10~85℃范圍內(nèi),精度為±0.5DS18B20的6個(gè)功能指令:

(1)溫度轉(zhuǎn)換指令(44H)。這個(gè)命令用于啟動(dòng)溫度轉(zhuǎn)換,無實(shí)質(zhì)的數(shù)據(jù)要求。如果微控制器在該命令之后輸出讀操作命令,那么DS18B20將使DQ端為低電平,表示DS18B20正忙于溫度轉(zhuǎn)換,不能響應(yīng)該命令。

(2)寫便箋式存儲(chǔ)器(4EH)。寫便箋式存儲(chǔ)器從TH存儲(chǔ)單元開始,三個(gè)字節(jié)的數(shù)據(jù)將被定位在2到4號(hào)便箋式存儲(chǔ)器單元。所有的三個(gè)字節(jié)必須在復(fù)位鉗寫入便箋式存儲(chǔ)器。(3)讀便箋式存儲(chǔ)器(BEH)。該指令讀取便箋式存儲(chǔ)器的內(nèi)容,讀出的數(shù)據(jù)將從Byte0(存儲(chǔ)器的0號(hào)單元)開始直到第9字節(jié)(CRC校驗(yàn)字)被讀走。但如果不想讀完所有字節(jié),微控制器可以再任何時(shí)候輸出復(fù)位信號(hào)中斷其傳輸。

(4)復(fù)制便箋式存儲(chǔ)器指令(48H)。把2、3、4號(hào)存儲(chǔ)單元的內(nèi)容存儲(chǔ)到非易失性SRAM中去。復(fù)制期間,如果有讀指令,DS18B20將把DQ置為低電平,直到轉(zhuǎn)換結(jié)束,把DQ置為高電平。

(5)回讀SRAM(B8H)。將存儲(chǔ)在SRAM中的溫度報(bào)警上下限、分別率配置的內(nèi)容寫回相應(yīng)的便箋式存儲(chǔ)器。

(6)讀電源配置結(jié)構(gòu)指令(B4H)。主控制設(shè)備發(fā)出該指令后在輸出讀時(shí)序,器件即會(huì)送出所使用的電源信息:0為寄生電源,1為外接電源。

DS18B20的ROM指令共有5條,每一個(gè)工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報(bào)警芯片搜索。

在進(jìn)行DS18B20操作時(shí)一般有以下步驟:(1)初始化DS18B20。(2)ROM指令操作。(3)便箋式存儲(chǔ)器功能指令操作。(4)處理或數(shù)據(jù)傳送。每一次DS18B20的操作都必須滿足以上步驟,若是缺少或順序混亂,期間將不會(huì)返回值。3.2控制器電路設(shè)計(jì)微處理器是控制系統(tǒng)的核心部件。具有控制功能強(qiáng),體積小,功耗小等一系列的優(yōu)點(diǎn),它在工業(yè)控制、智能儀表、節(jié)能技術(shù)改造、通訊系統(tǒng)、信號(hào)處理及家用電器產(chǎn)品中都得到了廣泛的應(yīng)用。本設(shè)計(jì)采用AT89S52作為微處理器。硬件圖如下:3.3報(bào)警器電路設(shè)計(jì)FM=P3^7硬件電路如下:3.4鍵盤電路設(shè)計(jì)電路按鍵開關(guān):開關(guān)按鍵實(shí)現(xiàn)復(fù)位、選擇、溫度加、溫度減按鍵S1(Key0)S2(Key1))S3(Key2)S4(Key3)功能復(fù)位選擇溫度加溫度減連接I/O口P3^2P3^3P3^4P3^5硬件電路如下:3.5液晶顯示電路RS=P2^0;RW=P2^1;EN=P2^2硬件電路如下:4軟件設(shè)計(jì)4.1主程序開始開始預(yù)設(shè)溫度讀取溫度判斷溫度是否高于預(yù)設(shè)溫度是顯示溫度蜂鳴器發(fā)出警告鍵盤掃描5系統(tǒng)調(diào)試5.1硬件調(diào)試使用萬用表檢測是否有虛短虛斷現(xiàn)象5.2軟件調(diào)試使用keil軟件,6結(jié)果及分析(1)在焊接完所有元器件后,要注意檢查電路,看是否有焊錯(cuò)、漏焊、或者虛焊等。在程序調(diào)試的時(shí)候,因?yàn)榘遄由嫌幸粋€(gè)電阻虛焊了,以至于無法點(diǎn)亮l1602液晶屏。后來反復(fù)檢查才找到原因。(2)焊接的時(shí)候因?yàn)楹附蛹夹g(shù)不是很熟練,在焊接完后,發(fā)現(xiàn)整體元器件不協(xié)調(diào),焊點(diǎn)不圓滑,走線也很亂,看上去不美觀(3)在對蜂鳴器頻率更改時(shí),由于延遲時(shí)間太短時(shí)的頻率太小,人耳而聽不到聲音,后將延遲的一微秒改為一毫秒便解決了問題7心得體會(huì)通過時(shí)間周的學(xué)習(xí),我對單片機(jī)的運(yùn)用了解更加深入了。由于暑假我有參加電子設(shè)計(jì)的培訓(xùn),所以硬件制作方面比如畫圖制版相對比較熟練了,但在焊接電路方面還有待改進(jìn)。軟件設(shè)計(jì)是我們這次學(xué)習(xí)的重點(diǎn),在實(shí)踐周前兩天我對溫度控制與設(shè)計(jì)的編程工作還一頭霧水,后來通過不停的查閱資料以及我們組成員的共同努力終于在星期四下午把它順利編寫出來,其間有遇到很多問題,比如如何達(dá)到顯示溫度的高精度,如何設(shè)置溫度上下限,尤其在蜂鳴器頻率方面花的時(shí)間最多,我們本來打算讓蜂鳴器實(shí)現(xiàn)音樂報(bào)警,可由于時(shí)間有限最終未能實(shí)現(xiàn),因此我們要在編程方面勤加練習(xí),才能更好的運(yùn)用單片機(jī)。8參考文獻(xiàn)[1]張毅剛.《單片機(jī)原理及應(yīng)用》.北京,高等教育出版社,2010年[2]蔡美琴.《MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用》.北京,高等教育出版社,2004年[3]魏立峰,王寶興.《單片機(jī)原理與應(yīng)用技術(shù)》,北京大學(xué)出版社,2007,21-24.[4]楊素行.《模擬電子技術(shù)基礎(chǔ)簡明教程》,高等教育出版社,2004,514-529.9附錄附錄A原理圖附錄B源代碼#include<reg52.h>#include"1602.h"#include"18b20.h"#definekey_portP3//定義鍵盤的輸入為P3口sbitFM=P3^7;uinttemprd;ucharTMAX=25,TMIN=15;//設(shè)置溫度上下限的初始值ucharW_s=0;ucharstage=0;ucharu_con=0;uchartable1[13]="Temp:.`C";uchartable2[16]="MAX:`MIN:`";voidkey_delay(void){ uchari,j; for(i=0;i<10;i++) for(j=0;j<200;j++);}voidDelay(uintnum)//延時(shí)1微秒{while(num--);}voiddelay_ms(uintn)//延時(shí)1毫秒{ uchari; while(n--) { for(i=0;i<121;i++) ; }}voiddisplay(void){ table1[5]=temprd/1000+48; table1[6]=temprd/100%10+48; table1[8]=temprd/10%10+48; table1[9]=temprd%10+48; table1[12]=0; dis_str(1,0,table1); table2[4]=TMAX/10+48; table2[5]=TMAX%10+48; table2[12]=TMIN/10+48; table2[13]=TMIN%10+48; if(stage==1) { table2[7]='<'; } elseif(stage==2) { table2[7]=''; table2[15]='<'; } dis_str(2,0,table2); if(W_s) { dis_str(1,12,"Warn"); } else { dis_str(1,12,"Safe"); } }voidkeysearch(void){ staticucharkey_s=1; if(key_s&&((key_port&0x3c)!=0x3c)) { key_delay(); key_s=0; switch(key_port&0x3c) { case0x2c:if(stage==1)TMAX++;if(TMAX>60)TMAX=60; elseif(stage==2)TMIN++;if(TMIN>TMAX-1)TMIN=TMAX-1;break;//溫度加 case0x1c:if(stage==1)TMAX--;if(TMAX<TMIN+1)TMAX=TMIN+1; elseif(stage==2)TMIN--;if(TMIN<1)TMIN=1;break;//溫度減 case0x34:stage++;if(stage>=3){stage=0;table2[15]='';}break;//選擇 case0x38:u_con=1;break;//復(fù)位 default:break; } } elseif((key_port&0x3c)==0x3c) key_s=1;}voidmain(void){ unsignedchari; lcd_init(); dis_str(1,0,table1); dis_str(2,0,table2); while(1) { temprd=Readtemp(); if(!stage) { if((temprd>(TMAX*100)||temprd<(TMIN*100))) { if(!u_con) { W_s=1;for(i=0;i<200;i++)//循環(huán)兩百次 { delay_ms(500); FM=0; delay_ms(200); FM=1; delay_ms(200); FM=0; delay_ms(200); FM=1; delay_ms(500); FM=0; delay_ms(200); FM=1; }FM=1;Delay(500); /** NAME:1602.H* WRITER:Viter* INTR:8linesLCD1602module* TIME:2012.08.17* */#include<reg52.h>#definelcd_dataP0#defineucharunsignedchar#defineuintunsignedintsbitRS=P2^0;sbitRW=P2^1;sbitEN=P2^2;voidlcd_delay(uchari)//延時(shí){ucharj;for(;i>0;i--){for(j=0;j<121;j++);}}/*voidcheck_busy(void){ do { EN=0; RS=0; RW=1; lcd_data=0xff; EN=1; }while(lcd_data&0x80)}*/voidwrite_com(ucharcom) //向液晶屏寫指令{ RS=0; lcd_data=com;// lcd_delay(5); EN=1; lcd_delay(3); EN=0;}voidwrite_data(ucharx) //向液晶屏寫數(shù)據(jù){ RS=1; lcd_data=x;// lcd_delay(5); EN=1; lcd_delay(3); EN=0;}voidlcd_init(void) //液晶屏初始化{ RW=0; EN=0; write_com(0x38); //8線顯示模式,雙行,5*7。// write_com(0x38); write_com(0x0c); //開顯示,無光標(biāo),光標(biāo)不閃爍。//write_com(0x07); //開顯示,有光標(biāo),光標(biāo)閃爍。 write_com(0x06); //輸入模式,寫入新數(shù)據(jù)光標(biāo)右移,屏幕不動(dòng)。// write_com(0x07); //輸入模式,寫入數(shù)據(jù)光標(biāo)右移,屏幕右移。 write_com(0x01); //清屏。 lcd_delay(200);} voidaddress(uchara,ucharb){ if(a==1) write_com(0x80+b); else write_com(0x80+0x40+b); }voiddis_str(uchara,ucharb,ucharshuzu[])//顯示數(shù)組{ chari=0; address(a,b); while(shuzu[i]!='\0') { write_data(shuzu[i]); i++; lcd_delay(5); } lcd_delay(100);}/*voiddis_ch(chara,charb,ucharx)//顯示數(shù)字和單個(gè)字符{ address(a,b); if(x>=0&&x<=9)write_data(x+0x30); elsewrite_data(x);}*/ #include<reg52.h>/*定義DS18B20數(shù)據(jù)線*/sbitDS=P3^6;voidtmpDelay(intnum)//延時(shí)函數(shù){// unsignedchari; while(num--);// for(i=0;i<2;i++);}voidInit_DS18B20(void)//初始化ds1820{ unsignedcharx=0; DS=1;//DS復(fù)位 tmpDelay(8);//稍做延時(shí) DS=0;//單片機(jī)將DS拉低 tmpDelay(80);//精確延時(shí)大于480us DS=1;//拉高總

溫馨提示

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

評論

0/150

提交評論