基于GSM模塊的可通信智能PM2.5檢測(cè)設(shè)備設(shè)計(jì)_第1頁(yè)
基于GSM模塊的可通信智能PM2.5檢測(cè)設(shè)備設(shè)計(jì)_第2頁(yè)
基于GSM模塊的可通信智能PM2.5檢測(cè)設(shè)備設(shè)計(jì)_第3頁(yè)
基于GSM模塊的可通信智能PM2.5檢測(cè)設(shè)備設(shè)計(jì)_第4頁(yè)
基于GSM模塊的可通信智能PM2.5檢測(cè)設(shè)備設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩59頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于GSM模塊的可通信智能PM2.5檢測(cè)設(shè)備設(shè)計(jì)引言如今,我國(guó)的現(xiàn)代化發(fā)展速度變得原來(lái)越快,工業(yè)的發(fā)展是國(guó)家發(fā)展不可或缺的一步。但是隨著輕重工業(yè)的發(fā)展帶來(lái)的環(huán)保問(wèn)題也愈發(fā)嚴(yán)重,其中收到人們,尤其是北方人們關(guān)注的就是空氣中PM2.5濃度過(guò)高問(wèn)題。企業(yè)現(xiàn)代化管理水平不斷提高,環(huán)保意識(shí)日益增強(qiáng),其控制和管理水平的要求越來(lái)越高,這就需要一款設(shè)備,來(lái)實(shí)時(shí)監(jiān)控生產(chǎn)環(huán)境、作業(yè)環(huán)境以及日常生活環(huán)境中PM2.5含量,同時(shí)實(shí)現(xiàn)報(bào)警功能,來(lái)提醒人們進(jìn)行調(diào)節(jié)和防范。單片機(jī)相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。所以說(shuō),一塊芯片就成了一臺(tái)計(jì)算機(jī),它的體積小、質(zhì)量輕、價(jià)格便宜,為學(xué)習(xí)和開(kāi)發(fā)提供了便利。因此,單片機(jī)是對(duì)此設(shè)備起到控制作用最佳選擇。同時(shí)對(duì)我來(lái)說(shuō),此課題的畢業(yè)設(shè)計(jì)是一次極好的學(xué)習(xí)與鍛煉機(jī)會(huì),可以完成本課題的畢業(yè)設(shè)計(jì)及提交合格論文。

緒論論文選題背景及意義論文選題背景目前我國(guó)隨著發(fā)展的腳步逐漸加快帶來(lái)的幾大問(wèn)題之一就是空氣環(huán)境的惡化,其中影響空氣環(huán)境的因素之一就是PM2.5濃度,PM2.5含量過(guò)高的問(wèn)題不僅影響到人們的日常生活,同時(shí)還影響到工業(yè)生產(chǎn)以及基礎(chǔ)設(shè)施的運(yùn)行。尤其是我國(guó)北方大部分城市目前深受高濃度PM2.5的影響。所以此論文就以此為背景,設(shè)計(jì)并制作出一款可以實(shí)時(shí)檢測(cè)出當(dāng)前空氣中PM2.5濃度,并在到達(dá)一定濃度時(shí)可以自動(dòng)觸發(fā)報(bào)警的設(shè)備,從而達(dá)到減少對(duì)人體健康的傷害以及減輕對(duì)工業(yè)生產(chǎn)的危害的目的。PM2.5檢測(cè)意義PM2.5就是細(xì)微顆粒物,它能較長(zhǎng)時(shí)間懸浮于空氣中,它在空氣中濃度越高空氣污染就越嚴(yán)重。雖然PM2.5只是地球大氣中含量很少的一部分,但它對(duì)空氣質(zhì)量和能見(jiàn)度的影響十分嚴(yán)重。與較粗的大氣顆粒物相比,PM2.5粒徑小,面積大,活性強(qiáng),易附帶有毒、有害物質(zhì),在大氣中的停留時(shí)間長(zhǎng)、輸送距離遠(yuǎn),所以對(duì)人體健康和大氣環(huán)境質(zhì)量的影響更大[1]。PM2.5檢測(cè)儀是用來(lái)檢測(cè)空氣中PM2.5含量的專業(yè)設(shè)備。此設(shè)備通過(guò)PM2.5傳感器來(lái)檢測(cè)空氣中PM2.5含量同時(shí)將數(shù)據(jù)傳輸?shù)綑z測(cè)端,此時(shí)檢測(cè)段再將含有PM2.5含量的數(shù)據(jù)傳輸?shù)綀?bào)警端,報(bào)警端將數(shù)據(jù)與預(yù)設(shè)值進(jìn)行比較來(lái)判斷是否報(bào)警。技術(shù)現(xiàn)狀與發(fā)展趨勢(shì)技術(shù)現(xiàn)狀目前市場(chǎng)上所能購(gòu)買到的PM2.5相關(guān)產(chǎn)品僅僅只有手持家用PM2.5檢測(cè)儀以及數(shù)款昂貴的工業(yè)用PM2.5檢測(cè)模塊(不完整的系統(tǒng)),尚未發(fā)現(xiàn)類似的智能型、可反饋的PM2.5預(yù)報(bào)警系統(tǒng)。其中完整的PM2.5檢測(cè)報(bào)警設(shè)備應(yīng)當(dāng)包括檢測(cè)傳感器和報(bào)警設(shè)備兩大部分組成,經(jīng)過(guò)上網(wǎng)調(diào)查,本課題所使用的單片機(jī)最小系統(tǒng)、各檢測(cè)報(bào)警模塊從技術(shù)角度講已經(jīng)是非常成熟的,并且從市場(chǎng)上就可購(gòu)買得到,本人在編程、硬件制作等方面也進(jìn)行了學(xué)習(xí)和進(jìn)行畢業(yè)前的系統(tǒng)培訓(xùn),具備了一定的應(yīng)用基礎(chǔ)。整體思路:檢測(cè)端包括PM2.5檢測(cè)電路與單片機(jī)最小系統(tǒng),通過(guò)檢測(cè)模塊將數(shù)據(jù)傳輸?shù)紺PU進(jìn)行處理。報(bào)警端包括蜂鳴器報(bào)警電路、GSM短信發(fā)送電路、液晶顯示電路、按鍵電路與單片機(jī)最小系統(tǒng),報(bào)警端CPU將檢測(cè)段CPU傳輸過(guò)來(lái)的數(shù)據(jù)經(jīng)過(guò)處理后顯示到液晶屏來(lái)實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)顯示,同時(shí)與預(yù)設(shè)數(shù)值對(duì)比來(lái)判斷是否進(jìn)行報(bào)警。因此從整體來(lái)看,本課題從立項(xiàng)到研制都是可行的。發(fā)展趨勢(shì)“PM2.5”這個(gè)詞可以說(shuō)是個(gè)熱點(diǎn)話題,國(guó)家更是已經(jīng)把治理空氣質(zhì)量設(shè)立為重點(diǎn)工程,目前北方已經(jīng)關(guān)閉了多家制造以及化工企業(yè),空氣質(zhì)量也已經(jīng)得到了一些好轉(zhuǎn)??諝庵卫硪欢ㄒ獜拿恳患移髽I(yè)做起,作為一名普通民眾個(gè)人防范更是不能少,所以家用以及商用的檢測(cè)儀和空氣凈化器變得越來(lái)越熱門(mén),未來(lái)的趨勢(shì)一定是越來(lái)越大眾化和智能化,其中最基本的檢測(cè)報(bào)警端正是我所研究和制作的,從此可見(jiàn)必定會(huì)有個(gè)很寬廣的前景。作者所做工作與論文內(nèi)容安排作者所做工作首先研讀畢業(yè)設(shè)計(jì)任務(wù)書(shū),根據(jù)任務(wù)進(jìn)行檢索查閱相關(guān)技術(shù)文獻(xiàn)和資料。明確畢業(yè)設(shè)計(jì)任務(wù)書(shū),對(duì)設(shè)計(jì)的設(shè)備進(jìn)行分析與描述。在明確系統(tǒng)功能和技術(shù)指標(biāo)要求的基礎(chǔ)上進(jìn)行系統(tǒng)方案的總體設(shè)計(jì)。在系統(tǒng)總體方案框架下進(jìn)行系統(tǒng)硬件設(shè)計(jì)。通過(guò)仿真軟件確定設(shè)計(jì)可行之后進(jìn)行實(shí)體電路的焊接并進(jìn)行調(diào)試。不斷修改調(diào)試中發(fā)現(xiàn)的問(wèn)題,確定最終作品。論文內(nèi)容安排第1章為緒論,從當(dāng)前的社會(huì)背景引出此次畢業(yè)設(shè)計(jì)所設(shè)計(jì)制作的設(shè)備。第2章從整體上對(duì)設(shè)備進(jìn)行了介紹,闡明了設(shè)備的技術(shù)要求和總體設(shè)計(jì)方案,使讀者能夠?qū)υO(shè)備的功能有個(gè)基本的了解。第3章介紹了主、從機(jī)的硬件設(shè)計(jì),分別介紹了兩端各模塊的工作方式以及接線方式。第4章介紹了主、從機(jī)的軟件設(shè)計(jì),詳細(xì)的說(shuō)明了設(shè)備各部分的工作流程。第5章為實(shí)物調(diào)試,通過(guò)測(cè)試確定了最后成品的工作模式。第6章為總結(jié)與展望,對(duì)整篇文章進(jìn)行收尾,同時(shí)對(duì)自身的不足和遇到的問(wèn)題進(jìn)行討論。

系統(tǒng)總體設(shè)計(jì)系統(tǒng)設(shè)計(jì)要求本課題所設(shè)計(jì)制作的設(shè)備主要包括以下幾大功能:實(shí)時(shí)檢測(cè)當(dāng)前PM2.5濃度并顯示到液晶屏。當(dāng)PM2.5濃度到達(dá)一定值時(shí)能夠?qū)崿F(xiàn)本地端和遠(yuǎn)程端報(bào)警??蓪?shí)現(xiàn)無(wú)人值守監(jiān)控,觸發(fā)報(bào)警后設(shè)備自動(dòng)復(fù)位,準(zhǔn)備進(jìn)行下一輪檢測(cè)??蛇M(jìn)行人機(jī)交互,可自行設(shè)定報(bào)警值、報(bào)警短信顯示的內(nèi)容和接收?qǐng)?bào)警短信的手機(jī)號(hào)碼。設(shè)備的檢測(cè)精度為1ug/m3。系統(tǒng)總體方案通過(guò)設(shè)計(jì)要求把設(shè)備分為主機(jī)(報(bào)警端)和從機(jī)(檢測(cè)端)兩部分,其中主機(jī)端由以下五部分構(gòu)成:CPU最小系統(tǒng)蜂鳴器GSM通信模塊LCD顯示屏5VDC電源輸入從機(jī)端包括由以下三部分構(gòu)成:CPUPM2.5傳感器5VDC電源輸入設(shè)備示意圖如下所示,圖2-1設(shè)備示意圖設(shè)備采用了分離式的設(shè)計(jì),將檢測(cè)端和處理判斷端分別設(shè)置為從機(jī)和主機(jī),通過(guò)之間的數(shù)據(jù)通信實(shí)現(xiàn)多臺(tái)檢測(cè)設(shè)備可分別不同位置的PM2.5濃度,大大的提高了設(shè)備工作效率。同時(shí)為了保證設(shè)備的穩(wěn)定性在主機(jī)和從機(jī)兩端分別設(shè)置一個(gè)CPU進(jìn)行數(shù)據(jù)處理,通過(guò)RS485接口進(jìn)行兩部分通信,同時(shí)也在兩端各設(shè)計(jì)了一個(gè)輸入電源,來(lái)保證設(shè)備在任意一個(gè)電源斷開(kāi)的情況下仍能繼續(xù)工作[2]。因?yàn)榇舜卧O(shè)計(jì)的目的是驗(yàn)證原型機(jī)設(shè)計(jì)和工作的可行性,所以在原型機(jī)的制作中為了簡(jiǎn)化處理,這里只制作了一臺(tái)PM2.5檢測(cè)設(shè)備(從機(jī))來(lái)跟主機(jī)通信,而且主機(jī)和從機(jī)之間并不需要遠(yuǎn)距離傳輸數(shù)據(jù),所以直接把兩端通過(guò)數(shù)據(jù)總線鏈接的方式連接在一起,將經(jīng)歷主要的投入在軟、硬件設(shè)計(jì)和配合部分。

系統(tǒng)硬件設(shè)計(jì)原件選型該設(shè)備計(jì)劃使用的各單片機(jī)硬件如表3-1所示。表3-1整體硬件列表序號(hào)名稱型號(hào)單位數(shù)量1PM2.5檢測(cè)模塊GP2Y1010AU0F個(gè)12單片機(jī)最小系統(tǒng)STC12C5A60S2個(gè)23液晶顯示屏LCD1602個(gè)14GSM通信模塊SIM900A個(gè)15蜂鳴器個(gè)16USB電源線條17PCB板塊28電阻、電容、按鈕、導(dǎo)線等個(gè)若干主機(jī)硬件設(shè)計(jì)主機(jī)電源電路設(shè)計(jì)電路在設(shè)計(jì)上由5VDC直流電直接供電給單片機(jī)驅(qū)動(dòng),整個(gè)過(guò)程中不需要其它的整流、升/降壓裝置,所以此設(shè)備可以直接通過(guò)5VDC1~2A的手機(jī)充電器或移動(dòng)電源供電,同時(shí)為了保證設(shè)備在突發(fā)情況下可以繼續(xù)運(yùn)行,分別在主機(jī)和從機(jī)設(shè)置了兩個(gè)并聯(lián)的電源接口,任意接口接入電源即可對(duì)整個(gè)電路進(jìn)行供電。選用此種電源的優(yōu)勢(shì)在于這樣可以選擇固定插座供電和移動(dòng)電源供電,大大的增加了便利性,雙供電口的設(shè)計(jì)也可以使設(shè)備在其中某一接口出現(xiàn)故障的時(shí)候保證不間斷運(yùn)行,提高了設(shè)備的穩(wěn)定性。主機(jī)CPU電路設(shè)計(jì)這里給主機(jī)選用宏晶科技公司生產(chǎn)的STC12C5A60S2單片機(jī),其引腳如圖3-1所示。其引腳詳細(xì)說(shuō)明請(qǐng)見(jiàn)附錄2。圖3-1STC12C5A60S6引腳相比傳統(tǒng)普通51單片機(jī)具有以下特點(diǎn)[3]:同樣晶振的情況下,速度是普通51的8~12倍。有8路10位AD。多了兩個(gè)定時(shí)器,帶PWM功能。SPI接口。EEPROM。1K內(nèi)部擴(kuò)展RAM。多一個(gè)串口。I/O口可以定義,有四種狀態(tài)。中斷優(yōu)先級(jí)有四種狀態(tài)可定義。綜合以上特點(diǎn),在此認(rèn)為此型號(hào)單片機(jī)最適合本次設(shè)計(jì)的設(shè)備,不僅可以提高設(shè)備檢測(cè)的精度,還給兩CPU之間的通信提供了便利。起振電路中的晶振選擇11.0592MHz的晶振,經(jīng)過(guò)測(cè)試可以使檢測(cè)更加精確[4]。圖3-2起振電路復(fù)位電路如圖3-3所示。主機(jī)與從機(jī)電路全部通過(guò)高電平復(fù)位,通電后電容兩端電壓為5V,電容所連接的電阻接地放電(有電壓差),放電后電容兩端電壓為0。故通電瞬間會(huì)產(chǎn)生高電平復(fù)位過(guò)程。通電過(guò)程中,按鈕按下后短接電容,使單片機(jī)RESET端口產(chǎn)生5V電壓,電路再次復(fù)位[5]。圖3-3復(fù)位電路主機(jī)顯示報(bào)警電路設(shè)計(jì)蜂鳴器報(bào)警電路蜂鳴器報(bào)警電路如圖3-5所示。蜂鳴器端共有3個(gè)引腳,引腳1為與單片機(jī)通信引腳,引腳2為+5V供電引腳,引腳3為接地引腳。三極管充當(dāng)電子開(kāi)關(guān)實(shí)現(xiàn)電路的通斷,此電路為低電平導(dǎo)通。當(dāng)單片機(jī)引腳10輸出低電平時(shí)三極管導(dǎo)通,+5V電壓流向蜂鳴器,蜂鳴器工作。當(dāng)單片機(jī)引腳10輸出低電平時(shí)三極管斷路,蜂鳴器停止工作[6]。圖3-5蜂鳴器報(bào)警電路液晶屏電路液晶屏電路如圖3-6所示。引腳1、2、3所連接的滑動(dòng)電阻R2為調(diào)節(jié)屏幕背光亮度旋鈕,通過(guò)旋轉(zhuǎn)藍(lán)白色調(diào)節(jié)器調(diào)整電阻大小,從而調(diào)節(jié)屏幕亮度,通常不需調(diào)節(jié)。P2.0~2.2引腳為命令輸送端口。P0.0~P0.7引腳為數(shù)據(jù)輸送端口,單片機(jī)從此端口輸送顯示命令,BLK引腳+5V供電引腳,BLA為接地引腳。圖3-6液晶屏電路從機(jī)硬件設(shè)計(jì)從機(jī)電源電路設(shè)計(jì)從機(jī)部分在實(shí)物中另外設(shè)置了一個(gè)5V1~2DC直流電源接口,采用并聯(lián)的方式與主機(jī)端電源接在一起,實(shí)際使用中,主機(jī)或者從機(jī)任意一端接入電源即可給整個(gè)設(shè)備供電[7]。從機(jī)CPU電路設(shè)計(jì)為保證設(shè)備的穩(wěn)定性所以在從機(jī)端也設(shè)計(jì)安裝了一個(gè)與主機(jī)型號(hào)完全相同的獨(dú)立的CPU,主要任務(wù)是對(duì)傳感器采集的模擬量進(jìn)行AD轉(zhuǎn)換,再將數(shù)字量發(fā)送到主機(jī)端,故從機(jī)端CPU起振電路、復(fù)位電路等于主機(jī)端完全相同,不再贅述。從機(jī)檢測(cè)電路設(shè)計(jì)按照PM2.5傳感器說(shuō)明書(shū)中所寫(xiě)選取150Ω電阻R5[8]。電路連接方法如圖3-7所示。圖3-7PM2.5檢測(cè)電路其中開(kāi)通管一端接地,另一端接收脈沖,這里使用三極管實(shí)現(xiàn)此功能。從單片機(jī)P13端口輸出脈沖,三極管相當(dāng)于電子開(kāi)關(guān),高電平時(shí)開(kāi)關(guān)開(kāi)通,電流可以從傳感器3號(hào)端口流向接地端;低電平時(shí)開(kāi)關(guān)斷開(kāi)。電阻R29選取大小為1KΩ,因?yàn)楫a(chǎn)生高電平時(shí)電流流過(guò)電阻R29使三極管進(jìn)入飽和狀態(tài),此時(shí)三極管管壓降幾乎為零。傳感器的工作原理會(huì)下一章軟件部分進(jìn)行詳細(xì)介紹,在此只進(jìn)行簡(jiǎn)單的說(shuō)明,傳感器的其中一個(gè)引腳會(huì)發(fā)出下圖所示波形的電壓,圖3-8某引腳發(fā)出電壓波形圖根據(jù)此電壓會(huì)按照傳感器說(shuō)明書(shū)中所給的公式進(jìn)行AD轉(zhuǎn)換,最終換算出當(dāng)前空氣中PM2.5的濃度值[9]。通信電路設(shè)計(jì)主機(jī)與從機(jī)通信電路設(shè)計(jì)如前文所寫(xiě)原型機(jī)實(shí)物中主機(jī)與從機(jī)使用的是較為簡(jiǎn)單的數(shù)據(jù)總線通信,計(jì)劃在實(shí)際中則使用RS458接口的數(shù)據(jù)傳輸協(xié)議來(lái)進(jìn)行各從機(jī)與主機(jī)之間的數(shù)據(jù)傳輸,因?yàn)镽S-485接口具有良好的抗干擾性,具有較長(zhǎng)傳輸距離和更好的多站能力等,綜合上述優(yōu)點(diǎn)就使其成為首選的串行接口,RS-458端口還具有以下特點(diǎn):電氣特性:邏輯“1”以兩線間的電壓差為+(2-6)V表示;邏輯“0”以兩線間的電壓差為-(2-6)V表示。接口信號(hào)電平降低就不易損壞接口電路的芯片,且該電平與TTL電平兼容,方便與TTL電路相連接。最高傳輸速率為10Mbps采用平衡驅(qū)動(dòng)器和差分接收器的組合,抗噪聲干擾性好。最大傳輸距離為4000英尺,實(shí)際可達(dá)3000米,RS-485接口在總線上允許連接多達(dá)128個(gè)收發(fā)器,即具有多站能力,這樣用戶可以利用單一的RS-485接口方便地建立起設(shè)備網(wǎng)絡(luò)。GSM通信電路設(shè)計(jì)GSM通訊模塊采用SIMCom公司設(shè)計(jì)制造的型號(hào)為SIM900A模塊GSM報(bào)警電路如圖3-8所示,其中GSM模塊共有4個(gè)引腳,這里只需要用到如圖中所示其中3個(gè)。圖3-8GSM報(bào)警電路引腳1為+5V供電引腳,引腳4為接地引腳,引腳2為與單片機(jī)通信引腳。因?yàn)檫@里只需要用到此模塊的短信功能,所以不需要接其它引腳。

系統(tǒng)軟件設(shè)計(jì)主機(jī)軟件程序設(shè)計(jì)主機(jī)程序流程圖如下圖4-1,圖4-1主機(jī)程序流程圖首先對(duì)單片機(jī)和LCD顯示屏進(jìn)行初始化,Delay_xms(50); LCD_init();Delay_xms(50);LCD_clear();Delay_xms(50);經(jīng)過(guò)延時(shí)整個(gè)系統(tǒng)穩(wěn)定后,液晶屏顯示初始數(shù)據(jù)并初始化串口,Display();InitUART();之后反復(fù)循環(huán)下邊的函數(shù)來(lái)達(dá)到實(shí)時(shí)檢測(cè)并顯示設(shè)定值和當(dāng)前環(huán)境中PM2.5濃度值的功能,show_ad7();此函數(shù)可以讓LCD屏顯示實(shí)時(shí)濃度,之后通過(guò)設(shè)備上S2,S3兩個(gè)按鍵來(lái)改變預(yù)設(shè)報(bào)警值,if(!key_P_DOWN) { key_P_DOWN_flag=1; }if(key_P_DOWN&&key_P_DOWN_flag) { SET_N+=10;key_P_DOWN_flag=0;LCD_write_char(7,0,SET_N/100%10+'0'); LCD_write_char(8,0,SET_N/10%10+'0'); LCD_write_char(9,0,SET_N%10+'0'); }if(!key_P_UP) { key_P_UP_flag=1; }if(key_P_UP&&key_P_UP_flag) { SET_N-=10; key_P_UP_flag=0;LCD_write_char(7,0,SET_N/100%10+'0'); LCD_write_char(8,0,SET_N/10%10+'0');LCD_write_char(9,0,SET_N%10+'0');最后通過(guò)以下代碼來(lái)實(shí)現(xiàn)GSM短信和蜂鳴器報(bào)警功能,首先對(duì)檢測(cè)值和預(yù)設(shè)值進(jìn)行比較,if(NOW_N>SET_N)經(jīng)過(guò)比較后進(jìn)行一個(gè)0.5ms的延時(shí),來(lái)防止瞬間的干擾,因?yàn)榭諝庵械腜M2.5隨時(shí)都在變化,可能瞬間飄過(guò)一陣粉塵觸發(fā)誤報(bào)警,為了減少這種情況所以設(shè)置一個(gè)延時(shí)函數(shù),Delay_xms(500);經(jīng)過(guò)延時(shí)之后再次進(jìn)行判斷,如果檢測(cè)值大于預(yù)設(shè)值,則開(kāi)始報(bào)警程序, if(NOW_N>SET_N);{ out1=0; Uart1Send_char("AT+CSCS=\"GSM\"\r\n"); Delay3000ms();//延時(shí)3秒 Uart1Send_char("AT+CMGF=1\r\n"); Delay3000ms();//延時(shí)3秒 Uart1Send_char("AT+CMGS=\"\r\n");將此處修改為接收?qǐng)?bào)警短信者手機(jī)號(hào)碼即可, Delay3000ms();//延時(shí)3秒 Uart1Send_char(sms_text); UART_1SendOneByte(0x1a); Delay3000ms();Delay3000ms();Delay3000ms(); out1=1; }總共經(jīng)過(guò)大約18秒后,整個(gè)報(bào)警過(guò)程結(jié)束。單片機(jī)程序先對(duì)寄存器進(jìn)行定義,#include<intrins.h>#include"STC12C5A60S2.h"#defineucharunsignedchar#defineuintunsignedint定義端口,其中1.0端口為蜂鳴器,2.4和2.5為按鍵,sbitout1=P1^0;sbitkey_P_DOWN=P2^4;sbitkey_P_UP=P2^5;sbitSPK=P3^6;2.0~2.2端口為L(zhǎng)CD液晶屏sbitRS=P2^0;sbitRW=P2^1;sbitCS=P2^2;定義P0口為液晶屏數(shù)據(jù)傳輸口#defineLCDDATAP0定義變量,uintSET_N=100;ucharkey_P_DOWN_flag;ucharkey_P_UP_flag;ucharSPK_flag;ucharU;floatN;uintNOW_N;定義短信內(nèi)容,可以將"warning!warning!warning!"修改為任意想要接收到的報(bào)警內(nèi)容,ucharsms_text[]="warning!warning!warning!";最后定義一組延時(shí)函數(shù),voidDelay_xms(uintx){uinti,j;for(i=0;i<x;i++)for(j=0;j<112;j++);}voidDelay_xus(uintt) {for(;t>0;t--){ _nop_();}液晶屏程序此部分函數(shù)中主要是定義液晶屏中顯示預(yù)設(shè)值和當(dāng)前值的設(shè)置,具體函數(shù)如下,DisplayListChar(1,0,"SET_N=");DisplayListChar(10,0,"ug/m3");DisplayListChar(1,1,"NOW_N=");DisplayListChar(10,1,"ug/m3");LCD_write_char(7,0,SET_N/100%10+'0');LCD_write_char(8,0,SET_N/10%10+'0');LCD_write_char(9,0,SET_N%10+'0');每一行語(yǔ)句括號(hào)中的內(nèi)容為“列,行,‘顯示內(nèi)容’”這種格式,其中“列”和“行”從0還是計(jì)算,所以可以知道所顯示的第一行為預(yù)設(shè)值,第二行為檢測(cè)值。串口程序首先對(duì)串口進(jìn)行初始化,代碼如下:串口初始化函數(shù)串口1設(shè)置為發(fā)送,來(lái)控制短信發(fā)送。TMOD=0x20;//定時(shí)器1工作在方式2定時(shí)器時(shí)鐘12T,8位自動(dòng)重裝,波特率9600SCON=0x50;//串口1工作在方式110位異步收發(fā)REN=1允許接收TH1=0xFD; //定時(shí)器1初值TL1=TH1;TR1=1; //定時(shí)器1開(kāi)始計(jì)數(shù)EA=1; //開(kāi)總中斷//ES=1; //開(kāi)串口1中斷,此處要禁止串口1中斷串口2設(shè)置為接收,接收從機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)。AUXR&=0xF7; //波特率不倍速S2CON=0x50; //8位數(shù)據(jù),可變波特率AUXR|=0x04; //獨(dú)立波特率發(fā)生器時(shí)鐘為Fosc,即1T,,波特率9600BRT=0xDC; //設(shè)定獨(dú)立波特率發(fā)生器重裝值A(chǔ)UXR|=0x10; //啟動(dòng)獨(dú)立波特率發(fā)生器IE2=0x01;//開(kāi)串口2中斷ES2=1串口1發(fā)送首先定義串口發(fā)送1字節(jié)的數(shù)據(jù),如果TI=0,在此等待,voidUART_1SendOneByte(unsignedcharc){SBUF=c;while(!TI);TI=0; }串行口連續(xù)發(fā)送char型數(shù)組,遇到終止號(hào)\0將停止,等待發(fā)送完成信號(hào)(TI=1)出現(xiàn),voidUart1Send_char(uchar*str){ while(*str!='\0') { SBUF=*str; while(!TI); TI=0; str++; }}串口2接收voidUart2()interrupt8using1{if(S2CON&S2RI){S2CON&=~S2RI;//Clearreceiveinterruptflag}U=S2BUF;}最終把接收到的數(shù)據(jù)S2BUF發(fā)送給U。完成顯示功能參照下表4-1的datasheet電壓換算表可以發(fā)現(xiàn),0.5V電壓對(duì)應(yīng)的PM2.5濃度為0.1mg/m3,表4-1電壓換算表ParameterSymbolConditionsMIN.TYP.MAX.UnitSensitivityK*1*2*30.350.50.65V/(0.1mg/m3)同理可換算出1V電壓所對(duì)應(yīng)的PM2.5濃度為0.2mg/m3,所以可以根據(jù)此關(guān)系通過(guò)以下函數(shù)換算出電壓值所對(duì)應(yīng)的PM2.5濃度,從而顯示到液晶屏中,voidshow_ad7(){ N=(float)U/255*5*100*2; NOW_N=(uint)N; LCD_write_char(7,1,NOW_N/100%10+'0'); LCD_write_char(8,1,NOW_N/10%10+'0'); LCD_write_char(9,1,NOW_N%10+'0');}其中NOW_N=(uint)N;液晶屏中第二行,也就是當(dāng)前空氣中PM2.5濃度值。從機(jī)軟件程序設(shè)計(jì)從機(jī)程序流程圖如下圖4-2,4-2從機(jī)程序流程圖如前文所述,從機(jī)端包括單片機(jī)最小系統(tǒng)和PM2.5傳感器兩部分,所以需要先設(shè)置單片機(jī),將AD轉(zhuǎn)換端口和串口初始化,再設(shè)置傳感器進(jìn)行采集,主函數(shù)代碼如下:InitADC();InitUART();while(1){ show_ad7();}單片機(jī)程序首先定義所使用單片機(jī)型號(hào)對(duì)應(yīng)的寄存器,并定義數(shù)據(jù)類型以方便調(diào)用。#include<intrins.h>#include"STC12C5A60S2.h"#defineucharunsignedchar#defineuintunsignedint設(shè)置11.0592MHz晶振所對(duì)應(yīng)的3個(gè)延時(shí),具體為何設(shè)定為這個(gè)時(shí)長(zhǎng)在后文會(huì)詳細(xì)說(shuō)明。定義延時(shí):voidDelay_xus(uintt) {for(;t>0;t--){ _nop_();}}延時(shí)1(9.642毫秒):voidDelay9642us(){ unsignedchari,j; _nop_(); i=104; j=183; do { while(--j); }while(--i);}延時(shí)2(0.253毫秒):voidDelay253us(){ unsignedchari,j; _nop_(); _nop_(); i=3; j=181; do { while(--j); }while(--i);}延時(shí)3(0.013毫秒):voidDelay13us(){ unsignedchari; _nop_(); _nop_(); i=33; while(--i);}設(shè)置AD轉(zhuǎn)換電路在這里所調(diào)用的為單片機(jī)自帶的轉(zhuǎn)換模塊,由于PM2.5傳感器所連接的是單片機(jī)P1.0端口,所以令P1ASF=0x01,所測(cè)得的數(shù)據(jù)為P1.0端口接收到的電壓值。P1ASF=0x01;ADC_RES=0;ADC_CONTR=ADC_POWER|ADC_SPEEDLL;Delay_xus(50);隨后進(jìn)行結(jié)果清零和打開(kāi)電源的設(shè)置,最后的50us延時(shí)是為了讓單片機(jī)穩(wěn)定下來(lái),以便進(jìn)行下一步操作。讀取AD轉(zhuǎn)換結(jié)果首先定義ucharGetADCResult,在這里通過(guò)讀取uchar函數(shù)值來(lái)得到AD轉(zhuǎn)換結(jié)果,具體過(guò)程如下:ucharGetADCResult(ucharch){ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ch|ADC_START;_nop_();_nop_();_nop_();_nop_();while(!(ADC_CONTR&ADC_FLAG));ADC_CONTR&=~ADC_FLAG;returnADC_RES;}其中前4個(gè)“_nop_();”為查詢前必須等待標(biāo)志。while語(yǔ)句中包含“非”和“與”兩個(gè)符號(hào),當(dāng)“非與”結(jié)果為1時(shí)則繼續(xù)循環(huán)等待,反之當(dāng)“非與”結(jié)果為1時(shí)則跳出循環(huán),并把完成的標(biāo)志位復(fù)位,等待下一次循環(huán),同時(shí)把得到的數(shù)值返回到函數(shù)uchar。PM2.5傳感器程序串口2初始化首先對(duì)串口2進(jìn)行初始化設(shè)置,波特率為9600,晶振選擇11.0592MHz。這塊單片機(jī)中定義P1.2為接收端口,P1.3為發(fā)送端口,初始化函數(shù)如下:AUXR&=0xF7; //波特率不倍速S2CON=0x50; //8位數(shù)據(jù),可變波特率AUXR|=0x04; //獨(dú)立波特率發(fā)生器時(shí)鐘為Fosc,即1TBRT=0xDC; //設(shè)定獨(dú)立波特率發(fā)生器重裝值A(chǔ)UXR|=0x10; //啟動(dòng)獨(dú)立波特率發(fā)生器串口2發(fā)送設(shè)置串口2發(fā)送測(cè)得的PM2.5濃度到單片機(jī),所以調(diào)用含參函數(shù)c,voidUART_2SendOneByte(unsignedcharc){S2BUF=c;while(!(S2CON&S2TI));S2CON&=~S2TI;}其中S2BUF為內(nèi)部寄存器,令其等于參數(shù)c。whil語(yǔ)句中若S2TI=0,則在此等待,反之進(jìn)入下一步完成串口2發(fā)送設(shè)置。測(cè)量PM2.5濃度首先定義函數(shù)以及一個(gè)64位數(shù)組,這里將反復(fù)進(jìn)行64次采樣,并將采樣得到的數(shù)值代入數(shù)組求得平均值,這樣得到的結(jié)果更加精確。voidshow_ad7(ucharchannel) {uintad,ad1;floatadcal;ucharadave[64];floatad_sum;uchari; for(i=0;i<64;i++) { out2=1; Delay253us(); adave[i]=GetADCResult(0); Delay13us(); out2=0; ad_sum+=adave[i];Delay9642us(); } ad_sum/=64; adcal=(float)ad_sum/255*5*100; ad_sum=0;if(adcal>255) adcal=255; UART_2SendOneByte(adcal);}這里可以看到這個(gè)函數(shù)整體為一個(gè)負(fù)循環(huán)函數(shù),循環(huán)的次數(shù)為0~63共64次,out2在本章已經(jīng)定義為P1.1端口,這個(gè)端口會(huì)產(chǎn)生如下圖4-3所示脈沖,圖4-3out2產(chǎn)生脈沖波形圖從波形圖中可知周期T為10ms,脈寬Pw為0.32ms,當(dāng)端口P1.1接收到高電平,即out2=1時(shí),傳感器開(kāi)始讀值。實(shí)際測(cè)量得到傳感器實(shí)際輸出波形如下圖4-4所示,圖4-4傳感器實(shí)際輸出波形圖從產(chǎn)生脈沖開(kāi)始算起,經(jīng)過(guò)280us需要開(kāi)始進(jìn)行AD轉(zhuǎn)換,轉(zhuǎn)換得到的電壓值與濃度成一定比例,并且AD轉(zhuǎn)換也需要一定時(shí)間,經(jīng)過(guò)實(shí)際測(cè)量得出AD轉(zhuǎn)換一次大概需要54us,所以這里在波峰的前后兩端分別取27us,保證在最接近280us的時(shí)候進(jìn)行AD轉(zhuǎn)換,從而確保取得的數(shù)據(jù)最為準(zhǔn)確,故在第一個(gè)Delay語(yǔ)句中的延時(shí)設(shè)置為253us(280us-27us)。第二個(gè)延時(shí)語(yǔ)句Delay設(shè)置為13us,同樣參考圖3-2中脈寬Pw為320us,將13us+54us+253us剛好為320us一個(gè)脈寬。當(dāng)out2=0即低電平時(shí),把測(cè)到的數(shù)值進(jìn)行求和運(yùn)算,這個(gè)過(guò)程實(shí)際測(cè)量需要38us,所以在求和完成后再進(jìn)行一個(gè)9642us的延時(shí),相加剛好10ms完成一個(gè)周期。將以上過(guò)程循環(huán)64次之后,把得出的結(jié)果除以64求得平均值,再把平均值通過(guò)AD轉(zhuǎn)換得出電壓。這里知道AD轉(zhuǎn)換中5V對(duì)應(yīng)的為255,所以當(dāng)結(jié)果為255時(shí)除以255再乘以5剛好就是5V,以此類推求得電壓值。同時(shí)因?yàn)閿?shù)據(jù)傳輸時(shí)無(wú)法傳輸小數(shù)點(diǎn)及小數(shù)點(diǎn)以后的位數(shù),所以這里乘以100使結(jié)果取整。另如果計(jì)算結(jié)果大于255的話,則等于255.計(jì)算完成后把求和結(jié)果清零,最后通過(guò)串口把計(jì)算結(jié)果傳輸?shù)街鳈C(jī)端。檢測(cè)端任務(wù)到此結(jié)束[10]。

調(diào)試設(shè)備實(shí)物如下圖5-1,圖5-1設(shè)備實(shí)物圖整機(jī)共有5個(gè)物理操作按鈕,圖5-2主機(jī)端物理操作按鈕主機(jī)、從機(jī)兩端單片機(jī)最小系統(tǒng)分別設(shè)有一個(gè)復(fù)位鍵,當(dāng)檢測(cè)系統(tǒng)或報(bào)警系統(tǒng)出現(xiàn)問(wèn)題時(shí),按下相應(yīng)的復(fù)位鍵即可恢復(fù)默認(rèn)設(shè)置。其它三個(gè)按鍵分別為電源鍵、PM2.5+10ug/m3鍵和PM2.5+10ug/m3鍵。設(shè)備接通電源并按下電源按鈕后,設(shè)備整體通電,液晶屏亮起并顯示初始數(shù)值,如下圖5-3所示,GSM模塊電源指示燈閃爍。圖5-3液晶屏初始狀態(tài)液晶屏中第一行顯示的為預(yù)設(shè)報(bào)警值(100ug/m3),第二行顯示的是當(dāng)前空氣中PM2.5含量,當(dāng)傳感器檢測(cè)到空氣中PM2.5含量未超過(guò)所設(shè)定的報(bào)警值時(shí),設(shè)備保持監(jiān)控狀態(tài),第二行保持刷新顯示實(shí)時(shí)PM2.5含量;當(dāng)傳感器檢測(cè)到空氣中PM2.5含量超過(guò)所設(shè)定的報(bào)警值時(shí),第二行將保持顯示PM2.5含量超過(guò)設(shè)定值一瞬間的數(shù)值,同時(shí)蜂鳴器開(kāi)始報(bào)警并保持20秒,3秒延遲后GSM模塊向指定號(hào)碼發(fā)送預(yù)先編輯好的報(bào)警提示短信。液晶屏在檢測(cè)工作狀態(tài)如下圖5-4所示。圖5-4液晶屏檢測(cè)工作狀態(tài)當(dāng)按下PM2.5+10ug/m3鍵和PM2.5+10ug/m3鍵后,液晶屏狀態(tài)如圖5-5和圖5-6所示。相應(yīng)的,傳感器檢測(cè)到空氣中PM2.5含量所觸發(fā)報(bào)警的數(shù)值變?yōu)橐壕了@示的第二行數(shù)值。圖5-5按下PM2.5+10ug/m3鍵后液晶屏狀態(tài)圖5-6按下PM2.5-10ug/m3鍵后液晶屏狀態(tài)無(wú)灰塵情況傳感器引腳5輸出電壓是0V,所以被測(cè)灰塵濃度=測(cè)量電壓*K(K通常取值0.1mg/m3,下表5-1官方說(shuō)明中Datasheet提供)。表5-1電壓換算表ParameterSymbolConditionsMIN.TYP.MAX.UnitSensitivityK*1*2*30.350.50.65V/(0.1mg/m3)下圖5-7,圖5-8為波形發(fā)生器設(shè)置,模擬引腳3驅(qū)動(dòng)信號(hào),高電平為3V,低電平為0V。圖5-7波形發(fā)射器設(shè)置1圖5-8波形發(fā)射器設(shè)置2下圖5-9為示波器實(shí)驗(yàn)結(jié)果,由此驗(yàn)證了前文說(shuō)明里面的280US高電平過(guò)后AD轉(zhuǎn)換采集電壓[11]。圖5-9示波器實(shí)驗(yàn)結(jié)果

總結(jié)本文主要完成基于GSM模塊的可通信智能PM2.5檢測(cè)設(shè)備的設(shè)計(jì),實(shí)現(xiàn)對(duì)目標(biāo)環(huán)境中的PM2.5含量進(jìn)行實(shí)時(shí)檢測(cè),并且在超過(guò)設(shè)定值時(shí)進(jìn)行報(bào)警,對(duì)工廠的工業(yè)生產(chǎn)以及人們的日常生活起到了一定的保障。采用單片機(jī)進(jìn)行對(duì)整機(jī)的控制,同時(shí)使用了較為成熟的傳感器,最終實(shí)現(xiàn)了最終的檢測(cè)系統(tǒng),主要工作總結(jié)如下:完成整個(gè)項(xiàng)目總體方案的設(shè)計(jì),同時(shí)突出其優(yōu)點(diǎn)。設(shè)計(jì)工作完成了基本的硬件設(shè)計(jì)方案,包括單片機(jī)最小系統(tǒng)的選擇、檢測(cè)傳感器選擇等硬件技術(shù)方案,采用宏晶科技公司的STC12C5A60S6單片機(jī)最小系統(tǒng),PM2.5傳感器采用夏普公司生產(chǎn)的GP2Y1010AU及其它相關(guān)硬件產(chǎn)品,保證整個(gè)硬件系統(tǒng)的穩(wěn)定運(yùn)行,并使用了AltiumDesigner軟件和AutoCAD2016軟件進(jìn)行電路圖紙的設(shè)計(jì)。完成基本的軟件設(shè)計(jì)方案,程序設(shè)計(jì)上使用了Keil軟件和MicrosoftVisualStudio軟件進(jìn)行編程。最終實(shí)現(xiàn)了設(shè)備所預(yù)期的全部功能。本設(shè)備的創(chuàng)新在于完善了市場(chǎng)上現(xiàn)有產(chǎn)品的不足,將檢測(cè)和報(bào)警融為一體,彌補(bǔ)了現(xiàn)有產(chǎn)品只能檢測(cè)PM2.5含量的不足。同時(shí)改善了人與設(shè)備的交互,增加了例如可以定制的接收短信號(hào)碼和短信內(nèi)容,以及可以自定義報(bào)警PM2.5數(shù)值大小等設(shè)定,使設(shè)備更加人性化,更加簡(jiǎn)單易用。工作中還是遇到了不少問(wèn)題,以及一些重要突出的問(wèn)題。首先夏普公司的PM2.5檢測(cè)傳感器是我第一次使用,在網(wǎng)絡(luò)上以及書(shū)面上可以查詢到的資料非常稀少,查詢的過(guò)程中只找到了一個(gè)官方的全英文PDF手冊(cè),便以此為突破口,進(jìn)行了一次又一次的電路連接嘗試。在嘗試的過(guò)程中出現(xiàn)了傳感器接收數(shù)值與LCD顯示屏顯示端顯示數(shù)值不符的問(wèn)題,最終經(jīng)過(guò)與導(dǎo)師的商討和研究發(fā)現(xiàn)是所選電阻阻值過(guò)小和沒(méi)有接地的問(wèn)題。同時(shí)還因?yàn)橹皩?duì)單片機(jī)軟件編程的了解過(guò)少,導(dǎo)致在PM2.5含量檢測(cè),GSM短信發(fā)送端的控制等等出現(xiàn)了一些小麻煩,最終在與導(dǎo)師共同努力下進(jìn)行一一解決,完成了對(duì)設(shè)備軟硬件上的設(shè)計(jì)與制作,全面提升了我對(duì)單片機(jī)的了解,并且鍛煉了我對(duì)問(wèn)題的解決能力。對(duì)以后的展望和改進(jìn)方向。隨著工業(yè)自動(dòng)化進(jìn)程、工作人員的安全性、環(huán)保要求的提高,PM2.5檢測(cè)報(bào)警需要完成的工作非常多,并且應(yīng)用需求肯定會(huì)不斷地?cái)U(kuò)大,不僅要對(duì)對(duì)更多不懂情況的檢測(cè),還要更大的增加易用性,降低成本,簡(jiǎn)便安裝等等這都是以后升級(jí)中需要考慮道德,所以系統(tǒng)還有完善的空間。本文所設(shè)計(jì)的產(chǎn)品原本采用的是WIFI無(wú)線模塊,打算接入互聯(lián)網(wǎng)來(lái)達(dá)到功能更加完善的實(shí)時(shí)聯(lián)網(wǎng)監(jiān)控與檢測(cè),但是由于目前的學(xué)業(yè)水平有限尚未能完成設(shè)計(jì)與制作,希望能在后期個(gè)人不斷地學(xué)習(xí)與發(fā)展完善本產(chǎn)品,使之能夠更加的智能與易用。本產(chǎn)品使用的PM2.5傳感器為夏普公司生產(chǎn),精度有限,在未來(lái)科技的不斷發(fā)展中可以不斷地更新傳感器來(lái)達(dá)到更高的檢測(cè)精度,從而更加準(zhǔn)確的報(bào)警。致謝語(yǔ)在此非常感謝姜老師在我大學(xué)的最后學(xué)習(xí)階段——畢業(yè)設(shè)計(jì)階段給自己的指導(dǎo),從最初的選題、收集資料,到論文的寫(xiě)作、修改和定稿,全都給予我耐心的指導(dǎo)和非常有用的幫助。指導(dǎo)畢業(yè)論文的過(guò)程中他放棄了大量的休息時(shí)間,這種無(wú)私奉獻(xiàn)的精神著實(shí)令人欽佩,在此我向他表示我誠(chéng)摯的感謝。同時(shí)感謝所有曾經(jīng)教導(dǎo)過(guò)我的任課教師和所有同學(xué)在這四年來(lái)帶給我的指導(dǎo)和幫助,他們教會(huì)了我各種有用的專業(yè)知識(shí),更是教會(huì)了我如何學(xué)習(xí)和如何在以后的職場(chǎng)上更好的大展拳腳。正是因?yàn)樗麄兾也拍茉诜椒矫婷嫒〉蔑@著的進(jìn)步,再次向他們表示我由衷的感謝,并祝所有的老師們培養(yǎng)出更多的優(yōu)秀人才,桃李滿天下!通過(guò)這一階段的努力,我的畢業(yè)論文《基于GSM模塊的可通信智能PM2.5檢測(cè)設(shè)備設(shè)計(jì)》終于完成了,在大學(xué)階段,我在學(xué)習(xí)和思想上都受益匪淺,這除了自身的努力更是與各位老師、同學(xué)和朋友的關(guān)心和鼓勵(lì)分不開(kāi)的。在本論文的寫(xiě)作過(guò)程中,我的指導(dǎo)教師姜老師花費(fèi)了大量的時(shí)間,從選題到開(kāi)題報(bào)告,從寫(xiě)作提綱,一遍又一遍地指出每一版本稿件的具體問(wèn)題,在此我表示衷心感謝。同時(shí)還要感謝在我學(xué)習(xí)期間給我極大關(guān)懷和鼓勵(lì)的各位教師以及關(guān)心我的同學(xué)們。畢業(yè)設(shè)計(jì)的制作和畢業(yè)論文的撰寫(xiě)對(duì)我來(lái)說(shuō)是一次再系統(tǒng)學(xué)習(xí)的過(guò)程,完成了畢業(yè)設(shè)計(jì)和論文也意味大學(xué)時(shí)光的結(jié)束。我將銘記我曾是一名嘉庚學(xué)子,在今后的工作中把嘉庚學(xué)院的優(yōu)良傳統(tǒng)發(fā)揚(yáng)光大。感謝各位指導(dǎo)教師的評(píng)述指導(dǎo)!

參考文獻(xiàn)[1]曹軍驥.PM2.5與環(huán)境[M].背景:科學(xué)出版社,2014.[2]洪永強(qiáng).微機(jī)原理與接口技術(shù)[M].北京:科學(xué)出版社,2009.[3]徐愛(ài)鈞.單片機(jī)原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2013.[4]庹先國(guó),余小平,奚大順.電子系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2014.[5]閻石.數(shù)字電子技術(shù)基本教程[M].北京:清華大學(xué)出版社,2007.[6]王兆安,劉進(jìn)軍.電力電子技術(shù)[M].北京:機(jī)械工業(yè)出版社,2009.[7]劉健.電路分析[M].北京:電子工業(yè)出版社,2009.[8]孫傳友,張一.現(xiàn)代檢測(cè)技術(shù)及儀表[M].北京:高等教育出版社,2012.[9]胡宴如,耿蘇燕.模擬電子技術(shù)[M].北京:高等教育出版社,2010.[10]譚浩強(qiáng).C程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2007.[11]林育茲.電工學(xué)實(shí)驗(yàn)[M].北京:高等教育出版社,2010.

附錄附錄1整體電路圖

附錄2STC12C5A60S2引腳功能表VCC:供電電壓。GND:接地。P0:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每個(gè)管腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳寫(xiě)“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部電位必須被拉高。P1:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入“1”后,電位被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時(shí),P2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入時(shí),由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口。同時(shí)P3口為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。P3.0:RXD(串行輸入口)。P3.1:TXD(串行輸出口)。P3.2:INT0(外部中斷0)。P3.3:INT1(外部中斷1)。P3.4:T0(記時(shí)器0外部輸入)。P3.5:T1(記時(shí)器1外部輸入)。P3.6:WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)。P3.7:RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期PSEN兩次有效。但在訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)EA保持低電平時(shí),訪問(wèn)外部ROM;注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),訪問(wèn)內(nèi)部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。

附錄3程序源代碼主機(jī)端程序//#include<reg52.h>#include<intrins.h>#include"STC12C5A60S2.h"#defineucharunsignedchar#defineuintunsignedintsbitout1=P1^0;sbitkey_P_DOWN=P2^4;sbitkey_P_UP=P2^5;sbitSPK=P3^6;uintSET_N=100;ucharkey_P_DOWN_flag;ucharkey_P_UP_flag;ucharSPK_flag;ucharU;floatN;uintNOW_N;ucharsms_text[]="warning!warning!warning!";sbitRS=P2^0;sbitRW=P2^1;sbitCS=P2^2;#defineLCDDATAP0voidDelay_xms(uintx){uinti,j;for(i=0;i<x;i++)for(j=0;j<112;j++);}voidDelay_xus(uintt) {for(;t>0;t--){ _nop_();}}voidLCD_en_write(void){CS=1;Delay_xus(20);CS=0; Delay_xus(20);}voidWrite_Instruction(ucharcommand){RS=0;RW=0;CS=1;LCDDATA=command;LCD_en_write();}voidWrite_Data(ucharWdata){RS=1;RW=0;CS=1;LCDDATA=Wdata;LCD_en_write();}voidLCD_SET_XY(ucharX,ucharY){ucharaddress;if(Y==0)address=0x80+X;address=0xc0+X;Write_Instruction(address);}voidLCD_write_char(ucharX,ucharY,ucharWdata){LCD_SET_XY(X,Y);Write_Data(Wdata);}voidLCD_clear(void){Write_Instruction(0x01);Delay_xms(5);}voidLCD_init(void){ Write_Instruction(0x38); Delay_xms(5); Write_Instruction(0x38); Delay_xms(5); Write_Instruction(0x38); Write_Instruction(0x08); Write_Instruction(0x01); Delay_xms(5); Write_Instruction(0x04); Delay_xms(5); Write_Instruction(0x0C); }voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData){ unsignedcharListLength;ListLength=0; Y&=0x1; X&=0xF; while(DData[ListLength]>0x19) { if(X<=0xF) { LCD_write_char(X,Y,DData[ListLength]); ListLength++; X++; } }}voidDisplay(void){DisplayListChar(1,0,"SET_N=");DisplayListChar(10,0,"ug/m3");DisplayListChar(1,1,"NOW_N=");DisplayListChar(10,1,"ug/m3");LCD_write_char(7,0,SET_N/100%10+'0');LCD_write_char(8,0,SET_N/10%10+'0');LCD_write_char(9,0,SET_N%10+'0');}voidDelay3000ms(){ unsignedchari,j,k; _nop_(); _nop_(); i=127; j=18; k=107; do { do { while(--k); }while(--j); }while(--i);}voidInitUART(void){ TMOD=0x20;SCON=0x50;TH1=0xFD;TL1=TH1;TR1=1;EA=1; AUXR&=0xF7; S2CON=0x50; AUXR|=0x04; BRT=0xDC; AUXR|=0x10; IE2=0x01;}voidUART_1SendOneByte(unsignedcharc){SBUF=c;while(!TI);TI=0; }voidUart1Send_char(uchar*str){ while(*str!='\0') { SBUF=*str; while(!TI); TI=0; str++; }}voidUART_2SendOneByte(unsignedcharc){S2BUF=c;while(!(S2CON&S2TI));S2CON&=~S2TI;}voidUart2()interrupt8using1{if(S2CON&S2RI){S2CON&=~S2RI;}U=S2BUF;}voidshow_ad7() N=(float)U/255*5*100*2; NOW_N=(uint)N; LCD_write_char(7,1,NOW_N/100%10+'0'); LCD_write_char(8,1,NOW_N/10%10+'0'); LCD_write_char(9,1,NOW_N%10+'0');}//主函數(shù)voidmain(void){Delay_xms(50); LCD_init();Delay_xms(50);LCD_clear();Delay_xms(50);Display();InitUART();while(1){ show_ad7(); if(!key_P_DOWN) { key_P_DOWN_flag=1; }if(key_P_DOWN&&key_P_DOWN_flag) { SET_N+=10;key_P_DOWN_flag=0;LCD_write_char(7,0,SET_N/100%10+'0');LCD_write_char(8,0,SET_N/10%1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論