基于MCS-51單片機的溫度報警裝置的設(shè)計和開發(fā)_第1頁
基于MCS-51單片機的溫度報警裝置的設(shè)計和開發(fā)_第2頁
基于MCS-51單片機的溫度報警裝置的設(shè)計和開發(fā)_第3頁
基于MCS-51單片機的溫度報警裝置的設(shè)計和開發(fā)_第4頁
基于MCS-51單片機的溫度報警裝置的設(shè)計和開發(fā)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-PAGE12.z---..--總結(jié)資料目錄TOC\o"3-3"\h\z\u第1章系統(tǒng)總體設(shè)計方案21.1課題背景21.2溫度報警裝置的功能設(shè)計2第2章系統(tǒng)硬件設(shè)計32.1單片機32.2溫度采集電路32.2.1DS18B20介紹32.2.2技術(shù)性能描述32.2.3應(yīng)用*圍32.2.4接線說明32.2.5DS18B20內(nèi)部構(gòu)造圖42.2.6DS18B20工作原理42.2.7DS18B20原理圖52.3報警控制62.3.1報警原理62.3.2三極管參數(shù)62.3.3報警電路設(shè)計62.4溫度顯示電路72.4.1LED數(shù)碼管驅(qū)動72.4.2溫度顯示工作原理73.1軟件設(shè)計思路83.2程序流程83.3程序內(nèi)容編寫9第4章結(jié)論15致謝15參考文獻16英文翻譯17附錄18基于MCS-51單片機的溫度報警裝置的設(shè)計與開發(fā)曾修平物理與電子信息學(xué)院電子信息工程專業(yè)07級指導(dǎo)教師:賴春紅摘要:設(shè)計了一個基于單片機控制的溫度控制器系統(tǒng)。該系統(tǒng)采用AT89S51單片機為主控制核心,實現(xiàn)溫度采集,傳輸。整個系統(tǒng)硬件局部包括溫度采樣電路,DS18B20轉(zhuǎn)換器,按鍵電路,驅(qū)動電路,7段譯碼器,LED數(shù)碼顯示器。在配合用C語言編制的程序使軟件實現(xiàn),實現(xiàn)溫度溫控功能.關(guān)鍵詞:單片機;溫度控制;LED數(shù)碼顯示英文翻譯BasedonSCMairconditioning51-MCSintelligentthermostatdesignanddevelopmentCHENGHou-lin(PhysicsandElectronicEngineeringDept.ChongqingThreeGorgesUniversity,Wanzhou404000)ABSTRACTThiscontrolcircuitis8051single-chipprocessorcore.Theentiresystemhardwarepartsincludingtemperaturesamplingcircuit,ZiJiShiA/Dconvertercircuit,drivecircuit,buttons,sequentialcircuits,and8sectiondecoder,LEDdigitaldisplay.Incoordinationwithassemblylanguageprogramthatsoftware,airconditioningtemperatureofthebasicfunctionofintelligenttransformation.Thiscontrolcircuitcost,functionandpractical,simpleoperation,andhascertainpracticalvalue.Fromthreeaspects,firstlyisthedescriptionofthehardwarecircuit,Thenthesoftwaredesign,Finallyrealizingfunction.KEYWORDSThe8051microcontroller,temperaturecontrol,LEDdigitaldisplay第1章系統(tǒng)總體設(shè)計方案1.1課題背景電子技術(shù)的開展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來了根本性的變化,如果說微型計算機的出現(xiàn)使現(xiàn)代的科學(xué)研究得到了質(zhì)的飛躍,則單片機技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)控制測控領(lǐng)域帶來了一次新的革命。目前,單片機在工業(yè)控制系統(tǒng)諸多領(lǐng)域得到了極為廣泛的應(yīng)用。特別是其中的C51系列的單片機的出現(xiàn),具有更好的穩(wěn)定性,更快和更準確的運算精度,推動了工業(yè)生產(chǎn),影響著人們的工作和學(xué)習(xí)。在現(xiàn)代社會中,溫度報警裝置不僅應(yīng)用在工廠生產(chǎn)方面,其作用也表到達了各個方面,隨著人們生活質(zhì)量的提高,酒店廠房及家庭生活中都會見到溫度報警裝置,溫度報警裝置將更好的效勞于社會.而今,數(shù)字溫度計等家用電器隨著生產(chǎn)技術(shù)的開展和生活水平的提高越來越普及,一個簡單,穩(wěn)定的溫度報警系統(tǒng)能更好的適應(yīng)市場。而本次設(shè)計就是要通過以MCS-51系列單片機為控制核心,實現(xiàn)溫度報警裝置的設(shè)計。1.2溫度報警裝置的功能設(shè)計通過溫度傳感器對空氣進展溫度采集,將采集到的溫度信號傳輸給單片機,再由單片機控制數(shù)碼管顯示,并比擬采集溫度大于設(shè)定的報警溫度,假設(shè)大于設(shè)定的的報警溫度單片機就會驅(qū)動報警電路進展報警。溫度報警裝置主要單片機,時序電路,溫度采樣電路,報警電路,溫度顯示電路,電源輸入電路,驅(qū)動電路等組成。系統(tǒng)原理圖見圖1所示:數(shù)碼管7段譯碼器數(shù)碼管7段譯碼器STC89C527段譯碼器7段譯碼器數(shù)碼管數(shù)碼管報警電路驅(qū)動電路溫度采樣電路蜂鳴器圖1溫度報警控制系統(tǒng)框圖第2章系統(tǒng)硬件設(shè)計2.1單片機由于空調(diào)溫度控制器的核心就是單片機,單片機的選擇將直接關(guān)系到控制系統(tǒng)的工作是否有效和協(xié)調(diào)。本設(shè)計采用MCS-51系列的STC89C52單片機,因為STC89C52單片機應(yīng)用廣泛,性能穩(wěn)定,抗干擾能力強,性價比高。STC89C52包含了8位CPU,片內(nèi)振蕩器,8K字節(jié)Flash,512字節(jié)RAM,2個16位定時器,計數(shù)器,中斷構(gòu)造,I/O接口等??蛇M展計算,定時等一系列功能。2.2溫度采集電路2.2.1DS18B20介紹美國DALLAS公司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。2.2.2技術(shù)性能描述 獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。測溫*圍-55℃~+125℃,固有測溫分辨率0.5℃。支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定,實現(xiàn)多點測溫。工作電源:3~5V/DC。在使用中不需要任何外圍元件,測量結(jié)果以9~12位數(shù)字量方式串行傳送。2.2.3應(yīng)用*圍 該產(chǎn)品適用于冷凍庫,糧倉,儲罐,電訊機房,電力機房,電纜線槽等測溫和控制領(lǐng)域;軸瓦,缸體,紡機,空調(diào),等狹小空間工業(yè)設(shè)備測溫和控制。汽車空調(diào)、冰箱、冷柜、以及中低溫枯燥箱等。供熱/制冷管道熱量計量,中央空調(diào)分戶熱能計量和工業(yè)領(lǐng)域測溫和控制。2.2.4接線說明特點獨特的一線接口,只需要一條口線通信多點能力,簡化了分布式溫度傳感應(yīng)用無需外部元件可用數(shù)據(jù)總線供電,電壓*圍為3.0V至5.5V無需備用電源測量溫度*圍為-55°C至+125℃。華氏相當于是-67°F到257華氏度-10°C至+85°C*圍內(nèi)精度為±0.5°C溫度傳感器可編程的分辨率為9~12位溫度轉(zhuǎn)換為12位數(shù)字格式最大值為750毫秒用戶可定義的非易失性溫度報警設(shè)置應(yīng)用*圍包括恒溫控制,工業(yè)系統(tǒng),消費電子產(chǎn)品溫度計,或任何熱敏感系統(tǒng)描述該DS18B20的數(shù)字溫度計提供9至12位〔可編程設(shè)備溫度讀數(shù)。信息被發(fā)送到/從DS18B20通過1線接口,所以中央微處理器與DS18B20只有一個一條口線連接。為讀寫以及溫度轉(zhuǎn)換可以從數(shù)據(jù)線本身獲得能量,不需要外接電源。因為每一個DS18B20的包含一個獨特的序號,多個ds18b20s可以同時存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多,包括空調(diào)環(huán)境控制,感測建筑物內(nèi)溫設(shè)備或機器,并進展過程監(jiān)測和控制。2.2.5DS18B20內(nèi)部構(gòu)造圖 見圖2.1。圖2.1DS18B20內(nèi)部構(gòu)造圖2.2.6DS18B20工作原理DS18B20的讀寫時序和測溫原理與DS1820一樣,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。DS18B20測溫原理如圖2.1所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度存放器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進展減法計數(shù),當計數(shù)器1的預(yù)置值減到0時,溫度存放器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開場對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進展計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停頓溫度存放器值的累加,此時溫度存放器中的數(shù)值即為所測溫度。圖2.1中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。圖2.2DS18B20測溫原理圖2.2.7DS18B20原理圖要想使DS18B20進展準確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個DS18B20在溫度轉(zhuǎn)換期間工作電流到達1mA,當幾個溫度傳感器掛在同一根I/O線上進展多點測溫時,只靠10K上拉電阻就無法提供足夠的能量,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。因此,圖2.3電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并且工作電源VCC必須保證在5V,當電源電壓下降時,寄生電源能夠汲取的能量也降低,會使溫度誤差變大。圖2.3DS18B20原理圖2.3報警控制2.3.1報警原理報警控制電路由IO口控制PNP三級管驅(qū)動蜂鳴器發(fā)出聲響,當溫度大于20度是IO口將對PNP的基極產(chǎn)生一個低電平,此時PNP起開關(guān)作用閉合蜂鳴器發(fā)出聲響。三極管參數(shù)8550三極管引腳圖2.4,它一種常用的普通三極管。是一種低電壓,大電流,小信號的PNP型硅三極管集電極-基極電壓Vcbo:-40V,工作溫度:-55℃to+150℃,主要用途:開關(guān)應(yīng)用,射頻放大。圖2.3PNP8550管腳圖2.3.3報警電路設(shè)計 見圖2.4圖2.4報警裝置電路設(shè)計2.4溫度顯示電路2.4.1LED數(shù)碼管驅(qū)動8550驅(qū)動介紹:在驅(qū)動電路局部我使用了8位三極管作為數(shù)碼管的8個段選陽極輸入,單片機的IO口作為數(shù)碼管的陰極輸入,這樣設(shè)計的主要目的是單片機的IO口驅(qū)動力較低,而吸收電流的能力較強,所以利用這一特點實現(xiàn)使用三極管PNP實現(xiàn)大電流輸出,用IO接收回路電流。2.4.2溫度顯示工作原理溫度顯示電路如圖2.5所示:由8個8550三極管和1片七段四位數(shù)碼管組成,數(shù)碼管采用共陽級接法。8個三極管分別接BCD的a-h,段選信號由STC89C52的P2口提供,數(shù)碼管顯示位選由STC89C52的P1口的輸出決定。圖2.5顯示電路3.1軟件設(shè)計思路軟件設(shè)計的任務(wù)包括啟動溫度轉(zhuǎn)換、讀溫度轉(zhuǎn)換結(jié)果、設(shè)置溫度、溫度比擬、報警等,其中啟動溫度轉(zhuǎn)換、讀溫度轉(zhuǎn)換結(jié)果、判斷溫度等工作在主程序中完成,溫度控制在主函數(shù)程序中完成,即每隔一段時間比照測量溫度與設(shè)定溫度之間的大小關(guān)系,根據(jù)比照結(jié)果給出控制信號,控制是否發(fā)出聲音信號。3.2程序流程主程序流程圖如圖3.1所示。圖3.1主程序流程圖3.3程序內(nèi)容編寫//主函數(shù)voidmain(){ //t_變量 intt_=0; //等待溫度傳感器的初始值消失以免錯誤判斷 //tmp()函數(shù)返回值為實際溫度乘10的一個參數(shù) //800是80度初始化是會產(chǎn)生個85度參數(shù)while(tmp()>500) //溫度轉(zhuǎn)換 tmpchange(); //讀值 t_=tmp();do{ //溫度轉(zhuǎn)換 tmpchange(); t_=tmp(); //對溫度進展顯示 display(t_); //控制蜂鳴器報警 fengming(t_/10); //注意t_為溫度*10的參數(shù)}while(1);}//顯示局部ucharcodetable[]={ //數(shù)碼管位選0~30*fe,0*fd,0*fb,0*f7};ucharcodetable0[]={ //不帶小數(shù)點的0~90*88,0*db,0*94,0*91,0*c3,0*a1,0*a0,0*9b,0*80,0*81};ucharcodetable1[]={ //帶小數(shù)點的0~90*08,0*5b,0*14,0*11,0*43,0*21,0*20,0*1b,0,0*01};//參數(shù)聲明ucharnum1,num2,num3;//臨時變量用來存數(shù)的各個位置//LCD延時函數(shù)voiddelay0(uintz){uint*,y; for(*=z;*>0;*--) for(y=110;y>0;y--);}//顯示函數(shù)voiddisplay(uintdatad) {P0=table[0]; //位選為第一個數(shù)碼管if(flag==1) //判定為零下溫度{P2=0*f7;//為零下度數(shù)第一個數(shù)碼管顯示負號delay0(6);flag=0; P0=0*ff;}else{P2=0*88; //為零上時顯示0為標志位delay0(6); P0=0*ff;} P0=table[1]; //位選為第二個數(shù)碼管num1=datad/100; //別離出十位P2=table0[num1]; //顯示溫度的十位delay0(6);P2=0*ff;P0=table[2]; //位選為第三個數(shù)碼管num2=datad/10%10;//別離出個位P2=table1[num2]; //顯示溫度個位delay0(6);P2=0*ff;P0=table[3]; //位選為第四個數(shù)碼管num3=datad%10; //別離出小數(shù)點后一位P2=table0[num3]; //顯示小數(shù)點delay0(6);P2=0*ff;}//溫度讀取//發(fā)送初始化及復(fù)位信號voiddsreset(void){ //DS18B20初始化uinti;DS=0;i=103;while(i>0)i--;DS=1;i=4;while(i>0)i--;}//readabit讀一位bittmpreadbit(void){uinti;bitdat; //i++fordelay小延時一下DS=0;i++;DS=1;i++;i++;dat=DS;i=8;while(i>0)i--;return(dat);}//readabytedate讀一個字節(jié)uchartmpread(void){uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tmpreadbit(); //讀出的數(shù)據(jù)最低位在最前面,這樣剛好 //一個字節(jié)在dat里dat=(j<<7)|(dat>>1);} //將一個字節(jié)數(shù)據(jù)返回return(dat);}//writeabytetods18b20//寫一個字節(jié)到DS18B20里voidtmpwritebyte(uchardat){uinti;ucharj;bittestb;for(j=1;j<=8;j++){testb=dat&0*01;dat=dat>>1;if(testb)//write1寫1局部{DS=0;i++;i++;DS=1;i=8;while(i>0)i--;}else{DS=0;//write0寫0局部i=8;while(i>0)i--;DS=1;i++;i++;}}}//DS18B20beginchange發(fā)送溫度轉(zhuǎn)換命令voidtmpchange(void){dsreset();//初始化DS18B20delay(1);//延時tmpwritebyte(0*cc);//跳過序列號命令tmpwritebyte(0*44);//發(fā)送溫度轉(zhuǎn)換命令}//getthetemperature獲得溫度uinttmp(){floattt;uchara,b;dsreset();delay(1); //發(fā)送讀取數(shù)據(jù)命令tmpwritebyte(0*cc);tmpwritebyte(0*be); //連續(xù)讀兩個字節(jié)數(shù)據(jù)a=tmpread();b=tmpread(); //twobyteposeaintvariable //兩字節(jié)合成一個整型變量。temp=b;temp<<=8;temp=temp|a; if(b==0*ff) { flag=1; temp=~temp+1; } //得到真實十進制溫度值,因為DS18B20 tt=temp*0.0625;//可以準確到0.0625度,所以讀回數(shù)據(jù)的最低位代表的是//0.0625度。 //放大十倍,這樣做的目的將小數(shù)點后第一位temp=tt*10+0.5;//也轉(zhuǎn)換為可顯示數(shù)字,同時進展一個四舍五入操作。 //返回溫度值returntemp;}//蜂鳴器控制voidfengming(inta){if(a>=20)buzzer=0;elsebuzzer=1;}總結(jié)本次設(shè)計主要采用的是STC89C52單片機,該單片機的穩(wěn)定性比擬好,編程簡單,功能易實現(xiàn)。還可以采用其它系列的單片機,比方AVR,EMC,PIC等單片機。經(jīng)過將近三周的單片機課程設(shè)計,終于完成了我的溫度報警的設(shè)計,雖然沒有完全到達設(shè)計要求,但從心底里說,還是快樂的,畢竟這次設(shè)計把實物都做了出來,快樂之余不得不深思呀!在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設(shè)計但這次設(shè)計真的讓我長進了很多,單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事。首先,在電路調(diào)試方面,在教師和同學(xué)的幫助和討論下,我先把每一個外圍電路的工作原理弄懂了,對它的工作電壓電流核實,然后我在實驗板上把實際的電路連接起來,加上實際的電源,一個一個的調(diào)試,發(fā)現(xiàn)它確實能夠正常工作時在做下一步。在電路印制板設(shè)計方面:我設(shè)計的是用了兩個電路板來實現(xiàn),一個是最小系統(tǒng)板,是在前期的學(xué)習(xí)中弄好的,為了不浪費資源,所以這次就用于設(shè)計中;一塊電機驅(qū)動板,利用三極管的導(dǎo)通截止來驅(qū)動電機的轉(zhuǎn)動。其中最值得提的就是我們考慮了電機在啟動時電流缺乏,會給傳感器造成影響,因此我們采用了電流較大的電源供電,用三端穩(wěn)壓芯片完成。使電路非常穩(wěn)定,在用PROTEL99制作印制板的時候,我考慮到了小車的實際情況,我做板就盡量小。使整個電路板作到了小巧玲瓏,但是線路卻有些細了,只有0.8mm,制作工藝也不行,容易出現(xiàn)老化的現(xiàn)象,因此這個地方還需要改良。在程序調(diào)試方面也遇到各種問題,單獨調(diào)試每個模塊程序時能正常工作,但把它們組合連在一起的時候有的模塊就不正常工作。這也是我們設(shè)計中需要改良的。然而本設(shè)計仍然存在不少不完善和有待改良的地方,因此在今后的各種設(shè)計中,都會繼續(xù)考慮這些問題并力圖解決。致謝在本論文的完成過程中,首先要感謝我的指導(dǎo)教師賴春紅教師,在她的悉心指導(dǎo)和無微不至幫助下,才能順利完成這次設(shè)計。賴教師為論文的課題研究提供了很多指導(dǎo)性意見,對論文的撰寫,修改提供了許多具體的指導(dǎo)和幫助。在此,學(xué)生衷心表示感謝:“教師,您辛苦了!〞此外還要感謝我的同學(xué)和寢室兄弟們,是他們在我生活和學(xué)習(xí)上給予了很多無私的幫助,值此時機,我向你們說聲謝謝!此外,就要感謝評閱教師對本論文進展的認真評閱和批評指正。最后,向所有給予我關(guān)心和幫助的師長和同學(xué)們表示衷心的感謝!參考文獻[1]何立民.單片機應(yīng)用系統(tǒng)設(shè)計[M].:清

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論