基于單片機的pm2.5空氣質(zhì)量檢測系統(tǒng)設(shè)計-通信工程大學(xué)論文_第1頁
基于單片機的pm2.5空氣質(zhì)量檢測系統(tǒng)設(shè)計-通信工程大學(xué)論文_第2頁
基于單片機的pm2.5空氣質(zhì)量檢測系統(tǒng)設(shè)計-通信工程大學(xué)論文_第3頁
基于單片機的pm2.5空氣質(zhì)量檢測系統(tǒng)設(shè)計-通信工程大學(xué)論文_第4頁
基于單片機的pm2.5空氣質(zhì)量檢測系統(tǒng)設(shè)計-通信工程大學(xué)論文_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的空氣質(zhì)量檢測系統(tǒng)設(shè)計專業(yè):通信工程班級:2013級1班姓名:目錄TOC\o"1-5"\h\z引言3.1概述5.系統(tǒng)組成5硬件設(shè)計5軟件設(shè)計6電路設(shè)計7原理圖7單片機及外圍電路設(shè)計7.傳感器電路設(shè)計16A/D模數(shù)轉(zhuǎn)換電路17LCD顯示電路19LED顯示電路20報警模塊21程序設(shè)計23主程序設(shè)計233.2按鍵部分錯誤!未定義書簽。顯示部分23A/D轉(zhuǎn)換部分25應(yīng)用軟件介紹29keil的應(yīng)用294.2protel99se的應(yīng)用304.3Proteus的應(yīng)用31設(shè)計的應(yīng)用33主要用途33應(yīng)用場景33結(jié)果與分析34總結(jié)3.5致謝3.6參考文獻37附錄1原理圖38附錄2程序源代碼39#//返回轉(zhuǎn)換結(jié)果,//返回轉(zhuǎn)換結(jié)果,unsignedcharADC0832(bitMO,bitCH){unsignedchari,dat,ndat;CS=0;//將CS端置0,使能_nop_();〃延時一個機器周期_nop_();DI=1;//起始信號必須置高CLK=1;//時鐘信號_nop_();_nop_();CLK=0;//時鐘信號形成第一個脈沖_nop_();_nop_();DI=MO;//模式選擇CLK=1;_nop_();_nop_();CLK=0;//時鐘信號形成第二個脈沖_nop_();_nop_();DI=CH;//通道選擇CLK=1;//_nop_();_nop_();CLK=0;//時鐘信號形成第三個脈沖DI=1;dat=0;//讀取轉(zhuǎn)換后數(shù)據(jù)for(i=0;i<8;i++){dat<<=1;CLK=1;_nop_();_nop_();CLK=0;〃時鐘信號形成第四個脈沖_nop_();_nop_();dat|=ADDO;}ndat=0;if(ADDO==1)ndat|=0x80;//反序讀取數(shù)據(jù),用于校驗for(i=0;i<7;i++){ndat>>=1;CLK=1;_nop_();_nop_();CLK=O;〃時鐘脈沖_nop_();_nop_();if(ADDO==1)ndat|=0x80;}CS=1;〃結(jié)束,使能關(guān)CLK=0;DI=1;if(dat==ndat)〃數(shù)據(jù)校驗return(dat);elsereturn0;}4應(yīng)用軟件介紹4.1keil的應(yīng)用KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹KeilC51開發(fā)系統(tǒng)各部分功能和使用。KeilC51軟件界面如圖16:乜dht-pVision4劉料3iRSfliD=*衛(wèi)團凹工程記閃存兇ifl^LEi外El迓備凹工話迪5VS童□凹碾凹-[」Targei1白S^HjrcsGroup1gSTARTUP.A51inlrin5ihabsacthmsfth.h俯-[」Targei1白S^HjrcsGroup1gSTARTUP.A51inlrin5ihabsacthmsfth.h俯32.h.厶TLoa董中■「固曲肚|nnifin.elude<^egSZ-DD2003004DD5DDEDD7ODBDD9DID011D12013D14D1501B017D1BD19D2D021022D23024D2502BD27D2B028020volcSTiner^_UaiT:On?■flnclude^inrrlns-hifLn.clu.de<-itj-3.ee?bAHaclude<maT;]i?h?i-incmde"OB32.hnyf定JtLEDl£D2^trOsbitE-P2^6;//16D2f?^引崗孤代RS?E■嚴丁:/門£"社招/命令運揮引腳shitP.W-P2*5?silt:LI^EIEC-PJ^J;sbit1£反近工04兇7sbItLE成悶E少二瑰Fsbit3ET[KEgP』W8bltM[fKn=P3^5jm亡SUB_EEEY-P3",i6jshitBUZZ-PS^?.;lnt?tNrffG=5<?0?tnlnxIJfijIbi七FlagStartRH-O;bitriaq_E-J-a;bitvoidL16D2_3rrinaluc^ar"3珂小。"3『lle,ueHar-7定吋器。祐站化D:H13<D32ET0=1:D3JTHOCqDxll034TLO-沁如D25THO=D3ETRQ■1;”允許走時雅0中肝打定時器工件方式逸捋”走時■廷試于蕪頂Z/J動定FF塞圖16KeilC51軟件編程界面該軟件是一款集編程和仿真于一體的軟件,它支持匯編、C語言及二者的混合編程。protel99se的應(yīng)用Protel99SE是本次設(shè)計中硬件電路設(shè)計的主要手段,它是PORTELTechnolagy公司的產(chǎn)品。Protel99SE是一個基于Windows平臺的32位EDA設(shè)計系統(tǒng),它的編輯功能豐富多樣、自動化設(shè)計能力也很強大便捷、它還有完善有效的檢測工具。它采用設(shè)計庫管理模式,為用戶提供了大量的原理圖元件庫和PCB元件庫,用戶還可根據(jù)需要自己創(chuàng)建元件庫還可以對這些庫進行管理。Protel99SE還兼容多種格式的設(shè)計文件,也可將文件轉(zhuǎn)化成多種格式輸出。Protel99SE還支持Windows平臺的所有外出設(shè)備,提供高分辨率的光繪文件,使用戶輕松掌握設(shè)計全過程。Protel99SE軟件主要由兩大部分組成:原理圖設(shè)計系統(tǒng)和印制電路板設(shè)計系統(tǒng)。原理圖設(shè)計系統(tǒng)主要用于原理圖的設(shè)計,也為生成PCB文件打下良好的基礎(chǔ)。它的特點如下:分層次組織的設(shè)計環(huán)境,用戶可以將帶設(shè)計系統(tǒng)劃分為若干子系統(tǒng),子系統(tǒng)再劃分為若干功能模塊。強大的元件和元件庫方便易用的連接線工具強大的編輯功能有多重設(shè)計校驗功能,保證設(shè)計不會出錯6)可以直接生成印制板,與印制板緊密相連7)高質(zhì)量繪圖輸出,支持Windows平臺下的外出設(shè)備印制板電路設(shè)計系統(tǒng)主要用于PCB電路板設(shè)計,用于印制板生產(chǎn)??瑟毩⒃O(shè)計,也可由原理圖生成,主要特點如下:1)擁有豐富的PCB元件庫2)簡單的交互性手動布線功能3)智能的自動布線功能4)萬無一失的校驗功能Proteus的應(yīng)用Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型17]。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工具。圖17為實際設(shè)計仿真圖:C1U122FfFZJni1/TJEK3:::■sIEXTa.申1ttnsRP1E:U'B.LWV啣網(wǎng)F2.2JA.1U吃涂討F2.5JA.13巴.6M心葉油PSliTxDP32ikffD~PSlikffTps+/mP35/F1曲店啞PSFjREPO.Dffl[XJPD.1TAPIPDNftEP0.3rAK3PD.4/AMPOf^MPDft*收POJi'At?■HWFUEDRED-■=rL.xi?LI141占;圖17仿真圖5設(shè)計的應(yīng)用5.1主要用途本設(shè)計主要可用于室內(nèi)和戶外的空氣質(zhì)量(主要是PM2.5)的檢測,可用于長期檢測PM2.5濃度。應(yīng)用場景辦公室空氣檢測和提醒,公共場合控?zé)?,空調(diào)和通風(fēng)口處監(jiān)測,氣象臺觀測站,馬路口監(jiān)測為期排量。6結(jié)果與分析圖18為設(shè)計實物,液晶顯示屏用來顯示PM2.5的實測值和報警設(shè)定值。Led燈用來顯示大氣空氣質(zhì)量,紅燈亮為重度污染,伴隨蜂鳴器告警,黃燈為輕度或中度污染,而綠燈表示空氣質(zhì)量良好。該設(shè)計共有四個按鍵,從左到右依次為“電源鍵”、“設(shè)置鍵”、“+鍵”、“-鍵”。電源鍵控制電源開關(guān),本設(shè)計可采用電池供電和USB供電,供電電壓為5V。設(shè)置鍵被按下后,可以用+鍵、-鍵設(shè)置PM2.5警報值。再次按下設(shè)置鍵,警報值設(shè)置完畢,此時+鍵、-鍵無效。經(jīng)多次調(diào)試與試驗,本設(shè)計已能夠準確的測量空氣中PM2.5的濃度值,并能將數(shù)值顯示出來。報警功能,LED顯示功能和按鍵設(shè)置功能也基本實現(xiàn)。本設(shè)計主要測量PM2.5的值,如果加入溫度、濕度等其它傳感器,便可以測得大氣中更多的質(zhì)量參數(shù)。圖18實物圖現(xiàn)在人們生活水平不斷提高,有越來越多的人開始關(guān)注空氣質(zhì)量,尤其國內(nèi)已有多處地區(qū)深受霧霾的危害,所以人們需要做一些措施來觀察我們身邊空氣的PM2.5。而本設(shè)計正是基于這點,應(yīng)用所學(xué)的知識,制作一個簡單,經(jīng)濟,便攜的多功能PM2.5濃度檢測儀。在設(shè)計中GP2Y1010AU0F粉塵傳感器采集空氣中PM2.5的濃度值,經(jīng)過AT89C52單片機處理后,在LCD1602液晶上顯示,并且設(shè)置一個報警值,檢測的PM2.5濃度值超過報警值后,蜂鳴器報警,報警值可以用按鍵手動調(diào)節(jié)。另外,該設(shè)計在實時檢測濃度的同時,根據(jù)當(dāng)前檢測濃度亮起相應(yīng)的燈,直觀的能告知觀測者當(dāng)前的濃度。在本設(shè)計中,主要的難點在于傳感器的實用和A/D轉(zhuǎn)換,需要閱讀相應(yīng)的資料才能做出設(shè)計,對于資料的應(yīng)用和學(xué)習(xí)能力是很重要,這也算是這次設(shè)計給我?guī)淼腻憻?。?dāng)然在設(shè)計完成后,本著一開始設(shè)計的實用性的出發(fā)點,進行了三個檢測試驗,一方面檢測設(shè)計的可操作性和實用性,另一方面也是讓自己對PM2.5的產(chǎn)生有了直觀的了解。最后很高興能夠通過自己的努力,運用所學(xué)順利完成了該設(shè)計。致謝很高興能夠順利完成本次畢業(yè)設(shè)計,在此過程中受益良多。當(dāng)然這跟老師和同學(xué)的幫助密不可分。首先感謝周昕和邵一川老師,是他們給了我方向讓我知道從什么地方入手,該學(xué)習(xí)哪些知識,在我最茫然的時候幫我理清思路。在設(shè)計中遇到困難時,也是他們充分利用專業(yè)知識給我解答,幫助完善了論文。而且還教授我了許多人生經(jīng)驗,知道要用嚴謹、認真和堅持不懈的態(tài)度來面對將來的工作。感謝我的同學(xué),在他們的幫助下我才能掌握這么多設(shè)計軟件,也感謝他們能夠提出寶貴的意見。使設(shè)計的完成變的更加的順利。也讓我感受到來自友情的溫暖。感謝已經(jīng)畢業(yè)的學(xué)哥,在軟件設(shè)計過程中給了那么多的指點。也感謝他耐心的講解。從他身上學(xué)到了很多專業(yè)知識。最后感謝學(xué)校對學(xué)生的培養(yǎng),給學(xué)生提供了這么多的平臺,讓學(xué)生有更多學(xué)習(xí)和展示自我的機會,也使我們明白作為一名學(xué)生所肩負的使命和未來讓每一個學(xué)生都有一份能力去面對將來職場的挑戰(zhàn)!參考文獻[1]劉少軍,王瑜瑜.基于單片機控制的空氣質(zhì)量檢測系統(tǒng)的設(shè)計[J].機械與電子,2015,(01):53-56.⑵霍雨佳.“PM2.5對人體健康的危害[J].生命與災(zāi)害,2011,(12):15.⑶謝慧,趙申,曹國慶.國內(nèi)外PM2.5控制標準及對比[J].建筑科學(xué),2014,(06):37-43.[4]羅亞萍,王忠慶,岳曉東.基于AT89C52單片機的室內(nèi)有害氣體監(jiān)控系統(tǒng)[J].山西電子技術(shù),2011,(03):29-30.⑸王幸之,鐘愛琴.AT89系列單片機原理與接口技術(shù)[K]北京:北京航空航天大學(xué)出版社.2004.:11-19⑹李麗,單片機最小系統(tǒng)的研究J].數(shù)字技術(shù)與應(yīng)用,2016,(10):2⑺郭天祥,新概念51單片機C語言教程[K].北京:電子工業(yè)出版社2009:21-23⑻羅鴻初,環(huán)境空氣質(zhì)量檢測系統(tǒng)探討J]科技與創(chuàng)新2014.7:21-25鄭鋒,王巧芝.51單片機應(yīng)用系統(tǒng)典型模塊開發(fā)大全[K].北京:中國鐵道出版社.2011:33-34蘭冰芯,諶海云,陳東,吉寧.基于單片機的PM2.5測試儀的設(shè)計與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2014,11:32-34李全利,單片機原理及應(yīng)用技術(shù)[K].北京:高等教育出版社.2009:11-16李維提,郭強.液晶顯示應(yīng)用技術(shù)[K].北京:電子工業(yè)出版社.2006:5-6范紅剛,魏學(xué)海.51單片機自學(xué)筆記[K].北京:北京航空航天大學(xué)出版社.2010:18-23張亞林.基于C52控制的ADC0832應(yīng)用詳解[J].數(shù)字技術(shù)與應(yīng)用,2013,(03):5-6李學(xué)海,經(jīng)典8051單片機輕松入門與上手[K].北京:清華大學(xué)出版社.2009:23-24周潤景,Protel99SE電路設(shè)計及應(yīng)用[K].北京.機械工業(yè)出版社2012:4-5張志良,單片機應(yīng)用項目式教程/基于KEIL和PROTEUS[K].北京.機械工業(yè)出版社.2014:11-1223R5w+C4C55612347890+U1VK1K2K330,zC3l^EDG3302D323R310R41K■303R6220■6■4:■2—D2■23■22子■6C1C25—6f—940卄■134415*■20~234-Y1□uFVCC■40139D0—238D1―337D2—436D3―535D4634D5~~733D6832D79附錄1原理圖VCCVCCU5LCD1602LCMSWITCH1P1POWER1504D'D'DDDDDD70uf220uFVCCRP1R8”VCC10K89C51/52VCCR72.2kR82.2kR110KQ19012B1'BELL(A14)P2.6(A13)P2.5(A12)P2.4(A11)P2.3(A10)P2.2(A9)P2.1(A8)P2.0P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTP3P3P3P3P3P3P3P3XTAL2XTAL1GNDVCC(AD0)P0.0(AD1)P0.1(AD2)P0.2(AD3)P0.3(AD4)P0.4(AD5)P0.5(AD6)P0.6(AD7)P0.7.0(RXD)EA/VP^.1_(TXD)ALE/PR-OG-.2(INT0)PSEN.3(INT1)(A15)P2.7.4(T0)?5申).6(WR).7(RD)COMRT*R3*R4^R?^踣DDDDDDU6PM2.5123456CSVCCCH0CLKCH1DOGNDDIADC0832SI56341231附錄2程序源代碼#include<reg52.h>#include<intrins.h>#include<math.h>#include"0832.h"#defineucharunsignedchar#defineuintunsignedint//LCD1602端口定義sbitE=P2人6;〃定義使能引腳sbitRS=P2人7;〃數(shù)據(jù)/命令選擇引腳sbitRW=P2A5;//讀/寫選擇sbitLED_RED=P2A2;sbitLED_YELLOW=P2A1;sbitLED_GREEN=P2A0;sbitSET_KEY=P3A4;sbitADD_KEY=P3A5;sbitSUB_KEY=P3A6;sbitBUZZ=P3A7;intWARNING=150;intDA;bitflag_BJ=0;bitset=0;voidL1602_string(ucharhang,ucharlie,uchar*p);//定時器初始化voidTimer_Init()//定時器工作模式選擇//定時器工作模式選擇//定時器1賦初值(50ms)//定時器1中斷允許TMOD=0x11;TL1=0xb0;TH1=0x3c;ET1=1;TR1=1;}//定時器1中斷子函數(shù)voidTimer1_RUN(void)interrupt3{ucharRHCounter1;TL1=0xb0;TH1=0x3c;//定時器賦初值(50ms)RHCounter++;if(RHCounter>=10)〃計時0.5s{RHCounter=0;if(flag_BJ==1)BUZZ=!BUZZ;elseBUZZ=1;}}//延時子函數(shù)voiddelay(){uinti,j;for(i=0;i<=10;i++)for(j=0;j<=2;j++);}//毫秒延時子函數(shù)voiddelay_ms(uintms){uinti,j;for(i=0;i<ms;i++)for(j=0;j<110;j++);}//LCD1602寫命令函數(shù)voidcom(uchardel){RS=0;//RS拉低為寫命令P0=del;E=1;delay();E=0;delay();}//LCD1602寫數(shù)據(jù)函數(shù)voidwrite(uchardel){RS=1;//RS拉高為寫數(shù)據(jù)P0=del;E=1;delay();E=0;delay();}//液晶顯示器初始化函數(shù)voidL1602_init(void){com(0x38);com(0x0c);com(0x06);com(0x01);//清屏要放在最后com(0x80);L1602_string(1,1,"PM2.5:0ug/m3");L1602_string(2,1,"HPM2.5:150ug/m3");}//寫字符子函數(shù),輸入行和列,在相應(yīng)位置顯示字符voidL1602_char(ucharhang,ucharlie,charsign){uchara;if(hang==1)a=0x80;if(hang==2)a=0xc0;a=a+lie-1;com(a);write(sign);}//字符串顯示子函數(shù)voidL1602_string(ucharhang,ucharlie,uchar*p){uchara;if(hang==1)a=0x80;if(hang==2)a=0xc0;a=a+lie-1;com(a);while(1){if(*p=='\0')break;write(*p);p++;}}voiddisplay(){if(DA%10000/1000!=0)L1602_char(1,8,DA%10000/1000+0x30);elseL1602_char(1,8,'');if(DA%10000/100!=0)L1602_char(1,9,DA%1000/100+0x30);elseL1602_char(1,9,'');if(DA%10000/10!=0)L1602_char(1,10,DA%100/10+0x30);elseL1602_char(1,10,'');L1602_char(1,11,DA%10+0x30);if(WARNING%10000/1000!=0)L1602_char(2,8,WARNING%10000/1000+0x30);elseL1602_char(2,8,'');if(WARNING%10000/100!=0)L1602_char(2,9,WARNING%1000/100+0x30);elseL1602_char(2,9,'');if(WARNING%10000/10!=0)L1602_char(2,10,WARNING%100/10+0x30);elseL1602_char(2,10,'');L1602_char(2,11,WARNING%10+0x30);BUZZ=1;//蜂鳴器關(guān)}//按鍵函數(shù)voidKey(){if(SET_KEY==0)//如果設(shè)置按鍵按下{delay_ms(20);if(SET_KEY==0){BUZZ=O;〃蜂鳴器響set=!set;//設(shè)置的變量加1TR0=!set;//關(guān)定時器0if(set==1){com(0x80+0x40+7);if(WARNING%10000/1000!=0)write(WARNING%10000/1000+0x30);elsewrite('');if(WARNING%10000/100!=0)write(WARNING%1000/100+0x30);elsewrite('');if(WARNING%10000/10!=0)write(WARNING%100/10+0x30);elsewrite('');write(WARNING%10+0x30);com(OxOf);//打開顯示無光標光標閃爍com(0x80+0x40+10);〃位置}else{com(OxOc);//打開顯示無光標光標閃爍}BUZZ=1;//蜂鳴器關(guān)while(SET_KEY==O);〃等待按鍵釋放}if(ADD_KEY==0&&set!=0)//在設(shè)置的狀態(tài)下按下加{delay_ms(20);if(ADD_KEY==0&&set!=0){BUZZ=0;WARNING+=10;//加按鍵,一次步進10if(WARNING>=1000)//報警值超過上限WARNING=1000;com(0x80+0x40+7);if(WARNING%10000/1000!=0)write(WARNING%10000/1000+0x30);elsewrite('');if(WARNING%10000/100!=0)write(WARNING%1000/100+0x30);elsewrite('');if(WARNING%10000/10!=0)write(WARNING%100/10+0x30);elsewrite('');write(WARNING%10+0x30);com(0x80+0x40+10);〃調(diào)整位置BUZZ=

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論