




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業設計說明書題目:溫度控制系統產品設計工藝設計方案設計√類型:學生姓名:學號:學院:專業:應用電子技術班級:學校指導教師:企業指導教師:______2015年12月15日摘要溫度控制是工業自動控制的一個重要組成部分。在許多領域如工業、電子、化學實驗都有重要的應用,而度測量是度控制的一個重要環節。將溫度控制在一定范圍內是各種實際應用的重要保證和前提。所以溫度控制系統在工業控制領域是很重要的。隨著電子技術的發展和應用需求,單片機技術已迅速發展,并已在高集成、高速度、低功耗等方面取得了很大的進步。隨著科學技術的發展,電子技術更高的飛躍,現在我們可以使用單片機和電子溫度傳感器對溫度對溫度進行實時檢測,我們可以很容易地實現多點溫度檢測,和控制不同的位置。所以我們使用單片機作為核心部件進行邏輯控制及信號的產生,用單片機本身的優勢節約成本,為了解決繁瑣復雜的電路對溫度檢測控制的問題,我們的設計在傳統電路的基礎上,對控制系統加以改良。我們通過設計一個程序來實現對溫度的檢測,用戶可以自行設置溫度的上下限,一旦溫度超限,便會發出警報。這個系統就目前而言有很多應用方向,例如:倉庫測溫、生產過程溫度檢測、樓宇空調控制等等。隨著社會的進步,這個設計也能應用到人們工作生活的各個方面,有力的推動個行業的產品更新和計劃改造,充分體現了這項技術的應用前景。關鍵詞:單片機;溫度報警;上下限溫度設置目錄TOC\o"1-3"\h\u1.設計的意義及目標 31.1設計的背景 31.2設計的意義 32.硬件的設計 32.1主要器件的選擇 32.1.1主控制器的選擇 32.1.2DS18B20溫度傳感器 32.1.3蜂鳴器的報警原理 32.2最小系統電路設計 32.3溫度傳感器DS18B20電路圖設計 32.4顯示電路設計分析 33.軟件的設計 33.1主程序 33.2讀出溫度子程序 33.3溫度轉換命令子程序 34.結論 3參考文獻 3致謝 3附錄 31.設計的意義及目標1.1設計的背景測量和控制的作用是從生產現場獲取各種參數,采用科學的計算方法,綜合各種先進技術,生產過程的各個環節都可以得到有效的控制,不僅保證了生產的標準化,提高了產品質量,降低了成本,而且還可以保證安全生產。因此,測量控制技術已廣泛應用于煉油、化工、冶金、電力、電子、輕工、紡織等行業。單片機的集成化程度高,運行速度快,體積小,運行可靠,價格低廉的優勢,在過程控制,數據采集,機電一體化,智能化儀器儀表,家用電器和網絡技術得到了廣泛的應用,特別是在發展和單芯片技術的應用,標志著計算機的發展,一個新的里程碑的歷史。溫度控制系統已廣泛應用于工業生產,科學研究和人民生活的領域。在工業生產過程中,大量的時間需要是溫度的嚴格監控,以便生產可順利地進行,對產品的質量得以充分保證。溫度控制系統可以用于控制生產環境的溫度,以保證生產自動化,智能可以是光滑的,安全的,從而改善了企業的生產效率。1.2設計的意義隨著社會的發展,社會的進步,并在各個領域的測量儀器的應用,智能化是現在溫度控制系統發展的主流方向。溫度測量與控制系統,溫度控制對象。溫度控制被廣泛應用于日常生活和工業領域,如溫室池塘發酵罐,電源和溫度控制等場所。溫度控制是通過手,沒有引起足夠的重視,許多地方需要監控,以防止事故溫度下進行,實際上。為了解決這個問題,系統設計的目的是實現了連續高溫調節溫度控制系統精度,它被廣泛的應用,功能強大,外形小巧美觀,便于攜帶是一種實用和廉價的控制系統。特別是近年來,在溫度控制系統已經應用到人們生活的各個方面,溫度控制和人們的工作和生活的發展密切相關。2.硬件的設計2.1主要器件的選擇2.1.1主控制器的選擇低電壓高性能CMOS8位單片機STC89C52,平板電腦具有8K字節的可反復擦寫閃存程序存儲器只讀和256字節的隨機存取數據存儲器(RAM)設備采取高密度,非易失性存儲生產技術,標準MCS-51指令系統及8052產品引腳兼容,片內置通用8位CPU(CPU)和Flash存儲單元,功能強大的單片機STC89C52在許多更復雜的控制應用。STC89C52單片機為40腳雙列直插式芯片,有四個I/O端口P0,P1,P2,P3,每個I/O線是獨立的輸出或輸入的。STC89C52PDIP管腳封裝,如圖2.1所示。\o"點擊查看大圖"圖2.1STC89C52PDIP管腳封裝STC89C52包含以下部分:一個8微處理器CPU片內數據存儲器RAM和特殊功能寄存器SFR片內程序存儲器ROM兩個定時/計數器T0、T1,可用作定時器,也可用作以對外部脈沖進行計數四個8位編程的并行I/O端口,讓每個端口既可以作輸入,也可作輸入一個串行端口,用于數據的串行通信中斷控制系統內部時鐘電路2.1.2DS18B20溫度傳感器(1)DS18B20的主要特征全數字溫度轉換及輸出;先進的單總線數據通信;最高12位的分辨率,精度可達0.5攝氏度;12位分辨率的最大工作時間為750毫秒;可選擇寄生工作方式檢測溫度范圍為-55℃~+125℃;內置EEPROM,限溫報警功能;64位光刻ROM,內置產品序列號,方便多機掛接;多樣封裝形式,適應不同硬件系統;(2)DS18B20內部結構DS18B20內部結構如圖2.2所示。圖2.2DS18B20內部結構DS18B20溫度傳感器的內部存儲器還包括一個暫存RAM和非易失性可擦除的EEPROM。內存結構暫存RAM為8字節,結構如圖2.3所示。圖2.3DS18B20結構其中,測得的溫度信息字節包含第2,第三冊,TH和TL的第四字節,是揮發性的,刷新每次上電復位。對配置寄存器第五個字節,其內容被用來確定數字轉換分辨率的溫度值。在DS18B20工作寄存器的分辨率被轉換為相應的精度的溫度值。暫存存儲器的第5個字節是配置寄存器,可以通過相應的寫命令進行配置,其內容如下圖2.4所示。圖2.4寄存器碼表其中R0和R1是溫度值分辨率,可按圖2.5進行配置。圖2.5溫度值分辨率當DS18B20接收溫度轉換命令后,開始啟動轉換。轉化溫度值到16位帶符號的擴展二元補碼形式存儲在1,2字節的暫存器完成后。SCM可以通讀單線接口的數據,時間是低中高,在后高,數據格式,以0.0625度/LSB形式。溫度值格式如下圖2.6所示:圖2.6溫度值格式這是12位的數據,存儲在DS18B20兩個8位的RAM12位的轉換,在五正面二進制為符號位。如果測得的溫度大于0,五為0,只要乘以值將被測量0.0625可以得到的實際溫度。如果溫度小于0,這5比1,測量值需要采取防加1乘以0.0625可以得到的實際溫度。格式,S表示。對應于該計算的溫度:當符號位是0,則測得的溫度值是正的,二進制到十進制的轉換;當s=1時,測得的溫度值是負的,第一補變換的原代碼,然后計算十進制值。(3)DS1820測溫原理晶體的低溫度系數的振蕩頻率圖形受溫度影響是用于生產固定頻率的脈沖信號的非常小的打擊1,晶體的高溫度系數的溫度變化振蕩頻率的變化,作為計數器的脈沖數2,圖中也有一個門數,計數當門打開所產生的信號,在低溫度系數振蕩器產生的時鐘脈沖的DS18B20后計數,然后完成溫度測量由振蕩器的高溫度系數的門數的開館時間是確定的,在每次測量之前,對應于該基地-55℃分別布置在計數器1和溫度寄存器,計數器1和溫度寄存器是一個對應于-55℃。數值設定。DS18B20溫度測量原理如圖2.7圖2.7DS18B20溫度測量原理圖晶振信號減法計數的低溫度系數,當減法計數器1的預置值減到0時溫度寄存器加1的值,減計數器1的預置將被重新加載,減計數器1開始計數的減法計數器用脈沖信號的低溫度系數的晶體,如此循環,直到減法計數器2計數為0時,停止累積溫度寄存器值,在溫度寄存器值這一點上是所測量的溫度。在常溫下,為0.5℃,溫度DS18B20分辨率,由以下獲得的方法的溫度下測量的結果的分辨率高:首先使用DS18B20提供讀暫存器命令(BEH)讀數至0.5℃下為溫度測量的結果的分辨率,然后修剪從測量結果中的至少顯著位結果(LSB),通過測量TZ的整數部分的實際溫度下得到,然后BEH指示為1殘留的計數計數器取CS的每米數值CD值。實際溫度Ts可用式(2-1)計算:Ts=(Tz-0.25℃)+(CD-Cs)/CD(2-1)2.1.3蜂鳴器的報警原理(1)三極管驅動的蜂鳴器報警電路如下圖2.8所示。圖2.8三極管驅動的蜂鳴器報警電路用三個獨立鍵報警系統可以溫度計上,下限報警設置單獨調節,蜂鳴器電路可以是溫度要在上限和下限,尖叫聲音報警不測量,而紅色LED閃爍,實現報警功能。復位是通過單片機復位電路復位和手動復位,使用更方便,在節目中飛可手動復位運行,因此你不必單芯片電源,即可實現復位。2.2最小系統電路設計本系統使用的基于單片機的溫度計的設計所以首先設計單片機的最小系統,所謂最小系統是一個真正可用的單片機的最小配置系統。由于本次設計是用的STC89C52單片機片內不能集成時鐘電路所需的晶體振蕩器,也沒有復位電路,在構成最小系統時必須外接這些部件。電路設計如圖2.9所示,其中電容為30PH、10UF,晶振為11.0592MHZ.圖2.9最小系統2.3溫度傳感器DS18B20電路圖設計主要由四部分組成:64位光刻ROM,溫度傳感器,非易失性溫度報警觸發器TH和TL,配置寄存器。DS18B20的管腳排列,多種封裝形式,如圖所示3.4。用于數據輸入/輸出管腳,DQ也可以用作開漏總線接口引腳,在寄生電源模式下使用時,可以向設備提供電力;GND為地信號;VDD為可選擇的電源引腳,當工作于寄生電源時,此引腳必須接地,其電路圖如圖2.10所示。圖2.10傳感器電路2.4顯示電路設計分析采用動態節能四位共陽極數碼管顯示,由四個三極管驅動,三極管是位選,和數碼管共的那個陽串聯控制開和關,數碼管別的連段選,和控制器連接。為什么要用三極管驅動,因為它的功率相對大,并且數碼管顯示幾段是不定的,這里要通過足夠的電流。由于不定,所以每段要分別串聯限流電阻。3.軟件的設計3.1主程序主程序的主要功能是負責溫度的實時顯示,讀出并處理DS18B20測量,溫度測量每1秒一次的當前溫度值。這可以在一個單一的第二測得的溫度來測量,程序流程如圖3.1所示。圖3.1程序流程圖3.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節,在讀出時需要進行CRC校驗,校驗有錯時不進行溫度數據的改寫。其程序流程圖如圖3.2所示。圖3.2溫度子程序流程圖3.3溫度轉換命令子程序溫度轉換命令子程序主要是發溫度轉換開始命令,當采用12位分辨率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如圖3.3所示。圖3.3溫度轉換命令子程序流程圖4.結論經過一段時間的設計、焊接、調試,終于能夠達到預定的功能,此次設計讓我們對單片機有了初步的認識,了解了單片機的工作模式和具體過程,明白了怎樣利用單片機來設計滿足自己設定功能的作品,怎樣利用單片機來控制系統,怎樣進行單片機編程,掌握了焊接的技巧,通過對單片機最小系統的研究,掌握了單片機各引腳的功能與各種外部擴展器件的鏈接,能夠自己運用單片機來解決實際問題。通過這次學習,讓我對各種電路都有了大概的了解,所以說,坐而言不如立而行,對于這些電路還是應該自己動手實際操作才會有深刻理解。在焊接過程中我曾將溫度傳感器的電源、地焊反了,導致溫度器傳感器急劇發熱,后經觀察和查詢資料才得以矯正。在這次的課程設計中,我真真正正的意識到,在以后的學習中,要理論聯系實際,把我們所學的理論知識用到實際當中去,學習單片機更是如此,程序只有在經常地寫與讀的過程中才能提高,這就是我在這次課程設計中的最大收獲。參考文獻[1]彭軍艾永樂、付子義模擬電子技術基礎中國電力出版社2008[2]鄭郁正單片機原理與應用四川大學出版社2003[3]譚浩強C程序設計清華大學出版社2010[4]譚浩強單片機實用教程北京航空航天大學出版社1993[5]趙負圖國內外傳感器手冊遼寧科學技術出版社1997[6]彭軍傳感器與監測技術西安電子科技大學出版社2003致謝大學三年就會在這最后的畢業設計總結上畫上一個圓滿的句點。我曾經以為時間是一個不快不慢的東西,但現在我才發現時間過得是多么的快,三年了,感覺在一眨眼間結束了我的大學生涯。畢業,最重要的一個過程,最能把理論知識運用到實踐當中去的過程就數畢業設計了。這也是我們從一個學生走向社會的一個轉折,另一個生命歷程的開始。著手畢業設計的一個多月,我學到了很多,也成熟了很多。該畢業設計的成功完成離不開我的指導老師的幫助,從課題的選擇、資料的準備、開題報告的寫作到課題的研究,最后到論文的修改、答辯等各個環節,都得到了我們電子信息學院張艷陽老師的悉心指導。在每個環節,老師都是認真、耐心的給予指導,在整個過程中我學到了很多很多,我覺得能夠在這次畢業設計中學到很多東西,以往不注意的細節,在這一次設計中自己也慢慢地變得細心起來。這也是這四年來所學到知識的一個體現。在感謝老師的同時我還要感謝我同學給予我的大力支持和幫助,感謝所有關心和幫助過我的人,你們的支持與鼓舞使我不斷向前的動力,讓我的知識在短暫的時間里得到了升華。附錄附錄一總原理圖附錄二主程序#include<reg52.h>#include"eeprom.h"#defineucharunsignedchar#defineuintunsignedintsbitwei1=P2^1; //數碼管位選sbitwei2=P2^2;sbitwei3=P2^3;sbitwei4=P2^4;sbitDQ=P1^0; //溫度sbitk1=P3^1; //功能按鍵sbitk2=P3^2; //增加鍵sbitk3=P3^3; //減少建ucharTL,TH,TN,TD;sbitbeep=P2^0;ucharcount,num,m,s1num=0; //溫度值ucharhtemp=33,ltemp=15; //溫度上下限初始化floatf_temp;intkey_delay=0;constintkey_count=200;bityyp=1,halarm=0,lalarm=0;ucharcodeTAB[]={0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharcodeTAB1[]={0xbf,0x89,0xc7,0xa7}; //三個依次是-HL 后面兩個是溫度符號/****毫秒級延時函數*****/voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}voiddelay1(uchari){ucharj=100; for(i;i>0;i--) for(j;j>0;j--) {;}}voiddi(){ beep=0; delay(100); beep=1;}/***********ds18b20延遲子函數(晶振12MHz)*******////////////////////////////////////////////////////voiddelay_18B20(unsignedinti){ while(i--);}////////////////////////////////////////////////////**********ds18b20初始化函數**********************/////////////////////////////////////////////////////voidInit_DS18B20(void){ unsignedcharx=0; DQ=1; //DQ復位 delay_18B20(8); //稍做延時 DQ=0; //單片機將DQ拉低 delay_18B20(80); //精確延時大于480us DQ=1; //拉高總線 delay_18B20(14); x=DQ; //稍做延時后如果x=0則初始化成功x=1則初始化失敗 delay_18B20(20);}/////////////////////////////////////////////***********ds18b20讀一個字節**************////////////////////////////////////////////unsignedcharReadOneChar(void){ uchari=0; uchardat=0; for(i=8;i>0;i--) { DQ=0; //給脈沖信號 dat>>=1; DQ=1; //給脈沖信號 if(DQ) dat|=0x80; delay_18B20(4); } return(dat);}///////////////////////////////////////////////////*************ds18b20寫一個字節****************///////////////////////////////////////////////////voidWriteOneChar(uchardat){ unsignedchari=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay_18B20(5); DQ=1; dat>>=1;}}/**************讀取ds18b20當前溫度************///////////////////////////////////////////////voidReadTemp(){ Init_DS18B20(); WriteOneChar(0xCC); //跳過讀序號列號的操作 WriteOneChar(0x44); //啟動溫度轉換 Init_DS18B20(); delay(1); WriteOneChar(0xCC); //跳過讀序號列號的操作 WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度 TL=ReadOneChar();//先讀的是溫度值低位 TH=ReadOneChar();//接著讀的是溫度值高位 TN=TH*16+TL/16;//實際溫度值=(TH*256+TL)/16,即:TH*16+TL/16 //這樣得出的是溫度的整數部分,小數部分被丟棄了 TD=(TL%16)*10/16;//計算溫度的小數部分,將余數乘以10再除以16取整, //這樣得到的是溫度小數部分的第一位數字(保留1位小數) }////////////////////////////////////////////////voidget_wendu(ucharm){ ucharws,wg; ws=m/10; wg=m%10; wei2=0; //讀取溫度的十位和個位 P0=TAB[ws]; delay(5); wei2=1; P0=0xff; wei3=0; P0=TAB[wg]&0x7f; delay(5); wei3=1; P0=0xff; }voidget_wendu2(ucharm){ wei4=0; P0=TAB[m]; delay(5); wei4=1; P0=0xff; }/////////調最高溫度調用的函數//////voidhdisplay(uchardat) { ucharfs,fg; wei1=0; //讀取最高溫度符號“H-” P0=TAB1[1]; delay(5); wei1=1; P0=0xff; wei2=0; P0=TAB1[0]; delay(5); wei2=1; P0=0xff; fs=dat/10; fg=dat%10; wei3=0; P0=TAB[fs]; delay(5); wei3=1; P0=0xff; wei4=0; P0=TAB[fg]; delay(5); wei4=1; P0=0xff;}/////////調最低溫度調用的函數//////voidldisplay(uchardat) { ucharfs,fg; wei1=0; //讀取最低溫度符號“L=” P0=TAB1[2]; delay(2); wei1=1; P0=0xff; wei2=0; P0=TAB1[0]; delay(2); wei2=1; P0=0xff; fs=dat/10; fg=dat%10; wei3=0; P0=TAB[fs]; delay(2); wei3=1; P0=0xff; wei4=0; P0=TAB[fg]; delay(2); wei4=1; P0=0xff; }/****按鍵掃描******/voidkeyscan(){ if(k1==0) { delay(10); if(k1==0) { yyp=0; s1num++; while(!k1); //等待按鍵釋放 di(); htemp=byte_read(0x2200); ltemp=byte_read(0x2000); switch(s1num) { case1:break; case2:break; case3:if(s1num==3)s1num=0;yyp=1; break; } } } if(s1num!=0) { if(k2==0) { delay(10); if(k2==0) { do { delay1(10); } while((!k2)&(key_delay++<key_count)); ///等待按鍵釋放 di(); switch(s1num) { case1:htemp++; if(htemp==99)htemp=0; hdisplay(htemp); SectorErase(0x2200);//擦除扇區 byte_write(0x2200,htemp);//重新寫入數據 break; case2:lte
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 難點解析秘書證試題及答案
- 臥床患者如何喂藥護理
- 翡翠拍賣知識培訓課件
- 美牙健康知識培訓課件
- 神經母細胞瘤術后護理
- 2024農業職業經理人考試思維訓練方法總結試題及答案
- 濃硫酸測試題目及答案
- 空調維修服務規范培訓
- 影像教學特色課程介紹
- 組織社會學課程
- 陽光心理健康成長(課件)-小學生主題班會
- 2025年全民國家安全教育日主題教育課件
- DL∕T 2528-2022 電力儲能基本術語
- 幼兒園螞蟻教學認識螞蟻螞蟻分類(課堂PPT)
- C35P10計算書
- 小學數學專題講座:“小學數學計算能力的培養.ppt“
- 年齡更改申請書
- 佛教開靈奠食科儀
- 自動計算空調水管及冷量管徑對應表-office2010以上版本
- 飲水機濾芯更換記錄表
- 土釘墻支護計算計算書(共10頁)
評論
0/150
提交評論