版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
PAGEPAGE19浙江傳媒學院課程設計(實訓)報告學院__浙江傳媒學院_專業(yè)電子科學與技術班級_11電科2班_學號110706226____姓名_徐建新____課題溫度控制器的設計與制作指導教師黃暑娟____報告成績______________日期:2013年11月17日
目錄1引言 31.1設計意義……………………31.2設計目的與要求 32.3本組成員所做的工作 32設計方案論證 32.1各部分方案比較與選擇……………………32.2總體設計方案 42.3系統(tǒng)組成及框圖 43硬件電路設計 53.1溫度測量電路設計 53.2控制器電路設計 63.3報警器電路設計 63.4鍵盤電路設計 73.5液晶顯示電路………………74軟件設計 74.1主程序 85系統(tǒng)調試 85.1硬件調試 …………………85.2軟件調試……………………86結果及分析 87心得體會 98參考文獻 99附錄……………9 附錄A原理圖…………………10附錄B源代碼…………………11附錄C作品實物圖……………181引言1.1設計意義溫度與人們的生活息息相關,隨著經(jīng)濟社會的不斷發(fā)展,對溫度的檢測也顯得越來越重要。在現(xiàn)代農(nóng)業(yè)上,溫度對大規(guī)模化的農(nóng)作物生產(chǎn)起到了關鍵作用,直接影響了農(nóng)作物的生長和生產(chǎn)。因此掌握溫度的變化顯得尤其重要,而傳統(tǒng)的溫度計需要人工的實時監(jiān)測,浪費時間人力等顯然已經(jīng)不能適用了。在現(xiàn)代工業(yè)上,溫度對機器的影響也不容忽視,當溫度過高時稍有不慎輕則造成設備的故障,重則造成人員傷亡。特別是針對一些高危設備,人工的溫度檢測不僅麻煩,容易造成誤差,而且對于檢測人員又有一定的危險性。于是對溫度實時監(jiān)控就顯得至關重要了。本設計以溫度傳感器DS18B20為測溫元件,AT89S52單片機為核心,讀取溫度信息并寫入控制信息:在液晶顯示屏上顯示溫度,設置溫度的上下限。我們可以針對不同的應用環(huán)境設置不同需求的溫度上下限,當被測物體溫度超過上限或低于下限溫度時,蜂鳴器響動報警。本溫度計的設計與傳統(tǒng)的溫度計相比,不僅可以減少了人力的溫度檢測,而且具有測量準確、體積小、壽命長等優(yōu)點。1.2設計目的與要求利用DS18B20設計一個溫度控制器,可以顯示環(huán)境溫度,超溫報警。主要子程序溫度轉換及讀取子程序溫度計算子程序溫度顯示子程序1.3本組成員所做的工作資料搜集:陳禮杭,劉嬌芳方案原理論證:羨盼盼,劉嬌芳硬件制作:徐建新(組長)軟件設計:徐建新,羨盼盼,劉嬌芳調試:陳禮杭2設計方案論證2.1各部分方案比較與選擇2.1.1此系統(tǒng)所需要的工作量較小,采用8位機足以滿足本系統(tǒng)的要求,故選用AT89S52單片機作為本系統(tǒng)的CPU。2.1.2方案一:采用熱敏電阻,熱敏電阻精度、重復性、可靠性較差,對于檢測1攝氏度的信號是不適用的,也不能滿足測量范圍。在溫度測量系統(tǒng)中,也常采用單片溫度傳感器,比如AD590,LM35等。但這些芯片輸出的都是模擬信號,必須經(jīng)過A/D方案二:采用單總線數(shù)字溫度傳感器DS18B20測量溫度,直接輸出數(shù)字信號。便于單片機處理及控制,節(jié)省硬件電路。且該芯片的物理化學性很穩(wěn)定,此元件線形性能好,在0—100攝氏度時,最大線形偏差小于1攝氏度。DS18B20的最大特點之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計DS18B20和微控制器AT89C51構成的溫度裝置,它直接輸出溫度的數(shù)字信號到微控制器。每只DS18B20具有一個獨有的不可修改的64位序列號,根據(jù)序列號可訪問不同的器件。這樣一條總線上可掛接多個DS18B20傳感器,實現(xiàn)多點溫度測量,輕松的組建傳感網(wǎng)絡。綜上分析,我們選用第二種方案。2.方案一:采用串行輸入,每個鍵位占用一個I/O口,4個按鍵一共要占用4個I/O口,當有鍵按下的時候,直接對單片機的I/O進行操作。方案二:采用并行輸入,總共4個按鍵。4個按鍵的輸入口為P3,當有鍵按下的時候,通過分別對各行各列進行掃描并查表得出鍵值。比較兩個方案,采用方案二的方法。這樣可以有效的減少對單片機I/O口的占用,使單片機有更多的I/O口來實現(xiàn)其他的功能。使單片機的設計更加靈活有效。2.1.4方案一:通過單片機的I/O接上拉電阻直接輸出驅動數(shù)碼管,可以通過I/O的輸出值來改變數(shù)碼管的顯示字形,由74138來分別選通8個數(shù)碼管,一共需要11個I/O口。方案二:采用1602液晶顯示比較以上兩個方案,方案一所要花費的I/O口較多,對于單片機系統(tǒng)是一個很大的浪費。方案二液晶顯示平穩(wěn)、省電、美觀,更容易實現(xiàn)題目要求,對后續(xù)的園藝通兼容性高,故選用方案二。2.2總體設計方案以溫度傳感器DS18B20為測溫元件,測溫范圍為1℃-100℃,誤差小于0.01℃,AT89S52單片機為核心,讀取溫度信息并寫入控制信息,通過并行鍵盤輸入設置溫度的上下限,在16022.3系統(tǒng)組成及框圖AT89S52單片機AT89S52單片機DS18B20溫度傳感1602液晶顯示DS18B20溫度傳感1602液晶顯示鍵盤輸入報警系統(tǒng)鍵盤輸入報警系統(tǒng)3硬件電路設計本系統(tǒng)包含溫度采集模塊、液晶顯示模塊、鍵盤輸入模塊、單片機控制模塊、報警模塊等5個主要模塊3.1溫度測量電路設計DQ=P3^6采用DS18B20數(shù)字溫度傳感器測量溫度,DS18B20與單片機是單線雙向通信硬件圖如下:DS18B20數(shù)字溫度傳感器測溫范圍為-55~+125℃,在-10~85℃范圍內(nèi),精度為±0.5DS18B20的6個功能指令:
(1)溫度轉換指令(44H)。這個命令用于啟動溫度轉換,無實質的數(shù)據(jù)要求。如果微控制器在該命令之后輸出讀操作命令,那么DS18B20將使DQ端為低電平,表示DS18B20正忙于溫度轉換,不能響應該命令。
(2)寫便箋式存儲器(4EH)。寫便箋式存儲器從TH存儲單元開始,三個字節(jié)的數(shù)據(jù)將被定位在2到4號便箋式存儲器單元。所有的三個字節(jié)必須在復位鉗寫入便箋式存儲器。(3)讀便箋式存儲器(BEH)。該指令讀取便箋式存儲器的內(nèi)容,讀出的數(shù)據(jù)將從Byte0(存儲器的0號單元)開始直到第9字節(jié)(CRC校驗字)被讀走。但如果不想讀完所有字節(jié),微控制器可以再任何時候輸出復位信號中斷其傳輸。
(4)復制便箋式存儲器指令(48H)。把2、3、4號存儲單元的內(nèi)容存儲到非易失性SRAM中去。復制期間,如果有讀指令,DS18B20將把DQ置為低電平,直到轉換結束,把DQ置為高電平。
(5)回讀SRAM(B8H)。將存儲在SRAM中的溫度報警上下限、分別率配置的內(nèi)容寫回相應的便箋式存儲器。
(6)讀電源配置結構指令(B4H)。主控制設備發(fā)出該指令后在輸出讀時序,器件即會送出所使用的電源信息:0為寄生電源,1為外接電源。
DS18B20的ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。
在進行DS18B20操作時一般有以下步驟:(1)初始化DS18B20。(2)ROM指令操作。(3)便箋式存儲器功能指令操作。(4)處理或數(shù)據(jù)傳送。每一次DS18B20的操作都必須滿足以上步驟,若是缺少或順序混亂,期間將不會返回值。3.2控制器電路設計微處理器是控制系統(tǒng)的核心部件。具有控制功能強,體積小,功耗小等一系列的優(yōu)點,它在工業(yè)控制、智能儀表、節(jié)能技術改造、通訊系統(tǒng)、信號處理及家用電器產(chǎn)品中都得到了廣泛的應用。本設計采用AT89S52作為微處理器。硬件圖如下:3.3報警器電路設計FM=P3^7硬件電路如下:3.4鍵盤電路設計電路按鍵開關:開關按鍵實現(xiàn)復位、選擇、溫度加、溫度減按鍵S1(Key0)S2(Key1))S3(Key2)S4(Key3)功能復位選擇溫度加溫度減連接I/O口P3^2P3^3P3^4P3^5硬件電路如下:3.5液晶顯示電路RS=P2^0;RW=P2^1;EN=P2^2硬件電路如下:4軟件設計4.1主程序開始開始預設溫度讀取溫度判斷溫度是否高于預設溫度是顯示溫度蜂鳴器發(fā)出警告鍵盤掃描5系統(tǒng)調試5.1硬件調試使用萬用表檢測是否有虛短虛斷現(xiàn)象5.2軟件調試使用keil軟件,6結果及分析(1)在焊接完所有元器件后,要注意檢查電路,看是否有焊錯、漏焊、或者虛焊等。在程序調試的時候,因為板子上有一個電阻虛焊了,以至于無法點亮l1602液晶屏。后來反復檢查才找到原因。(2)焊接的時候因為焊接技術不是很熟練,在焊接完后,發(fā)現(xiàn)整體元器件不協(xié)調,焊點不圓滑,走線也很亂,看上去不美觀(3)在對蜂鳴器頻率更改時,由于延遲時間太短時的頻率太小,人耳而聽不到聲音,后將延遲的一微秒改為一毫秒便解決了問題7心得體會通過時間周的學習,我對單片機的運用了解更加深入了。由于暑假我有參加電子設計的培訓,所以硬件制作方面比如畫圖制版相對比較熟練了,但在焊接電路方面還有待改進。軟件設計是我們這次學習的重點,在實踐周前兩天我對溫度控制與設計的編程工作還一頭霧水,后來通過不停的查閱資料以及我們組成員的共同努力終于在星期四下午把它順利編寫出來,其間有遇到很多問題,比如如何達到顯示溫度的高精度,如何設置溫度上下限,尤其在蜂鳴器頻率方面花的時間最多,我們本來打算讓蜂鳴器實現(xiàn)音樂報警,可由于時間有限最終未能實現(xiàn),因此我們要在編程方面勤加練習,才能更好的運用單片機。8參考文獻[1]張毅剛.《單片機原理及應用》.北京,高等教育出版社,2010年[2]蔡美琴.《MCS-51系列單片機系統(tǒng)及其應用》.北京,高等教育出版社,2004年[3]魏立峰,王寶興.《單片機原理與應用技術》,北京大學出版社,2007,21-24.[4]楊素行.《模擬電子技術基礎簡明教程》,高等教育出版社,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;//設置溫度上下限的初始值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)//延時1微秒{while(num--);}voiddelay_ms(uintn)//延時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;//復位 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)//延時{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); //開顯示,無光標,光標不閃爍。//write_com(0x07); //開顯示,有光標,光標閃爍。 write_com(0x06); //輸入模式,寫入新數(shù)據(jù)光標右移,屏幕不動。// write_com(0x07); //輸入模式,寫入數(shù)據(jù)光標右移,屏幕右移。 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ù)字和單個字符{ 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ù){// unsignedchari; while(num--);// for(i=0;i<2;i++);}voidInit_DS18B20(void)//初始化ds1820{ unsignedcharx=0; DS=1;//DS復位 tmpDelay(8);//稍做延時 DS=0;//單片機將DS拉低 tmpDelay(80);//精確延時大于480us DS=1;//拉高總
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機務工作面試題及答案解析
- 投資部面試題及答案解析
- 2026年網(wǎng)絡在線學法普法考試題庫含答案(a卷)
- 2026年高校教師崗前培訓《高等教育學》考試題庫含答案(研優(yōu)卷)
- 2026年高校教師資格證之高等教育法規(guī)考試題庫及答案【奪冠】
- 2026年高等學校教師崗前培訓考試暨教師資格筆試題庫含完整答案【歷年真題】
- 商業(yè)分析師面試流程及答案參考
- 2026年二級建造師之二建建筑工程實務考試題庫500道含答案(a卷)
- 胃癌術后口腔護理
- 高熱護理中的皮膚護理
- 常見的胃腸道疾病預防
- 2024-2025學年江蘇省徐州市高一上學期期末抽測數(shù)學試題(解析版)
- 新解讀《DL-T 5891-2024電氣裝置安裝工程 電纜線路施工及驗收規(guī)范》新解讀
- 生產(chǎn)部裝配管理制度
- DB31/T 1205-2020醫(yī)務社會工作基本服務規(guī)范
- 酒店供貨框架協(xié)議書
- 紡織品的物理化學性質試題及答案
- 高處安裝維護拆除作業(yè)培訓
- 長鑫存儲在線測評
- 2025年小學生科普知識競賽練習題庫及答案(200題)
- (完整版)保密工作獎懲制度
評論
0/150
提交評論