




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
總結(jié)此次水位水溫控制系統(tǒng)耗時近兩個月,先后經(jīng)歷了硬件制作和軟件設(shè)計,具體是通過每個板塊的設(shè)計調(diào)試再到整體的組合才能通過。本課題設(shè)計了一個以STC89C51單片機(jī)為核心配合其他外圍電路的熱水器智能控制系統(tǒng),運(yùn)用DS18B20傳感器完成了對熱水器容器內(nèi)的水位、水溫測量并用數(shù)碼管及發(fā)光二極管來顯示水位和水溫;缺水時手動上水,運(yùn)用按鍵模塊設(shè)定溫度參數(shù),缺水報警;水溫超過設(shè)定溫度值時報警系統(tǒng)啟動,發(fā)出報警信號。本設(shè)計的水位和水溫各自的實現(xiàn)操作為:水位是使用自制的測水位導(dǎo)線放入水中,通電之后,顯示當(dāng)前的水位。由單片機(jī)依次使各水位電極呈現(xiàn)高電平,由公共電極所接的三極管進(jìn)行電位轉(zhuǎn)換,水位到達(dá)的電極,轉(zhuǎn)換電位為低(0);水位沒有到達(dá)的電極,轉(zhuǎn)換電位為高(1);每檢測一位便得到一位數(shù)據(jù),3個電極檢測一遍以后便得到了3個串行數(shù)據(jù),然后把這3個數(shù)據(jù)轉(zhuǎn)化為字節(jié)一路送發(fā)光二極管;在這里我們可以用發(fā)光二極管亮的盞數(shù)來顯示水位的高低。而水溫的控制利用低功耗單線數(shù)字溫度傳感器DS18B20實現(xiàn)溫度采樣,將采樣的溫度值通過單片機(jī)的P3.3口送入單片機(jī)處理,然后實現(xiàn)水溫的控制,利用按鍵對水溫的值進(jìn)行設(shè)置,當(dāng)溫度高于上限或者低于下限后蜂鳴器報警,使之保持溫度在一定范圍內(nèi)的穩(wěn)定。本控制系統(tǒng)可以時時采集熱水器內(nèi)部水溫通過LED顯示水溫,由于太陽能熱水器實際溫度不會超過100攝制度,所以本系統(tǒng)采用兩位顯示,測量范圍為00~99攝氏度,溫度可以精確到小數(shù)點后兩位。在這次的畢業(yè)設(shè)計中更重要的是學(xué)習(xí)到的工程設(shè)計方法。以前對于硬件的調(diào)試,由于方法的不科學(xué),既耗精力又耗時間,效率非常不高,現(xiàn)在軟、硬件結(jié)合大大提高效率。在本次設(shè)計中不足之處是硬件設(shè)計中缺少了在缺水狀態(tài)下自動上水功能和實際運(yùn)用電熱絲來加熱使水溫達(dá)到設(shè)定溫度范圍的功能。在這漫長的設(shè)計過程中,通過自己不斷的解決工程中遇到的一個一個的問題,磨練了自己的意志,提高了對工程設(shè)計實踐的認(rèn)識,我想這些都是自己今后職業(yè)生涯中難得的寶貴經(jīng)驗。參考文獻(xiàn)[1]殷為民,太陽能水溫水位儀[J].家用電子,1999(1):37-38[2]張毅剛,彭喜元.單片機(jī)原理及應(yīng)用設(shè)計[M].電子工業(yè)出版社,2010:180-200[3]王俊杰,基于89C51單片機(jī)的太陽能熱水器只能控制器的設(shè)計[J].鄭州輕工業(yè)學(xué)院學(xué)報:自然科學(xué)版,2005(8):67-68[4]周秀明,曹雋,張春龍.基于DS18B20的單片機(jī)溫度檢測與調(diào)節(jié)系統(tǒng)設(shè)[J].實驗室科學(xué),2011,14(1):79-81.[5]張振榮,晉明武,王投平,MCS-51單片機(jī)原理及實用技術(shù)[M].北京:人民郵電出版社,2012:64-120[6]孟偉,方世巍.基于單片機(jī)的智能家用熱水器控只系統(tǒng)[J].(2013)21-0032-02
[7]王梅紅.基于單片機(jī)的溫度控制系統(tǒng)設(shè)計與仿真[J],四川兵工學(xué)報,2012,33(2):102-103[8]鮑文勝.基于單片機(jī)的太陽能熱水器控制系統(tǒng)研究[J].青島理工大學(xué)學(xué)報.2015(05)[9]吳健,侯文,鄭賓.基于STC89C52單片機(jī)的溫度控制系統(tǒng)[J].電腦知識與技術(shù),2011,07(4):902-903[10]Zou
Zhi
jun.
A
study
of
Capacity
of
Major/minor
priorityT-intersection
by
Means
of
Computer
Simulation[J],
China
Journal
of
Highway
and
Transport,
2000,
013(003):
101-105[11]Paul,J.M.Thomas,D.Bobrek.A.Scenario-orienteddesignforsingle-chipheterogeneousmultiprocessors[J].IEEEtransactionsonverylargescaleintegration(VLSI)systems,2016(8):30-34致謝歷時將近兩個星期的時間終于將這篇論文寫完,在論文的寫作過程中遇到了無數(shù)的困難和障礙,都在室友、同學(xué)和老師的幫助下順利度過了。尤其要強(qiáng)烈感謝我的論文指導(dǎo)老師—趙蕓老師,她用自己豐富的專業(yè)知識和經(jīng)驗,在整個論文實驗和論文寫作過程中,對我進(jìn)行了耐心的指導(dǎo)和幫助,提出嚴(yán)格要求,引導(dǎo)我不斷開闊思路,為我答疑解惑,鼓勵我大膽創(chuàng)新,使我在這一段寶貴的時光中,既增長了知識、開闊了視野、鍛煉了心態(tài),又培養(yǎng)了良好的實驗習(xí)慣和科研精神。另外,在學(xué)校圖書館查找資料的時候,也受到了圖書管理員的幫助,告訴我資料在哪些地方并幫助我一同尋找。在此我特別向幫助我的老師們還有辛苦的圖書館管理員表示我最誠摯的謝意!感謝我的室友們,在我有不懂的地方詢問她們時給予我最耐心的講解;感謝我的同班同學(xué),在我寫論文的時候給我提供了很多寶貴的素材;感謝我的朋友,告訴我論文的撰寫格式,還在我排版的過程中給我提供了熱情的幫助。
在論文即將完成之際,我的心情久久無法平靜,回想著這兩個星期大家對我的幫助,我實在是無法用言語表達(dá)我對大家的感謝!最后,也許為我的學(xué)術(shù)水平所限,我寫的畢業(yè)設(shè)計論文還有很多可圈可點的地方,不足之處還請各位老師和學(xué)友不吝賜教!學(xué)生簽名:日期:附錄1程序清單://程序頭函數(shù)#include<reg52.h>//顯示函數(shù)#include<display.h>//宏定義#defineuintunsignedint#defineucharunsignedchar//管腳聲明sbitjdq=P1^0; //加熱繼電器sbitshui=P1^3;//加水繼電器sbitFeng=P2^6;//蜂鳴器//按鍵sbitKey1=P1^4; //設(shè)置sbitKey2=P1^5; //加sbitKey3=P1^6; //減sbitKey4=P1^7; //確定sbitshang=P3^7;//上限sbitxia=P3^6;//下限sbitDQ=P2^2; //定義DS18B20總線I/Osignedcharw,bj,bjx,bjd; //溫度值全局變量ucharc; //溫度值全局變量bitbdataflag=0,flag_BJ,flag_off=1,que;//時間計算#defineImax14000//此處為晶振為11.0592時的取值,#defineImin8000//如用其它頻率的晶振時,#defineInum1145//要改變相應(yīng)的取值。#defineInum2700#defineInum33000//解碼變量unsignedcharIm[4]={0x00,0x00,0x00,0x00};//全局變量ucharf;unsignedcharm,Tc;unsignedcharIrOK;//設(shè)置變量ucharxx=29;//下限ucharsx=35;//上限intds=0;ucharMode=0;voiddelay(uintz){uinti,j;for(i=0;i<z;i++)for(j=0;j<121;j++);}/****************************************************************************************************************************溫度工作程序***************************************************************************************************************************************************************//*****延時子程序*****/voidDelay_DS18B20(intnum){while(num--);}/*****初始化DS18B20*****/voidInit_DS18B20(void){unsignedcharx=0;DQ=1;//DQ復(fù)位Delay_DS18B20(8);//稍做延時DQ=0;//單片機(jī)將DQ拉低Delay_DS18B20(8);//精確延時,大于480usDQ=1;//拉高總線Delay_DS18B20(14);x=DQ;//稍做延時后,如果x=0則初始化成功,x=1則初始化失敗Delay_DS18B20(20);}/*****讀一個字節(jié)*****/unsignedcharReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;//給脈沖信號dat>>=1;DQ=1;//給脈沖信號if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);}/*****寫一個字節(jié)*****/voidWriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=1;DQ=dat&0x10;Delay_DS18B20(5);DQ=0;dat>>=1;}}/*****讀取溫度*****/unsignedintReadTemperature(void){unsignedchara=0;unsignedcharb=0;unsignedintt=0;floattt=0;Init_DS18B20();WriteOneChar(0xC1);//跳過讀序號列號的操作WriteOneChar(0x44);//啟動溫度轉(zhuǎn)換Init_DS18B20();WriteOneChar(0xC1);//跳過讀序號列號的操作WriteOneChar(0xBE);//讀取溫度寄存器a=ReadOneChar();//讀低8位b=ReadOneChar();//讀高8位t=b;t<<=8;t=t|a;tt=t*0.00625;t=tt*10+0.5;//放大10倍輸出并四舍五入return(t);}/*****讀取溫度*****/voidcheck_wendu(void){c=ReadTemperature()-5; //獲取溫度值并減去DS18B20的溫漂誤差w=c/10; //計算得到整數(shù)位if(w<0){w=0;} //設(shè)置溫度顯示上限if(w>99){w=99;} //設(shè)置溫度顯示上限}/*******************************************************************************************************************************************************************************************************************************************************************************************************//**************************************************************************************************************************************按鍵工作程序*****************************************************************************************************************************************************/voidKey(){//模式選擇if(Key1==0){while(Key1==0);Feng=0;Mode++;Display_wd();if(Mode==4){Mode=1;Feng=1;}write_com(0x38);//屏幕初始化write_com(0x0d);//打開顯示無光標(biāo)光標(biāo)閃爍write_com(0x06);//當(dāng)讀或?qū)懸粋€字符是指針后一一位switch(Mode){case1:{write_com(0x80+15);//位置Feng=1;break;}case2:{write_com(0x80+0x40+5);//位置Feng=1;break;}case3:{write_com(0x80+0x40+14);//位置Feng=1;break;}}}if(Key2==0&&Mode!=0){while(Key2==0);Feng=0;switch(Mode){case1:{if(ds<999){ds++;write_com(0x80+13);write_data('0'+ds/100);write_data('0'+ds/10%10);write_data('0'+ds%10);write_com(0x80+15);//位置}Feng=1;break;}case2:{if(sx<99-1){sx++;write_com(0x80+0x40+4);write_data('0'+sx/10%10);write_data('0'+sx%10);write_com(0x80+0x40+5);//位置}Feng=1;break;}case3:{if(xx<sx-1){xx++;write_com(0x80+0x40+13);write_data('0'+xx/10%10);write_data('0'+xx%10);write_com(0x80+0x40+14);//位置}Feng=1;break;}}}if(Key3==0&&Mode!=0){while(Key3==0);Feng=0;switch(Mode){case1:{if(ds>0){ds--;write_com(0x80+13);write_data('0'+ds/100);write_data('0'+ds/10%10);write_data('0'+ds%10);write_com(0x80+15);//位置}Feng=1;break;}case2:{if(sx>xx+1){sx--;write_com(0x80+0x40+4);write_data('0'+sx/10%10);write_data('0'+sx%10);write_com(0x80+0x40+5);//位置}Feng=1;break;}case3:{if(xx>0){xx--;write_com(0x80+0x40+13);write_data('0'+xx/10%10);write_data('0'+xx%10);write_com(0x80+0x40+14);//位置}Feng=1;break;}}}if(Key4==0){while(Key4==0);Feng=0;Mode=0;// write_com(0x38);//屏幕初始化// write_com(0x0c);//打開顯示無光標(biāo)無光標(biāo)閃爍Init1602();if(ds>0){flag=1;jdq=1;TR1=1;}Feng=1;}if(IrOK==1){if(Im[2]==0x0d) //遙控設(shè)置鍵{Feng=0;Mode++;Display_wd();if(Mode==4){Mode=1;Feng=1;}write_com(0x38);//屏幕初始化write_com(0x0d);//打開顯示無光標(biāo)光標(biāo)閃爍write_com(0x06);//當(dāng)讀或?qū)懸粋€字符是指針后一一位switch(Mode){case1:{write_com(0x80+15);//位置Feng=1;break;}case2:{write_com(0x80+0x40+5);//位置Feng=1;break;}case3:{write_com(0x80+0x40+14);//位置Feng=1;break;}}}//+鍵elseif(Im[2]==0x40){if(Mode!=0){Feng=0;switch(Mode){case1:{if(ds<999){ds++;write_com(0x80+13);write_data('0'+ds/100);write_data('0'+ds/10%10);write_data('0'+ds%10);write_com(0x80+15);//位置}Feng=1;break;}case2:{if(sx<99-1){sx++;write_com(0x80+0x40+4);write_data('0'+sx/10%10);write_data('0'+sx%10);write_com(0x80+0x40+5);//位置}Feng=1;break;}case3:{if(xx<sx-1){xx++;write_com(0x80+0x40+13);write_data('0'+xx/10%10);write_data('0'+xx%10);write_com(0x80+0x40+14);//位置}Feng=1;break;}}}}//-鍵elseif(Im[2]==0x19){if(Mode!=0){Feng=0;switch(Mode){case1:{if(ds>0){ds--;write_com(0x80+13);write_data('0'+ds/100);write_data('0'+ds/10%10);write_data('0'+ds%10);write_com(0x80+15);//位置}Feng=1;break;}case2:{if(sx>xx+1){sx--;write_com(0x80+0x40+4);write_data('0'+sx/10%10);write_data('0'+sx%10);write_com(0x80+0x40+5);//位置}Feng=1;break;}case3:{if(xx>0){xx--;write_com(0x80+0x40+13);write_data('0'+xx/10%10);write_data('0'+xx%10);write_com(0x80+0x40+14);//位置}Feng=1;break;}}}}//確定鍵elseif(Im[2]==0x15){Feng=0;Mode=0;Init1602();if(ds>0){flag=1;jdq=1;TR1=1;}Feng=1;}IrOK=0;}}/*******************************************************************************************************************************************************************************************************************************************************************************************************//**************************************************************************************************************************************報警部分程序*****************************************************************************************************************************************************/voidAlam(){if(flag_BJ==1&&flag_off==1){Feng=0;delay(1000);Feng=1;flag_off=0;// flag_BJ=0;}}/*******************************************************************************************************************************************************************************************************************************************************************************************************//***********************************************************************************************************************************************主程序**************************************************************************************************************************************************/voidmain(){Init1602();EA=1;//打開中斷總開關(guān)IT1=1;//下降沿有效EX1=1;//外部中斷1開ET1=1;//打開允許開關(guān)TMOD=0x01;//設(shè)置工作方式TL1=0x3c;TH1=0xb0;//賦初值TH0=0;//T0賦初值TL0=0;TR0=0;//t0開始計時check_wendu();delay(1000);bjd=99;bjx=0; //這兩個變量的作用就是,防止溫度大范圍跳動造成加熱設(shè)備誤動作while(1){check_wendu();if(Mode==0){Display_1602(c,ds,sx,xx);if((xia==1)&&(shang==1))//低于下限{que=1;shui=0;jdq=1;}else{que=0;}if((shang==0)&&(xia==0))//高于上限{shui=1;if(flag_BJ==0)flag_BJ=1;}if((shang==0)&&(xia==1))//錯誤{shui=1;jdq=1;Feng=0;que=1;}if(flag==0){if((w<bjd)&&(w>bjx)){if(w>=sx){jdq=1;if(flag_BJ==0)flag_BJ=1;}elseif((w<xx)&&(que==0)){jdq=0;if(flag_BJ==0)flag_BJ=1;}else{flag_BJ=0;flag_off=1;}bjd=w+5;bjx=w-5;}}}Key();Alam();}}/*******************************************************************************************************************************************************************************************************************************************************************************************************//******************************************************************************************************************************************定時器工作程序***********************************************************************************************************************************************/voidtime1()interrupt3//定時器函數(shù){uints;TH1=0x3c;TL1=0xb0;//重新賦初值s++;if(s==1200) //s=20為1s鐘1200為1分鐘{s=0;ds--;if(ds==0){flag=0;if(w>=sx){jdq=1;if(flag_BJ==0)flag_BJ=1;}elseif((w<xx)&&(que==0)){jdq=0;if(flag_BJ==0)flag_BJ=1;}else{flag_BJ=0;flag_off=1;}bjd=w+10;bjx=w-10;TR1=0;}}}/*************************************************************
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)合并過程中會計處理的關(guān)鍵問題試題及答案
- 微生物培養(yǎng)基的選擇與準(zhǔn)備試題及答案
- 項目管理中的多方協(xié)調(diào)考題及答案
- 2025年注冊會計師考試深入探討試題及答案
- 微生物抗感染藥物的使用原則試題及答案
- 民警嚴(yán)以律己心得體會
- 注冊會計師復(fù)習(xí)中常見問題試題及答案
- 產(chǎn)品開發(fā)的年度工作計劃
- 2025年財務(wù)報告國際標(biāo)準(zhǔn)試題及答案
- 2025年證券從業(yè)資格證持續(xù)改進(jìn)試題及答案
- 碎石外包合同協(xié)議
- 2025年第三屆天揚(yáng)杯建筑業(yè)財稅知識競賽題庫附答案(1001-1536題)
- 2025科技輔導(dǎo)員培訓(xùn)
- 新疆維吾爾自治區(qū)2024年普通高校招生普通類國家及地方專項、南疆單列、對口援疆計劃 本科一批次投檔情況 (理工)
- 智研咨詢發(fā)布:2025年紙漿模塑餐飲具行業(yè)市場規(guī)模及主要企業(yè)市占率分析報告
- 2025年CCAA《管理體系認(rèn)證基礎(chǔ)》考前必練題庫500題(含真題、重點題)
- 中西融合餐廳的經(jīng)營管理與團(tuán)隊建設(shè)
- 2025年智慧工程考試試題及答案
- 大宗商品供應(yīng)鏈管理規(guī)范
- 企業(yè)與學(xué)院合作進(jìn)行的教學(xué)內(nèi)容更新研究
- 數(shù)字化人力資源管理的心得體會
評論
0/150
提交評論