




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
鄭州大學(xué)畢業(yè)設(shè)計(jì)〔論文〕題目基于單片機(jī)的室內(nèi)甲醛檢測(cè)系統(tǒng)設(shè)計(jì)院系機(jī)械工程學(xué)院專業(yè)機(jī)械工程及自動(dòng)化年級(jí)2023學(xué)生姓名XXX指導(dǎo)教師XXX16年06月07日摘要近年來(lái),人們生活質(zhì)量越來(lái)越高,人們對(duì)于健康也愈來(lái)愈關(guān)注,而住宅內(nèi)裝潢材料中含有的有害化學(xué)成分常常引發(fā)一系列健康問(wèn)題,甲醛是這些有害化學(xué)成分中危害較大的一種。它是一種無(wú)色氣體,對(duì)人體有一定的刺激性,同時(shí)也是廣為人知的致癌物質(zhì),對(duì)健康有較大的危害。單片機(jī)具有很強(qiáng)的通用性、穩(wěn)定性和可靠性,而且其體積小,在價(jià)格上優(yōu)勢(shì)。因此,被很多智能設(shè)備和控制系統(tǒng)所應(yīng)用。本課題主要研究一種能自動(dòng)監(jiān)測(cè)室內(nèi)甲醛濃度的系統(tǒng),它使用一個(gè)電化學(xué)甲醛傳感器來(lái)測(cè)試室內(nèi)甲醛濃度,并且能夠通過(guò)液晶顯示器顯示該甲醛濃度值,通過(guò)一個(gè)蜂鳴器實(shí)現(xiàn)報(bào)警功能,并通過(guò)WiFi模塊實(shí)現(xiàn)遠(yuǎn)程云端監(jiān)控。關(guān)鍵詞:甲醛,單片機(jī),甲醛傳感器,云端監(jiān)控AbstractInrecentyears,thequalityoflifeofthepeoplemoreandmorehigh,forpeople'shealthisalsogettingmoreandmoreattention,andresidentialdecorationmaterialscontaininghazardouschemicalsoftenleadtoarangeofhealthproblems,formaldehydeisthemoreserioustheseharmfulchemicals.Itisacolorlessgas,hasacertainstimulationofthehumanbody,butalsowidelyknowncarcinogens,agreaterharmtohealth.SCMhasastrongversatility,stabilityandreliability,anditssmallsize,thepriceadvantage.Asaresult,manyintelligentdevicesandcontrolsystemsareused.Themaintaskofthispaperistostudyasystemofautomaticmonitoringofindoorformaldehydeconcentration,itusesanelectrochemicalformaldehydesensortotesttheconcentrationofindoorformaldehyde,andcanshowthroughtheliquidcrystaldisplaytheformaldehydeconcentration,throughabuzzerrealizealarmfunction,andrealizeremotecloudmonitoringthroughtheWiFimodule.Keywords:formaldehyde,MCU,formaldehydesensor,cloudmonitoring目錄1緒論51.1研究的背景及意義51.2現(xiàn)狀及開(kāi)展趨勢(shì)71.3主要工作91.4本章小結(jié)92系統(tǒng)方案設(shè)計(jì)102.1系統(tǒng)總體方案102.2硬件系統(tǒng)方案102.3軟件系統(tǒng)方案112.4本章小結(jié)113硬件系統(tǒng)設(shè)計(jì)123.1單片機(jī)模塊123.1.1STC90C516RD的參數(shù)及特點(diǎn)123.1.2單片機(jī)各引腳及功能133.1.3單片機(jī)最小系統(tǒng)模塊153.2甲醛傳感器模塊163.2.1傳感器的選擇163.2.2傳感器原理及參數(shù)163.2.3傳感器模塊引腳173.2.4甲醛傳感器模塊的串口通信協(xié)議183.3串口WiFi模塊193.3.1WiFi模塊特性193.3.2WiFi模塊的根本參數(shù)203.3.3WiFi模塊的AT指令223.3.4WiFi模塊的云端通信233.4液晶顯示模塊243.4.1液晶顯示模塊的概述243.4.2顯示模塊引腳說(shuō)明253.4.3顯示模塊操作253.4.4RAM映射表及字庫(kù)對(duì)照表283.5蜂鳴器模塊303.6電源降壓模塊303.7串口通信的TTL電平匹配設(shè)計(jì)303.8單片機(jī)程序下載器333.9單片機(jī)中斷系統(tǒng)353.10串行通信383.10.1串行通信方式383.10.280C51的串行接口393.11本章小結(jié)414軟件系統(tǒng)設(shè)計(jì)424.1主程序的設(shè)計(jì)434.2顯示模塊相關(guān)子程序設(shè)計(jì)454.3串口程序設(shè)計(jì)464.3.1串口初始化函數(shù)464.3.2串口發(fā)送函數(shù)464.3.3串口接收函數(shù)474.3.4數(shù)據(jù)處理函數(shù)484.4WiFi模塊程序設(shè)計(jì)504.5延時(shí)函數(shù)514.6仿真測(cè)試514.7實(shí)物制作524.8本章小結(jié)545實(shí)驗(yàn)與分析55設(shè)計(jì)總結(jié)57致謝58參考文獻(xiàn)59附錄60附錄1畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告60附錄2C程序清單60附錄3仿真電路圖601緒論1.1研究的背景及意義近年來(lái),人們生活質(zhì)量越來(lái)越高,人們對(duì)于健康也愈來(lái)愈關(guān)注,而在住宅內(nèi),裝潢材料常常中含有各種有害化學(xué)成分,它們會(huì)引發(fā)一系列的健康問(wèn)題,人們常稱之為“裝潢病〞。甲醛,其化學(xué)式為HCHO,是這些有害化學(xué)成分中常常被人們談及的一種,它是一種無(wú)色且具有刺激氣味的氣體,同時(shí)也是一種潛在的致癌物質(zhì),對(duì)人體健康有較大的危害,它能誘發(fā)很多疾病,如哮喘,白血病等。作為室內(nèi)空氣中常見(jiàn)的污染物,它主要有2個(gè)來(lái)源。第一個(gè)由建筑材料和家具釋放的,如壓木制品、膠粘劑、地板涂料、壁紙、油漆等。另一個(gè)來(lái)源是材料的燃燒,例如吸煙。由于甲醛在工業(yè)上有極其廣泛的應(yīng)用,因此在生活中對(duì)我們構(gòu)成了不小的潛在威脅。甲醛對(duì)人體存在較多的危害,它們主要表現(xiàn)如下:對(duì)皮膚黏膜的刺激作用:這是甲醛的主要危害,我們知道甲醛是一種原漿毒性物質(zhì),能夠通過(guò)作用于蛋白質(zhì)中廣泛存在的氨基與蛋白質(zhì)相結(jié)合。通常,人體在吸入高濃度的甲醛時(shí),呼吸道會(huì)受到嚴(yán)重的刺激甚至是水腫,于此同時(shí)的外在表現(xiàn)多為眼部刺激、頭痛等。免疫系統(tǒng)的致敏作用:皮膚直接與甲醛接觸會(huì)導(dǎo)致嚴(yán)重的后果,研究發(fā)現(xiàn),甲醛會(huì)導(dǎo)致過(guò)敏性皮炎,甚至是壞死。此外,有證據(jù)說(shuō)明高濃度的甲醛在被人體吸入時(shí)會(huì)誘發(fā)支氣管哮喘。對(duì)細(xì)胞的致癌變作用:實(shí)驗(yàn)室中發(fā)現(xiàn),高濃度的甲醛可作為是一種基因毒性物質(zhì)存在。通過(guò)對(duì)實(shí)驗(yàn)動(dòng)物的研究,發(fā)現(xiàn)在吸入高濃度甲醛的情況下,能夠引起鼻咽腫瘤。突出表現(xiàn):包括引起人體頭痛、頭暈、乏力等,此外不慎吸入者也會(huì)出現(xiàn)惡心、嘔吐、胸悶、眼痛、嗓子痛、胃納差等,比擬嚴(yán)重的會(huì)出現(xiàn)心悸、失眠,進(jìn)而體重減輕、記憶力減退,植物神經(jīng)紊亂等;孕婦長(zhǎng)期吸入有可能出現(xiàn)胎兒畸形,甚至死亡,男性長(zhǎng)期吸入可能會(huì)導(dǎo)致男子精子畸形、死亡等。國(guó)家對(duì)于甲醛的平安濃度有所規(guī)定,我們可以查閱到空氣中甲醛的相對(duì)濃度危險(xiǎn)度,如表1.1所示:表1.1不同濃度下甲醛的危害甲醛濃度病癥表現(xiàn)0.06-0.07毫克/立方米兒童發(fā)生輕微氣喘0.1毫克/立方米有異味和不適感0.5毫克/立方米刺激眼睛,引起流淚0.6毫克/立方米咽喉不適或疼痛。濃度更高時(shí),可引起惡心嘔吐,咳嗽胸悶,氣喘甚至肺水腫30毫克/立方米立即致人死亡調(diào)查發(fā)現(xiàn)甲醛污染問(wèn)題通常主要集中于居室、紡織品還有食品當(dāng)中。當(dāng)前人們居室裝飾材料和家具中使用的膠合板、纖維板、刨花板等,由于是人造板材,在其中含有大量以甲醛為主的脲醛樹(shù)脂,此外,各類油漆、涂料中也都含有甲醛。當(dāng)前,國(guó)內(nèi)家庭當(dāng)中甲醛主要有以下來(lái)源:室內(nèi)裝飾使用的的人造板材,如膠合板、刨花板等,它們是室內(nèi)空氣中甲醛的主要來(lái)源。這些板材在生產(chǎn)制造中通常會(huì)使用膠粘劑,而膠黏劑通常以甲醛為主要成分。在板材中會(huì)存在較多的甲醛,當(dāng)他們被使用時(shí),殘留的甲醛會(huì)逐漸釋放出來(lái),污染室內(nèi)空氣。用人造板材所制造的家具是室內(nèi)甲醛的另一大來(lái)源。為了追求利潤(rùn),一些廠家在生產(chǎn)制造時(shí),會(huì)使用不合格的板材,或者是在粘接貼面材料時(shí)選擇使用劣質(zhì)的膠黏劑,而這些板材與膠黏劑當(dāng)中存在著甲醛的嚴(yán)重超標(biāo)。最終用戶購(gòu)置的這些家具中所含有的甲醛也成為污染室內(nèi)空氣的一局部。含有甲醛成分的墻布、墻紙、化纖地毯、油漆涂料等,這些材料中的甲醛極有可能被釋放出來(lái)。因此,當(dāng)前人們需要一種合理有效的甲醛檢測(cè)手段,室內(nèi)甲醛氣體的有效監(jiān)測(cè)將保障人們室內(nèi)生活的健康,防止人體的不利因素。可見(jiàn)研究一種讓人們可以在自己家中能夠獨(dú)立完成檢測(cè),同時(shí)又具有簡(jiǎn)便、快速靈敏、準(zhǔn)確直觀等特點(diǎn),而且又經(jīng)濟(jì)的甲醛檢測(cè)方法必將被群眾所接受,其必定有廣闊的市場(chǎng)前景。本文主要介紹一種基于單片機(jī)、能自動(dòng)監(jiān)測(cè)室內(nèi)甲醛濃度的系統(tǒng)。在微型處理器中,單片機(jī)具有很強(qiáng)的通用性,而且其體積小、價(jià)格低、穩(wěn)定性可靠性高。因此,在智能產(chǎn)品、測(cè)控系統(tǒng)等領(lǐng)域中,單片機(jī)得到了廣泛的應(yīng)用。通過(guò)甲醛傳感器測(cè)試室內(nèi)甲醛濃度,單片機(jī)接收處理傳感器數(shù)據(jù),并且通過(guò)液晶顯示器顯示該甲醛濃度值,在濃度值超過(guò)指定值時(shí)實(shí)現(xiàn)報(bào)警功能。同時(shí),在WIFI模塊的支持下,利用當(dāng)前的物聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)遠(yuǎn)程云端監(jiān)控,監(jiān)測(cè)人員不必暴露于有害氣體當(dāng)中,便可實(shí)時(shí)有效監(jiān)控,有效預(yù)防平安事故的發(fā)生,更好地保障我們的身心健康,構(gòu)建平安舒適的室內(nèi)環(huán)境。1.2現(xiàn)狀及開(kāi)展趨勢(shì)目前,國(guó)內(nèi)外研究中,甲醛的檢測(cè)主要有以下方法:分光光度法:該方法是一種對(duì)物質(zhì)進(jìn)行定性和定量的分析方法。利用不同的分子結(jié)構(gòu)會(huì)對(duì)電磁輻射進(jìn)行選擇性吸收,通過(guò)分辨不同分子的吸收特性,我們可以確定出其相關(guān)信息。針對(duì)甲醛的檢測(cè),該方法的使用的試劑如表1.2所示:表1.2檢測(cè)方法及其試劑說(shuō)明檢測(cè)方法說(shuō)明乙酰丙酮法甲醛與乙酰丙酮酚試劑法甲醛與酚試劑AHMT法甲醛與AHMT品紅一亞硫酸法甲醛與品紅一亞硫酸變色酸法甲醛在濃硫酸介質(zhì)中與鉻變酸間苯三酚法甲醛與間苯三酚亞硝基亞鐵氰化鈉法甲醛與亞硝基亞鐵氰化鈉三氯化鐵法甲醛與三氯化鐵電化學(xué)法:在化學(xué)反響中會(huì)發(fā)生電子的轉(zhuǎn)移,因此在這過(guò)程中會(huì)產(chǎn)生電流〔伏安法〕、電量〔庫(kù)侖法〕或電位〔電位法〕的變化,電化學(xué)分析法是基于這點(diǎn)被研究出來(lái),通過(guò)判斷反響體系中各分析物的濃度,進(jìn)而對(duì)其進(jìn)行定量分析,目前用于甲醛檢測(cè)的方法有極譜法和電位法2種,如表1.3所示:表1.3色譜法:該方法是一種別離和分析方法,具有強(qiáng)大的別離效能,因此不易受樣品基質(zhì)和試劑顏色的干擾,因此在化學(xué)、生物化學(xué)等分析領(lǐng)域應(yīng)用廣泛。由于該方法需要強(qiáng)大的設(shè)備,并且對(duì)于含量低,物質(zhì)種類復(fù)雜的樣本,期表現(xiàn)出分析周期長(zhǎng),過(guò)程發(fā)雜等缺點(diǎn)。傳感器檢測(cè)法:當(dāng)前應(yīng)用于甲醛檢測(cè)的傳感器主要有3類,它們的特點(diǎn)如表1.4所示:表1.4電化學(xué)傳感器法是本設(shè)計(jì)所使用的方法。該傳感器擁有敏感電極,當(dāng)有甲醛氣體分子流經(jīng)此處時(shí),甲醛氣體分子會(huì)發(fā)生電化學(xué)反響,該反響能夠電路中產(chǎn)生微小的電流,該電流與甲醛氣體的濃度成一定的比例關(guān)系,通過(guò)放大電路可以將該電流轉(zhuǎn)換為電壓值,將該電壓值通過(guò)AD轉(zhuǎn)換電路的轉(zhuǎn)換,便可得到單片機(jī)可以處理的數(shù)字信號(hào),再通過(guò)運(yùn)算和標(biāo)定,最終能確定所檢測(cè)氣體當(dāng)中甲醛的濃度值。當(dāng)前,我們所能見(jiàn)到的甲醛的檢測(cè)方法中,電化學(xué)傳感器法是甲醛監(jiān)測(cè)研究的熱點(diǎn)。在市面上可以見(jiàn)到的多數(shù)檢測(cè)儀,一般都使用電化學(xué)傳感器。通過(guò)該傳感器,實(shí)現(xiàn)對(duì)空氣中甲醛濃度的測(cè)定。在甲醛監(jiān)測(cè)方面,國(guó)內(nèi)比擬知名的有:江蘇安普電子工程的400型甲醛分析儀、北京賓達(dá)綠創(chuàng)科技生產(chǎn)的抑一308甲醛測(cè)定儀等。國(guó)外的有:美國(guó)ESC公司生產(chǎn)的Z-300甲醛檢測(cè)儀、英國(guó)PPM公司生產(chǎn)的PPM-300甲醛檢測(cè)儀等。近年來(lái),研究者多推崇以單片機(jī)為核心的控制系統(tǒng),這是由于單片機(jī)系統(tǒng)具有高效、可靠、低功耗等特點(diǎn)。市面上各種以單片機(jī)為核心的甲醛監(jiān)測(cè)儀器正在或已經(jīng)被開(kāi)發(fā)出來(lái),其被用于實(shí)際生活中的甲醛監(jiān)測(cè),為群眾提供有效的測(cè)量手段,也為人們的健康生活保駕護(hù)航。但電化學(xué)傳感器也有很多缺點(diǎn),其主要表現(xiàn)在易于受其它氣體的干擾,因此較難實(shí)現(xiàn)高精度的測(cè)量。溫度對(duì)其也有一定影響,但可以通過(guò)溫度傳感器和甲醛氣體傳感器的溫度特性曲線,進(jìn)行溫度誤差消除。高精度,小型化、高抗干擾能力、簡(jiǎn)單易用是未來(lái)甲醛氣體監(jiān)測(cè)的開(kāi)展方向,隨著高度集成化的開(kāi)展,廉價(jià)而實(shí)用的甲醛監(jiān)測(cè)儀器必能為人們所效勞。1.3主要工作本設(shè)計(jì)的主要工作為:硬件系統(tǒng)的設(shè)計(jì)與Proteus仿真:使用Proteus繪制出硬件電路圖并完成仿真;各模塊軟件系統(tǒng)設(shè)計(jì):傳感器模塊、液晶顯示模塊、報(bào)警模塊、WiFi模塊的C51程序設(shè)計(jì);實(shí)物制作與實(shí)驗(yàn):制作出實(shí)物并進(jìn)行實(shí)際測(cè)量。1.4本章小結(jié)甲醛對(duì)于我們的健康擁有著極大地危害,而且它還廣泛的存在于我們的生活中,所以,設(shè)計(jì)開(kāi)發(fā)出一種能夠準(zhǔn)確、快速、便捷的室內(nèi)甲醛監(jiān)測(cè)系統(tǒng)有著很強(qiáng)的必要性,而且其必將有及其廣泛的應(yīng)用前景。2系統(tǒng)方案設(shè)計(jì)2.1系統(tǒng)總體方案得益于當(dāng)代工業(yè)的飛速開(kāi)展,各種不同的功能模塊被設(shè)計(jì)生產(chǎn)出來(lái),本課題運(yùn)用模塊化思想完成設(shè)計(jì)。選用各集成模塊,通過(guò)單片機(jī)進(jìn)行控制,協(xié)調(diào)各模塊功能,完成甲醛氣體的實(shí)時(shí)監(jiān)測(cè)。2.2硬件系統(tǒng)方案本甲醛檢測(cè)系統(tǒng)選用STC公司的90C516RD單片機(jī)作為系統(tǒng)控制核心,選用嵐寶德源的甲醛傳感器模塊作為系統(tǒng)的氣體傳感器,選用安可信公司的ESP8266-01型WiFi模塊做為系統(tǒng)的遠(yuǎn)程通信局部,選用1602液晶顯示器作為系統(tǒng)的顯示模塊,選用有源蜂鳴器作為報(bào)警模塊。硬件系統(tǒng)組成如下:1602液晶WiFi模塊甲醛傳感器蜂鳴器90C51單片機(jī)1602液晶WiFi模塊甲醛傳感器蜂鳴器90C51單片機(jī)圖2.1硬件系統(tǒng)方案簡(jiǎn)圖2.3軟件系統(tǒng)方案由于C語(yǔ)言的高效性,本設(shè)計(jì)選用C語(yǔ)言作為編程語(yǔ)言。在編程時(shí)同樣注意模塊化思想,將程序分為不同功能模塊,方便調(diào)試與調(diào)用。流程圖如圖2.2所示:圖2.2主程序流程圖2.4本章小結(jié)本章初步明確了系統(tǒng)的主體設(shè)計(jì)思想,確立了軟件和硬件的根本組成,我們應(yīng)用此思想完成后續(xù)設(shè)計(jì)。3硬件系統(tǒng)設(shè)計(jì)3.1單片機(jī)模塊STC90C516RD是STC公司生產(chǎn)的一種CMOS8位微控制器,具有低功耗、高性能等特點(diǎn)。其內(nèi)部具有8K字節(jié)系統(tǒng)可編程Flash存儲(chǔ)器。該款單片機(jī)采用MCS-51內(nèi)核,其標(biāo)準(zhǔn)功能有:64kFlash;1280byteSRAM;35〔39〕位I/O接口線;看門狗定時(shí)器;EEPROM;MAX810復(fù)位電路;總共3個(gè)16位定時(shí)器/計(jì)數(shù)器;4個(gè)外部中斷;一個(gè)全雙工串行口。3.1.1STC90C516RD的參數(shù)及特點(diǎn)單片機(jī)參數(shù)如表3.1所示:表3.1工程參數(shù)工作電壓工作頻率范圍0-40MHz用戶應(yīng)用程序空間64K片內(nèi)RAM1280ByteEEPROM4KI/O口35(39)個(gè)UART1個(gè)外部中斷4個(gè)定時(shí)/計(jì)數(shù)器3個(gè)16位該款單片機(jī)芯片內(nèi)帶4K字節(jié)EEPROM存儲(chǔ)空間,與以往產(chǎn)品相比,其能夠直接使用串口下載程序,這極大地方便了我們的開(kāi)發(fā)。3.1.2單片機(jī)各引腳及功能圖3.1STC90C516RD引腳圖雙列直插式90C516RD引腳圖如圖3.1所示,其中包含2個(gè)電源引腳,另個(gè)晶體引腳,4個(gè)控制或其他電源復(fù)用引腳和35(39)個(gè)輸入輸出接口引腳。電源引腳VCC(40腳):與+5V相接。VSS〔20腳〕:接電源地。外接晶體引腳XTAL1〔19腳〕與XTAL2(20腳)用于構(gòu)建時(shí)鐘電路,產(chǎn)生時(shí)鐘信號(hào)。我們可內(nèi)部方式或外部方式來(lái)產(chǎn)生時(shí)鐘信號(hào)。內(nèi)部時(shí)鐘方式:一般單芯片工作所用方式,時(shí)鐘電路如圖3.2。外部時(shí)鐘方式:采用外部振蕩器,是用于多片芯片同時(shí)工作,其時(shí)鐘電路如圖3.3所示。圖3.2圖3.3控制引腳RESET/VPD〔9腳〕:用于使單片機(jī)復(fù)位。PSEN〔29腳〕:用于輸出片外程序存儲(chǔ)器選通信號(hào)。ALE(30腳):用于輸入地址鎖存運(yùn)行信號(hào)。EA/VPP〔31腳〕:用于控制是否允許訪問(wèn)外部程序存儲(chǔ)器。輸入輸出引腳P0口〔P0.0-P0.7〕該端口為一般IO口引腳,也可用作數(shù)據(jù)/低位地址總線復(fù)用引腳。該端口較特殊,在使用時(shí)需要外接上拉電阻〔一般為千歐級(jí)別〕。P1口〔P1.0-P1.7〕一般IO接口引腳,此外其P1.0和P1.1接口還具有第二功能,如表3.2所示:表3.2引腳號(hào)功能特性P1.0T2,時(shí)鐘輸出P1.1T2EX〔定時(shí)/計(jì)數(shù)器2〕P2口〔P2.0-P2.7〕該端口用作一般IO接口,此外其也能用作高位地址總線引腳。P3口〔P3.0-P3.7〕其為一般IO接口,同時(shí)也有用作第二功能,其第二功能如表3.3:表單片機(jī)最小系統(tǒng)模塊單片機(jī)最小系統(tǒng):指在滿足單片機(jī)能正常工作的前提下,所能到達(dá)的最小外圍配置,這其中包括:一個(gè)時(shí)鐘〔晶體震蕩〕電路用來(lái)產(chǎn)生時(shí)鐘信號(hào)、一個(gè)復(fù)位電路用于完成單片機(jī)初始化,以及必須的電源,如圖3.4所示:圖3.4單片機(jī)最小系統(tǒng)圖中C1和C2為是兩個(gè)電容,在震蕩電路中,其用于穩(wěn)定時(shí)鐘信號(hào)頻率以及快速起振。通常選用的電容值為5-30pF〔常用30pF〕。選用11.0592MHz晶體振蕩器,以便模塊間的串口通信。本設(shè)計(jì)將選用89C52RC最小系統(tǒng)模塊來(lái)完成最終設(shè)計(jì)。3.2甲醛傳感器模塊傳感器模塊是本設(shè)計(jì)的關(guān)鍵性模塊,其用于檢測(cè)甲醛氣體,并向單片機(jī)傳輸氣體當(dāng)前濃度信息。3.2.1傳感器的選擇傳感器用于保證檢測(cè)的精度,因此傳感器的精度決定了檢測(cè)系統(tǒng)的檢測(cè)精度,決定了系統(tǒng)能否滿足設(shè)計(jì)要求。本設(shè)計(jì)選用電化學(xué)傳感器來(lái)檢測(cè)甲醛氣體,在綜合考慮精度因素和價(jià)格因素后,選用嵐寶德源的甲醛傳感器模塊。3.2.2傳感器原理及參數(shù)該傳感器是一種兩極型電化學(xué)傳感器,當(dāng)空氣中甲醛擴(kuò)散到傳感器處便可實(shí)現(xiàn)檢測(cè)。因此,該傳感器測(cè)量時(shí)不需要外部采樣硬件的支持。當(dāng)有甲醛氣體存在時(shí),在傳感器的敏感電極上,將會(huì)有一個(gè)微笑的直流產(chǎn)生,通過(guò)運(yùn)算放大電路的處理,將電流信號(hào)轉(zhuǎn)換為電壓信號(hào),電壓信號(hào)最終通過(guò)AD轉(zhuǎn)化,得到能被單片機(jī)接收的數(shù)字信號(hào)。其參數(shù)如表3.4所示:表3.4測(cè)量范圍0-5ppm使用壽命5年〔無(wú)腐蝕空氣〕輸出信號(hào)2000nA/ppm使用溫度-10-+40℃使用濕度15%-90%〔無(wú)結(jié)露〕輸出漂移每年<10%質(zhì)保時(shí)間兩年〔無(wú)腐蝕空氣〕質(zhì)量10-15g尺寸25mm*23mm*8mm此電化學(xué)甲醛傳感器模塊是一個(gè)通用型模組。利用電化學(xué)原理對(duì)空氣中存在的甲醛氣體進(jìn)行探測(cè),此模塊與甲醛傳感器相結(jié)合,具有良好的穩(wěn)定性。此模塊帶有NTC溫度傳感器,可以進(jìn)行溫度補(bǔ)償,減小傳感器誤差,該模塊是將成熟的電化學(xué)檢測(cè)技術(shù)與精良的電路設(shè)計(jì)緊密結(jié)合,設(shè)計(jì)制造出的通用型氣體模組。傳感器模塊參數(shù)如表3.5所示:表3.5產(chǎn)品名稱甲醛模塊檢測(cè)氣體甲醛干擾氣體酒精,一氧化碳等氣體輸出數(shù)據(jù)UART輸出工作電壓3.3V或5V(用戶可訂制)預(yù)熱時(shí)間≤3分鐘響應(yīng)時(shí)間≤60秒恢復(fù)時(shí)間≤60秒量程0~1.00mg/m3分辨率≤0.01mg工作溫度0~50℃工作濕度15%RH-90%RH〔無(wú)凝結(jié)〕存儲(chǔ)溫度0~50℃使用壽命5年〔無(wú)腐蝕空氣〕模塊默認(rèn)工作電壓為3.3V;工作電流≤10mA。模塊上電后需1分鐘預(yù)熱時(shí)間,1分鐘后測(cè)的數(shù)據(jù)為有效數(shù)據(jù)。3.2.3傳感器模塊引腳該傳感器共有四個(gè)引腳,其功能如表3.6所示:表3.6管腳管腳說(shuō)明1VCC(電壓輸入3.3V或5V)2RX(串口數(shù)據(jù)輸入)3TX(串口數(shù)據(jù)輸出)4GND(電源供電負(fù)極)傳感器模塊電路圖如圖3.5所示:圖3.5傳感器模塊電路圖運(yùn)算放大電路分析:如圖3.5,該模塊選用了一片LTC1049作為運(yùn)算放大電路中的運(yùn)算放大芯片。LTC1049是一種輸入失調(diào)電壓小,低功耗,零漂移的運(yùn)算放大器。在這里能夠較好的保證采樣精度。此外,該傳感器模塊集成了STM8S00F3P6單片機(jī),其為一個(gè)8位的單片機(jī),具有8K字節(jié)的flash存儲(chǔ)、128字節(jié)的數(shù)據(jù)EEPROM、十位AD轉(zhuǎn)換接口,3個(gè)定時(shí)計(jì)數(shù)器、一個(gè)串行通信接口、SPI接口、IIC接口。因此,該單片機(jī)可以通過(guò)AD轉(zhuǎn)換接口直接接收模擬信號(hào)。該模塊通過(guò)此芯片完成傳感器信號(hào)處理,并通過(guò)串口輸出傳感器所測(cè)得的參數(shù)。89C52單片機(jī)通過(guò)與傳感器模塊進(jìn)行串口通信獲取傳感器數(shù)據(jù),從而計(jì)算出甲醛濃度。3.2.4甲醛傳感器模塊的串口通信協(xié)議該模塊通信協(xié)議為:模塊通訊波特率9600;無(wú)校驗(yàn);數(shù)據(jù)位8位;停止位1位?!?600,N,8,1〕;該模塊以查詢方式進(jìn)行通信,即每向傳感器發(fā)送一次命令,傳感器模塊響應(yīng)一次。通訊協(xié)議如下:讀取協(xié)議:0x800xaa0x020xa50x5a發(fā)送:0x800xaa0x020xa50x5a起始數(shù)量指令結(jié)束返回:0xaa0xxx0xxx0xxx0xxx0x800xaa0xxx0xxx0xxx0xxx0x800x060xa50x5a起始數(shù)量指令甲醛mg甲醛ppm結(jié)束校零協(xié)議:發(fā)送:0xaa0x850x020xa50x5a0xaa0x850x020xa50x5a起始數(shù)量指令結(jié)束3.3串口WiFi模塊我們選用安可信公司的ESP8266-01型串口WiFi模塊作為本系統(tǒng)的WiFi模塊。該模塊具有體積小、穩(wěn)定性強(qiáng)、易擴(kuò)展等特點(diǎn)。ESP826-01是一款UART-WiFi透?jìng)髂K,是安可信公司為移動(dòng)設(shè)備和物聯(lián)網(wǎng)所設(shè)計(jì)的通用化模組。該模塊出廠默認(rèn)使用AT指令進(jìn)行操控,用戶也可以燒錄自己的程序。該模塊開(kāi)發(fā)工具較多,便于學(xué)習(xí)開(kāi)發(fā)。3.3.1WiFi模塊特性該模塊具是一標(biāo)準(zhǔn)串口WiFi模組,其內(nèi)置32位MCU,出廠時(shí)燒錄了最新固件,該芯片可兼作應(yīng)用處理器,用戶可以自行燒錄程序。模塊工作電壓為3..3V,與傳感器模塊相同。其支持802.11b/g/n標(biāo)準(zhǔn),具有完整WiFi功能。同時(shí),該模塊擁有串行通信接口,可以通過(guò)串口向WiFi模塊發(fā)送指令或數(shù)據(jù)。模塊擁有STA、AP和STA+AP三種工作模式。3.3.2WiFi模塊的根本參數(shù)安可信ESP8266-01型WiFi模塊使用ESP8266芯片,其出廠時(shí)的根本參數(shù)如表3.7:表3.7WiFi模塊的根本參數(shù)WiFi模塊的實(shí)物圖及引腳功能圖如圖3.6,圖3.7所示圖3.6WiFi模塊實(shí)物圖圖3.7WiFi模塊引腳圖各引腳的定義如表3.8所示:表3.8WiFi模塊的引腳定義WiFi模塊最小系統(tǒng)如下:管腳GND和VCC分別接3.3V電源地和正極,CH_PD腳拉高〔可與VCC短接〕,此時(shí)系統(tǒng)即可以啟動(dòng),出場(chǎng)默認(rèn)系統(tǒng)運(yùn)行AT指令,接受客戶的指令。模塊正常啟動(dòng)后,電流約70毫安。3.3.3WiFi模塊的AT指令該WiFi模塊的默認(rèn)系統(tǒng)運(yùn)行AT指令,我們通過(guò)串口可以向模塊發(fā)送AT指令。AT即Attention,AT指令一種終端設(shè)備向終端適配器發(fā)送的的字符串。一條AT指令通常AT為首,以其他字符結(jié)束。通常,每一條指令執(zhí)行后,無(wú)論其成功與否都會(huì)有相應(yīng)的返回值。這種指令方式簡(jiǎn)單易懂,由于采用標(biāo)準(zhǔn)的串口來(lái)進(jìn)行收發(fā),使我們對(duì)于模塊的控制難度大大降低,易于幫助我們快速驅(qū)動(dòng)模塊。EspressifAT指令集主要分為:根底AT命令、Wifi功能AT命令、TCP/IP工具箱AT命令等。指令格式如表3.9所示:表3.9AT指令的格式該模塊的每條AT指令都應(yīng)以回車換行符結(jié)束。采用出場(chǎng)默認(rèn)的固件時(shí),模塊串口通信的默認(rèn)波特率為115200。3.3.4WiFi模塊的云端通信我們選擇貝殼物聯(lián)作為本系統(tǒng)的云端效勞器,使用其提供的云端效勞功能實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。通過(guò)互聯(lián)網(wǎng)以對(duì)話、遙控器等形式與你的智能設(shè)備進(jìn)行對(duì)話、發(fā)送指令,查看實(shí)時(shí)數(shù)據(jù),還可以跟實(shí)際需求設(shè)置報(bào)警條件,當(dāng)滿足報(bào)警條件時(shí),效勞器通過(guò)APP、郵件、短信、微博、微信等方式通知用戶。3.4液晶顯示模塊在甲醛氣體信息被單片機(jī)采集后,單片機(jī)輸出顯示信息,液晶模塊顯示出甲醛濃度。液晶是一種介于液態(tài)與結(jié)晶態(tài)之間的物質(zhì),在不通電的時(shí)候其內(nèi)部排列會(huì)很混亂,這樣導(dǎo)致光線通過(guò)就很困難。而液晶在通電的時(shí)候,在電場(chǎng)的作用下其內(nèi)部那么會(huì)有序排列,光線能夠很容易的通過(guò);因此可以利用液晶來(lái)控制光線的通過(guò)與否。液晶顯示面板由兩片無(wú)鈉玻璃和其間夾著的一層液晶構(gòu)成。液晶顯示器具有體積小、功耗低、操作簡(jiǎn)單等特點(diǎn),因此,其在大規(guī)模IC電路中使用較多,而且彩色顯示較容易實(shí)現(xiàn)。在便攜式設(shè)備〔如筆記本電腦、數(shù)碼攝像機(jī)、等〕中使用更為廣泛。但液晶顯示器也其有缺點(diǎn),如使用環(huán)境的溫度范圍很小,一般液晶正常工作的溫度范圍為0℃~+55℃。所以,在使用液晶的時(shí)候,需要依據(jù)使用環(huán)境進(jìn)行正確選擇。液晶顯示按照顯示方式的不同可以分為分段式LCD、字符式LCD、點(diǎn)陣式LCD等。按照驅(qū)動(dòng)方式的不同又可以分為靜態(tài)驅(qū)動(dòng)式、單純矩陣驅(qū)動(dòng)式、主動(dòng)矩陣驅(qū)動(dòng)式。在這里我們選用工業(yè)字符型液晶LCD1602液晶作為本系統(tǒng)的顯示模塊。液晶顯示模塊的概述LCD1602的外形尺寸如圖3.8所示:圖3.8LCD1602的外形尺寸其主要技術(shù)參數(shù)如表:表3.10顯示容量:16x2字節(jié)芯片工作電壓工作電流2.0毫安〔5.0V〕模塊最正確工作電壓5.0V字符尺寸2〔WxH〕毫米3.4.2顯示模塊引腳說(shuō)明本系統(tǒng)選用具有標(biāo)準(zhǔn)16接口的LCD1602液晶顯示模塊〔帶有背光燈〕,各接口編號(hào)及其引腳定義如表3.11所示:表3.11液晶引腳定義VSS〔引腳1〕:接電源地。VDD〔引腳2〕:與+5V電源連接。VL〔引腳3〕:此為比照度調(diào)節(jié)引腳。當(dāng)其接通+5V電源時(shí),顯示比照度最小,與電源地線連接時(shí)有最大比照度。實(shí)際測(cè)量發(fā)現(xiàn),下拉3K電阻時(shí)有最正確顯示效果。3.4.3顯示模塊操作根本操作時(shí)序:讀狀態(tài):輸入:RS=1,RW=1,E=0;輸出:狀態(tài)字=D0-D7;寫(xiě)指令:輸入:RS=0,RW=0,E=高脈沖,D0-D7=指令碼;輸出:無(wú);讀數(shù)據(jù):輸入:RS=1,RW=1,E=1;輸出:數(shù)據(jù)=D0-D7;寫(xiě)數(shù)據(jù):輸入:RS=1,RW=0,E=高脈沖,D0-D7=數(shù)據(jù);輸出:無(wú)LCD1602的控制指令如表3.12所示:表3.12指令碼功能如下:顯示模式設(shè)置:表3.13顯示開(kāi)關(guān)及光標(biāo)設(shè)置:表3.14顯示模塊的初始化過(guò)程〔復(fù)位過(guò)程〕操作時(shí)序:讀操作時(shí)序〔圖3.9〕:圖3.9液晶的讀操作時(shí)序?qū)懖僮鲿r(shí)序〔圖3.10〕:圖3.10液晶的寫(xiě)操作時(shí)序3.4.4RAM映射表及字庫(kù)對(duì)照表LCD1602顯示模塊內(nèi)部有80x8位〔80字節(jié)〕的數(shù)據(jù)緩存區(qū),其對(duì)應(yīng)顯示區(qū)域?qū)φ杖鐖D3.11所示:圖3.11液晶的RAM對(duì)照表因此在向DDRAM寫(xiě)C51字符代碼程序時(shí)可以直接用P1=‘A’這樣的方法。編譯器在編譯時(shí)會(huì)把'A'轉(zhuǎn)換41H,即A所對(duì)應(yīng)的代碼。字符編碼和字符的對(duì)應(yīng)關(guān)系如圖3.12所示:圖3.12字符對(duì)照表3.5蜂鳴器模塊蜂鳴器模塊的的功能是:當(dāng)甲醛濃度超出指定值時(shí),發(fā)出報(bào)警信號(hào)。蜂鳴器分為無(wú)源蜂鳴器和有源蜂鳴器兩種。無(wú)源蜂鳴器:蜂鳴器內(nèi)部沒(méi)有震蕩源,需要外部輸入交變信號(hào)才能發(fā)聲,低電平觸發(fā);有源蜂鳴器:內(nèi)部擁有震蕩源,接通電源便能發(fā)聲。蜂鳴器的選用。由于無(wú)源蜂鳴器在工作時(shí)需要單片機(jī)不停地產(chǎn)生輸出PWM波,導(dǎo)致一旦蜂鳴器報(bào)警,程序就需停下,而本檢測(cè)系統(tǒng)需要不間斷的檢測(cè)甲醛濃度,因此本系統(tǒng)選用有源蜂鳴器。3.6電源降壓模塊在前面甲醛傳感器模塊和WiFi模塊的介紹中我們可以看到,這兩個(gè)模塊工作的電壓為3.3V,然而單片機(jī)工作電壓為5.0V,因此,我們需要一個(gè)降壓模塊來(lái)匹配它們的工作電壓。在這里我們選用AMS1117-3.3電源穩(wěn)壓模塊來(lái)完成此項(xiàng)工作,該模塊配備了一片AMS1117-3.3芯片。AMS1117系列固定穩(wěn)壓器設(shè)計(jì)提供了可調(diào)的800mA的輸出電流和低于1V的輸入輸出誤差。在保證最大輸出電流時(shí),該設(shè)備的壓差最大為1.3V,在低負(fù)載電流時(shí),壓差會(huì)下降。片上微調(diào)調(diào)整參考電壓為1%。其電流限制也做了調(diào)整,最大限度地減少了過(guò)載條件下調(diào)節(jié)器和電源電路的應(yīng)力。AMS1117采用與其他器件兼容的三端引腳,外表貼裝SOT-223封裝。整個(gè)降壓模塊的工作參數(shù)如下:輸入:直流4.75V--12V輸出:3.3V,800mA〔負(fù)載電流不能超過(guò)800ma〕3.7串口通信的TTL電平匹配設(shè)計(jì)由于甲醛傳感器模塊和WiFi模塊上控制芯片的工作電平均為3.3V,如果其串口與單片機(jī)直接相連,那么有可能因灌電流過(guò)大,導(dǎo)致模塊燒毀,因此必須設(shè)計(jì)電路來(lái)進(jìn)匹配這些模塊的TTL電平。常用的轉(zhuǎn)換方法有:電阻分壓法:使用兩個(gè)kΩ級(jí)別的電阻進(jìn)行分壓,前級(jí)輸出分壓后輸出給后級(jí)。此操作較為簡(jiǎn)單,但在某些應(yīng)用需要注意以下情況:分壓電阻過(guò)大時(shí),可能會(huì)導(dǎo)致后級(jí)流入電流過(guò)小,因此不適合用在某些需要有一定驅(qū)動(dòng)能力的器件上;如果分壓電阻過(guò)小,又會(huì)會(huì)導(dǎo)致功耗過(guò)大,導(dǎo)致其不適合于低功耗場(chǎng)合的應(yīng)用,并且由于前級(jí)引腳輸出存在一定的小阻值等效電阻,這樣會(huì)影響分壓;該方法不適合用于高速場(chǎng)合,由于后級(jí)輸入引腳大多存在對(duì)地的分布電容,這些電容通過(guò)RC網(wǎng)絡(luò)構(gòu)成充電電路,RC電路會(huì)導(dǎo)致信號(hào)傳輸延時(shí),在低速信號(hào)鏈中,該影響可以不考慮。電阻限流法:在前級(jí)輸出上串接一個(gè)kΩ級(jí)別的限流電阻。因?yàn)橥ǔJ请娏髟斐珊蠖似骷p壞而非是電壓,所以該方法也能成立,通過(guò)串聯(lián)限流電阻的方法雖然不是很可靠,但對(duì)于某些場(chǎng)合,該方法較為方便。在使用時(shí)該方法也存在以下考前須知:前級(jí)輸出電流較大時(shí),此方法不適宜使用,但這種情況概率很低,對(duì)于一般的邏輯器件、MCU等都不會(huì)有太大的輸出電流;該方法同樣不適合高速傳輸?shù)膱?chǎng)合。三極管鉗位法:通過(guò)電阻限制前級(jí)流入后級(jí)的電流大小,在通過(guò)使用三極管,過(guò)量的電流被導(dǎo)向地。這種方法也存在前面兩種方法的缺陷。二極管降壓:在前級(jí)串上具有適宜壓降的幾個(gè)二極管,使輸入到后級(jí)的端電壓范圍控制在3.3V左右,這種用法較簡(jiǎn)單,但僅可單向傳輸。隔離法:該方法通過(guò)光耦,實(shí)現(xiàn)電-光-電的轉(zhuǎn)換,進(jìn)而實(shí)現(xiàn)信號(hào)的傳輸。這種方法一般用于電氣隔離中。使用專用的芯片:可以通過(guò)專用的電平轉(zhuǎn)換芯片來(lái)實(shí)現(xiàn),例如74AHC系列邏輯門電路,這類芯片的工作電壓接3.3V時(shí),其輸入引腳上的電壓將不受電源電壓所限制,因而超過(guò)3.3V的〔但不超過(guò)5V〕也可以接,進(jìn)而電平轉(zhuǎn)換得到實(shí)現(xiàn)。從本質(zhì)上來(lái)說(shuō),這類芯片的內(nèi)部集成了相應(yīng)的鉗位二極管。在最初的設(shè)計(jì)中,我們選擇74LVC4245電平轉(zhuǎn)換芯片來(lái)進(jìn)行所需的電平轉(zhuǎn)換,74LVC4245采用雙電源供電,是一個(gè)典型的雙向收發(fā)器,其通過(guò)DIR管腳控制傳輸方向,OE管腳做收發(fā)使能管腳,控制是否允許收發(fā)。74LVC4245A是一個(gè)高性能、低功耗、低電壓,硅基cmos
設(shè)備,其兼容最最新CMOSTTL。該芯片是八位三態(tài)收發(fā)芯片。其被設(shè)計(jì)用于3.3V到5.0V和5.0V到3.3V的電壓轉(zhuǎn)換,最多支持8路信號(hào)。該芯片引腳圖如圖3.13所示:圖3.13該芯片的管腳定義為:VCCA和VCCB分別4.5V~5.5V和2.7V~3.6V,A1~A8口接的信號(hào)與VCCA一致,B1~B8接的信號(hào)與VCCB一致,DIR控制方向,OE控制使能。要求VCCA大于等于VCCB。芯片的信號(hào)分A、B兩個(gè)組,其中一組輸入,另一組輸出。使用時(shí),不用的引腳最好上拉到VCC或GND防止懸空。74LVC4245芯片的真值表如3.15所示:表3.15輸入輸出OEDIRAnBnLLAn=Bn〔輸出〕輸入LH輸入Bn=An〔輸出〕HXZZ從整個(gè)系統(tǒng)考慮到本錢,和設(shè)計(jì)難度,我們選擇了串限流電阻這種方法解決3.3V模塊與5.0V單片機(jī)的通信問(wèn)題。通過(guò)對(duì)3.3V模塊工作電流的分析,確定出兩個(gè)限流電阻的大小為2KΩ。通過(guò)對(duì)快的實(shí)際測(cè)試,發(fā)現(xiàn)使用該方法,傳感器模塊能夠正常工作。然而在最后的硬件測(cè)試中,我們發(fā)現(xiàn),該方法的負(fù)載能力有限,難以同時(shí)驅(qū)動(dòng)甲醛傳感器模塊和WiFi模塊。最終我們才用以下電路設(shè)計(jì),如圖3.14:圖3.14串口TTL電平匹配電路該電路采用雙3.3V和5.0V雙電源供電,具有較強(qiáng)的串口驅(qū)動(dòng)能力,最高支持穩(wěn)定的通信波特率為28800bps,符合各模塊的通信需求。3.8單片機(jī)程序下載器我們選擇第三代STC增強(qiáng)型燒錄器作為本次開(kāi)發(fā)中的程序燒錄器,該燒錄器具有以下特點(diǎn):下載器支持STC全系列所有3.3V5.0V單片機(jī)程序的燒寫(xiě),并且其支持以BSL方式燒錄MSP430單片機(jī)〔僅限于MspFet軟件燒錄〕;燒錄器支持最高波特率115200。該編程器支持自動(dòng)下載,無(wú)需冷啟動(dòng)單片機(jī),防止了頻繁給單片機(jī)斷電上電,這一功能使STC單片機(jī)程序下載變得非常便捷。.支持3.3V與5.0V版本的STC單片機(jī)燒錄,下載器集成了3.3V電源管理芯片,3.3對(duì)外供電電流高達(dá)500MA。具有500MA自恢復(fù)保險(xiǎn)絲,防止過(guò)流。下載器引腳及其定義:5.0V/3V3:提供3.3V或5.0V電源,與單片機(jī)的VCC連接;TXD:下載器的串口發(fā)送端,接接單片機(jī)的P3.0〔RXD〕;RXD:下載器的串口接收端,接單片機(jī)的P3.1〔TXD〕;GND:電源地,接單片機(jī)的GND。此外,下載器還支持各種需要USB-TTL串口信號(hào)的場(chǎng)合使用,例如串口通信、超級(jí)終端串口調(diào)試工具,這一功能給我們對(duì)傳感器模塊和WiFi模塊的調(diào)試帶來(lái)了極大的便利。3.9單片機(jī)中斷系統(tǒng)中斷系統(tǒng)的功能是:當(dāng)CPU在處理一件事的時(shí)候,外部有另一件突發(fā)事件發(fā)生,這時(shí)CPU被請(qǐng)求處理中斷任務(wù),這時(shí)CPU暫停當(dāng)前進(jìn)程,響應(yīng)中斷請(qǐng)求,轉(zhuǎn)入處理中斷代碼,當(dāng)中斷效勞代碼處理完畢時(shí),CPU能夠返回?cái)帱c(diǎn),進(jìn)而繼續(xù)執(zhí)行之前被終止進(jìn)程。中斷技術(shù)的優(yōu)點(diǎn):實(shí)時(shí)性增強(qiáng)。CPU能夠及時(shí)的處理系統(tǒng)的隨機(jī)事件。可靠性提高。CPU可以處理各種故障或掉電等突發(fā)事件。利用率極高。CPU能通過(guò)分時(shí)為多個(gè)I/O設(shè)備效勞。80C51單片機(jī)的中斷源80C51系列單片機(jī)擁有五個(gè)中斷源,如表3.16所示:表3.1680C51的中斷源80C51單片機(jī)中斷系統(tǒng)中,通過(guò)對(duì)應(yīng)的中斷標(biāo)志位,CPU可以獲得中斷狀態(tài)信息。中斷標(biāo)志位包含在TCON和SCON這兩個(gè)特殊功能存放器當(dāng)中。前者是定時(shí)/計(jì)數(shù)器的控制存放器。這里我們重點(diǎn)了解SCON存放器,它是串口控制存放器,其地址為98H,可進(jìn)行位尋址。該存放器的低兩位被用作串口中斷標(biāo)志,其每位的定義如表3.17所示:表3.17位地址9FH9EH9DH9CH9BH9AH99H98H位符號(hào)TIRISCON存放器中每一位功能如下:RI:串口中斷的接收中斷請(qǐng)求標(biāo)志位。當(dāng)串口在方式0下工作時(shí),每當(dāng)?shù)?位數(shù)據(jù)被接收,將會(huì)由硬件置位RI;串口在其他工作方式時(shí),每當(dāng)接收到停止位,將會(huì)由硬件置位RI。需要注意的是,CPU在轉(zhuǎn)到中斷效勞程序入口時(shí),RI不會(huì)被硬件復(fù)位,因此,程序編制時(shí)需要以軟件方式復(fù)位RI(置零)。TI:串口中斷的發(fā)送中斷請(qǐng)求標(biāo)志位。當(dāng)串口在方式0下工作時(shí),每當(dāng)?shù)?位數(shù)據(jù)被發(fā)送,將會(huì)由硬件置位TI;串口在其他工作方式時(shí),每當(dāng)發(fā)送到停止位,將會(huì)由硬件置位TI。而且,TI的復(fù)位也需要用軟件來(lái)完成。單片機(jī)的中斷控制80C51系列的單片機(jī)的中斷系統(tǒng)具有一個(gè)的中斷允許存放器IE,該存放器被來(lái)控制中斷是否被開(kāi)啟。存放器的地址為A8H,可進(jìn)行位尋址,存放器各地址與其對(duì)應(yīng)的內(nèi)容如表3.18所示:表3.18位地址AFHAEHADHACHABHAAHA9HA8H位符號(hào)EA--ESET1EX1ET0EX0每一位所對(duì)應(yīng)的功能如表3.19所示:標(biāo)志位功能EA中斷允許總控制位EA=0:CPU禁用所有中斷;EA=1:CPU開(kāi)放中斷EX0(EX1)外部中斷允許控制位EX0(EX1)=0:禁止外部中斷;EX0(EX1)=1,允許外部中斷ET0(ET1)定時(shí)/計(jì)數(shù)器中斷允許控制位ET0(ET1)=0:禁止定時(shí)/計(jì)數(shù)器中斷;ET0(ET1):允許定時(shí)/計(jì)數(shù)器中斷ES串口中斷允許控制位ES=0:關(guān)閉串口中斷;ES=1:開(kāi)啟串口中斷80C51系列單片機(jī)的中斷系統(tǒng)中,中斷被區(qū)分為一高一低兩個(gè)優(yōu)先級(jí),通過(guò)優(yōu)先級(jí)控制器IP,我們可以對(duì)中斷的優(yōu)先級(jí)進(jìn)行設(shè)定。該存放器地址為B8H,各位地址何其對(duì)應(yīng)的內(nèi)容如表3.19所示:表3.19位地址BFHBEHBDHBCHBBHBAHB9HB8H位符號(hào)PSPT1PX1PT0PX0每一位所對(duì)應(yīng)的功能如表3.20所示:表3.20功能位對(duì)應(yīng)表表3.20中,假設(shè)置零某一控制位,那么其所對(duì)應(yīng)的中斷源會(huì)被定義為低優(yōu)先級(jí);置一那么為高優(yōu)先級(jí)。我們可以通過(guò)編程來(lái)置位或清零中斷優(yōu)先級(jí)控制器IP中的各個(gè)控制位。當(dāng)單片機(jī)復(fù)位后,該存放器中的各位都會(huì)被清零。通過(guò)中斷優(yōu)先級(jí)的設(shè)定,我們可以實(shí)現(xiàn)中斷嵌套。中斷嵌套只能發(fā)生一次,中斷優(yōu)先級(jí)控制原那么如下:根據(jù)優(yōu)先級(jí)設(shè)定,在低優(yōu)先級(jí)的中斷效勞程序執(zhí)行時(shí),CPU會(huì)高優(yōu)先級(jí)的中斷請(qǐng)求,低優(yōu)先級(jí)的中斷效勞程序被打斷,轉(zhuǎn)入高優(yōu)先級(jí)中斷效勞程序從而實(shí)現(xiàn)一層中斷嵌套。反之那么不成立。相同級(jí)別的中斷不能互相打斷。CPU在接收到多個(gè)相同優(yōu)先級(jí)的中斷請(qǐng)求時(shí),將按照一定的按查詢次序確定被響應(yīng)的中斷請(qǐng)求,該次序?yàn)椋菏紫炔樵兺獠恐袛?,其次是定時(shí)器/計(jì)數(shù)器0中斷,接下來(lái)是外部中斷1,然后定時(shí)器/計(jì)數(shù)器1中斷,串口中斷將會(huì)被最后響應(yīng)。中斷的處理過(guò)程一個(gè)中斷請(qǐng)求的處理過(guò)程可以被分為三個(gè)階段,它們依次是:1中斷響應(yīng)、2中斷處理、3中斷返回。根據(jù)這三個(gè)過(guò)程,80C51系列單片機(jī)的中斷處理如下:中斷響應(yīng):在CPU中斷和相應(yīng)中斷允許翻開(kāi)的情況下,中斷源發(fā)出中斷請(qǐng)求時(shí),CPU將對(duì)中斷請(qǐng)求答復(fù)。在此過(guò)程中,CPU需要先完成中斷效勞程序之前的準(zhǔn)備工序,這包括主程序斷點(diǎn)的保護(hù)和將程序的運(yùn)行地址轉(zhuǎn)向中斷效勞程序的入口地址處。中斷處理:該過(guò)程指從中斷效勞程序入口地址開(kāi)始,一直執(zhí)行到中斷效勞程序結(jié)束。該過(guò)程包括兩方面的內(nèi)容,即:現(xiàn)場(chǎng)保護(hù)和中斷源請(qǐng)求的處理。中斷返回:指在中斷效勞程序執(zhí)行完畢后,CPU返回到主程序斷點(diǎn)繼續(xù)執(zhí)行主程序。3.10串行通信串行通信指數(shù)據(jù)按照順序,一位一位的進(jìn)行傳送,因此其一次只能傳輸一位,對(duì)于一字節(jié)的數(shù)據(jù)需要分八位才能完成傳送。串行通信的特點(diǎn)是:數(shù)據(jù)傳輸線少,本錢低、適用于遠(yuǎn)距離數(shù)據(jù)傳輸,但其缺點(diǎn)就是傳輸速度慢。3.10.1串行通信方式根據(jù)通信協(xié)議的不同,串行通信有以下兩種根本方式:同步通信通信方式這是一種連續(xù)進(jìn)行串行數(shù)據(jù)傳送的通信方式,在該方式中,一次通信只傳送一幀信息。每一個(gè)信息幀通常會(huì)包含有多個(gè)數(shù)據(jù)字符。這些字符有三種類型,它們分別是:用于保證同步的同步字符,所需傳輸?shù)臄?shù)據(jù)字符和進(jìn)行校驗(yàn)的字符〔CRC〕。其中同步字符位于幀的開(kāi)頭,該局部可以用來(lái)數(shù)據(jù)傳輸?shù)拈_(kāi)始,保證收發(fā)雙方數(shù)據(jù)的同步。數(shù)據(jù)字符為需要發(fā)送的數(shù)據(jù),其字符個(gè)數(shù)沒(méi)有限制,一般為所需傳輸?shù)臄?shù)據(jù)的長(zhǎng)度;校驗(yàn)字符一般有有1到2個(gè)字符組成,通過(guò)它,接收端能夠?qū)λ邮盏降淖址蛄械倪M(jìn)行校驗(yàn),用于確定數(shù)據(jù)是否正確。每一幀數(shù)據(jù)的開(kāi)頭使用同步字符,保證收發(fā)雙方嚴(yán)格的同步,傳輸期間不能夠出現(xiàn)空隙,由于該方式?jīng)]有起始位和停止位,其傳輸速度得到了提高。在無(wú)數(shù)據(jù)傳輸時(shí),需要發(fā)送同步字符。這種通信方式發(fā)送的數(shù)據(jù)量大,速度快,適用于對(duì)傳輸速度要求較高的場(chǎng)合。同步通信的缺點(diǎn)也很明顯,其同步檢驗(yàn)比擬復(fù)雜,此外,由于需要保證數(shù)據(jù)的同步,發(fā)送方的時(shí)鐘頻率和接收時(shí)鐘頻率需要保持嚴(yán)格的同步,這一點(diǎn)對(duì)于具有不同時(shí)鐘頻率的多機(jī)通信系統(tǒng)極為不利。異步通信這中通信方式中不使用同步字符,而且對(duì)數(shù)據(jù)塊的連續(xù)性也沒(méi)有要求。該方式需要通信雙方將數(shù)據(jù)按照約定好的方式進(jìn)行格式化。因此,每一個(gè)字符的前、后都被加上了起始位和停止位,因而,在大齡的數(shù)據(jù)傳輸中,該方式的通信傳輸效率較同步通信低。異步通信中收發(fā)雙方需要約定兩個(gè)參數(shù),即:字符幀格式和波特率。該參數(shù)由于確定通信協(xié)議,在通信傳輸時(shí),以字符或者字節(jié)為單位,數(shù)據(jù)被逐幀進(jìn)行傳送。通信時(shí),發(fā)送端按照一定順序逐幀發(fā)送字符幀,接收設(shè)備那么通過(guò)傳輸線逐幀對(duì)數(shù)據(jù)完成接收。使用這種通信方式,發(fā)送設(shè)備和接收設(shè)備可以使用不同的時(shí)鐘頻率,且二者相互獨(dú)立,頻率之間不存在關(guān)系,被用來(lái)分別控制數(shù)據(jù)的發(fā)送和接收。數(shù)據(jù)傳輸中,當(dāng)接收端檢測(cè)到通信線路中的低電平邏輯"0"時(shí),可得知發(fā)送端開(kāi)始進(jìn)行數(shù)據(jù)的發(fā)送,而每當(dāng)接收到一個(gè)字符幀中的停止位時(shí),就說(shuō)明該幀字符已經(jīng)完成發(fā)送。在80C51單片機(jī)中,一個(gè)全雙工串行口被用來(lái)進(jìn)行串口傳輸,單片機(jī)間一般采用異步通信的方式進(jìn)行通信。3.10.280C51的串行接口80C51系列單片機(jī)的芯片中有專用的串行接口電路。其中集成了通用異步接收/發(fā)送器〔UART〕這一功能部件,進(jìn)而構(gòu)成串行接口,通過(guò)該接口我們可以實(shí)現(xiàn)異步串行通信。該串行接口是一個(gè)能夠作為全雙工異步通信或同步移位存放器的可編程接口,它擁有4種工作方式,并且通過(guò)編程,我們可以設(shè)置多種不同的波特率。80C51系列單片機(jī)串行口主要由幾個(gè)不同的功能局部組成。分別是:發(fā)送緩沖存放器〔SBUF〕,用于數(shù)據(jù)發(fā)送時(shí)一幀數(shù)據(jù)的緩存;接收緩沖存放器〔SBUF〕,用于緩存接收到的數(shù)據(jù)。此外,該串口還包括發(fā)送控制器、發(fā)送控制門接收控制存放器和移位存放器等局部。芯片通過(guò)引腳RXD(P3.0引腳)和引腳TXD(P3.1引腳)與外界進(jìn)行通信。串行接口控制存放器80C51系列單片機(jī)串行口通過(guò)兩個(gè)特殊功能存放器來(lái)進(jìn)行串口控制,它們分別是SCON和PCON。其中SCON是串口控制存放器,該存放器有兩個(gè)功能,被其一是存放串行口的控制信息,另一個(gè)是對(duì)串口工作狀態(tài)信息進(jìn)行保存;PCON是一個(gè)特殊功能存放器,串行口的通信波特率通過(guò)此存放器來(lái)設(shè)置。SBUF串行數(shù)據(jù)緩沖器:該緩存器為兩個(gè)8位的特殊功能存放器,但其二者的物理空間地址與功能都不同,二者共用SBUF這一符號(hào)。發(fā)送緩存器只能寫(xiě)入,接收緩存器只能讀出。SCON串行控制存放器:通過(guò)設(shè)置該存放器,我們可以控制串行口的工作方式,在數(shù)據(jù)發(fā)送或接收的過(guò)程中,該存放器還負(fù)責(zé)設(shè)置中斷標(biāo)志。存放器的位定義如表3.21所示:表3.21D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI存放器各位的功能如表3.22所示:表3.22存放器功能對(duì)應(yīng)表串行口的工作方式選擇位可以用來(lái)確定串行口的4種工作方式,如表3.23:表3.23SM0SM1工作方式方式描述波特率計(jì)算方法00方式0該方式為8位同步移位存放器方式波特率=fosc/12〔f01方式110位通用異步接收/發(fā)送器可變10方式211位通用異步接收/發(fā)送器fosc〔同上〕00方式311位通用異步接收/發(fā)送器可變PCON是電源管理存放器:使用它,我們可以對(duì)單片機(jī)的電源進(jìn)行管理。如單片機(jī)的上電和復(fù)位檢測(cè)等。其位定義如表3.24所示:表3.24D7D6D5D4D3D2D1D0SMOD(SMOD0)(LVDF)(POF)GF1GF0PDIDL上表中,SMOD位是串行通信的波特率選擇位。通過(guò)它,我們可以設(shè)置波特率是否倍增,當(dāng)SMOD=0時(shí),波特率正常:SMOD=1波特率那么在原有根底上加倍。80C51串行通信的波特率設(shè)計(jì)在80C51中可以通過(guò)軟件對(duì)串行口的工作方式進(jìn)行設(shè)置。在這四種工作方式當(dāng)中,方式0和2的波特率固定不變,方式1和3可由定時(shí)器T1、T2的溢出率來(lái)設(shè)定。串行通信中,只有收發(fā)雙方波特率相同時(shí),二者才能實(shí)現(xiàn)通信。波特率指數(shù)據(jù)的傳輸速率。在不同工作方式,串行口有三種不同的波特率。串行口波特率的影響因素如下:系統(tǒng)振蕩頻率:SMOD的值:定時(shí)器T1的溢出率。串行口方式1和3的波特率按以下方法計(jì)算:波特率=2SMOD*TI的溢出率3.11本章小結(jié)這一章里,我們?cè)敿?xì)說(shuō)明了各模塊的參數(shù)及要求。在模塊間電平匹配電路上,我們花了較多時(shí)間用于討論和嘗試,經(jīng)過(guò)反復(fù)測(cè)試才定下了最后的方案。其中在單片機(jī)的選擇上,我們最初使用的是CTC89C52單片機(jī),但在后來(lái)的系統(tǒng)測(cè)試時(shí)發(fā)現(xiàn),該單片機(jī)的程序存儲(chǔ)空間較小,不能滿足我們的需求,所以,我們最終確定了擁有61K程序存儲(chǔ)空間的STC90C516RD單片機(jī)作為控制核心。硬件是系統(tǒng)極為關(guān)鍵的局部,我們?cè)诖诉€分析了各種必須的硬件使用要求,為后面的軟件設(shè)計(jì)局部奠定了根底。4軟件系統(tǒng)設(shè)計(jì)軟件系統(tǒng)是整個(gè)系統(tǒng)最重要的組成局部,保證了整個(gè)系統(tǒng)按指定要求運(yùn)行。在程序的編制過(guò)程中,我們根據(jù)不同硬件模塊的功能,充分運(yùn)用了模塊化的思想,編制好基層驅(qū)動(dòng)。在這里我們?cè)黾恿顺绦虼a的可移植性,方便日后的開(kāi)發(fā)與調(diào)試等過(guò)程。編程語(yǔ)言的選擇:程序設(shè)計(jì)時(shí),我們有很多編程語(yǔ)言可以選擇,適宜的編程語(yǔ)言對(duì)于開(kāi)發(fā)過(guò)程有著極好的推動(dòng)作用。對(duì)于80C51系列單片機(jī)等微型芯片的開(kāi)發(fā)來(lái)說(shuō),匯編語(yǔ)言和C語(yǔ)言被廣為使用。我們通過(guò)學(xué)習(xí)知道,匯編語(yǔ)言是一種非常接近機(jī)器碼的符號(hào)語(yǔ)言,匯編語(yǔ)言中,我們使用文字助記符來(lái)表示機(jī)器指令。這種編程語(yǔ)言的優(yōu)點(diǎn)有很多,比方,使用匯編語(yǔ)言編制的程序表現(xiàn)出:資源占用少、執(zhí)行效率高、過(guò)程精確和可進(jìn)行硬件級(jí)別的操作等。一般的匯編程序具有很強(qiáng)的針對(duì)性,表現(xiàn)為其直接操作專門的控制器。由于這種特點(diǎn),我們可以將程序的運(yùn)行精確到一個(gè)指令周期,在需要對(duì)時(shí)間進(jìn)行精確計(jì)算的場(chǎng)合,匯編具有極大的優(yōu)勢(shì)。但是匯編的缺點(diǎn)也很明顯,不同的CPU,其匯編語(yǔ)言可能存在差異,有時(shí)即使指令相似也不能移植。匯編語(yǔ)言較難讀懂,這直接導(dǎo)致了如果程序復(fù)雜,我們將很難對(duì)其進(jìn)行修改和維護(hù)。相對(duì)于匯編,C語(yǔ)言編屬于高級(jí)編程語(yǔ)言。其擁有一般高級(jí)語(yǔ)言共有的特點(diǎn):即可移植性強(qiáng)。C語(yǔ)言編制的程序,很容易做到結(jié)構(gòu)清晰,因此能幫助我們將程序結(jié)構(gòu)化。但C語(yǔ)言也存在其占用大量硬件資源,運(yùn)行效率低〔比匯編低10%到20%〕的問(wèn)題。最終通過(guò)考慮編程難度,以及硬件模塊特點(diǎn)等綜合因素后,我們選擇較為理想的C51語(yǔ)言作為軟件系統(tǒng)的編程語(yǔ)言。C51與一般的C語(yǔ)言根本相同,其增加了一些函數(shù)庫(kù),并擴(kuò)充了為適應(yīng)單片機(jī)程序開(kāi)發(fā)的數(shù)據(jù)類型,如表4.1所示:表4.1數(shù)據(jù)類型說(shuō)明位變量聲明bit聲明一個(gè)位變量8位存放器聲明sfr聲明一個(gè)8位存放器16位存放器聲明sfr16聲明一個(gè)16位存放器特殊功能位聲明sbit聲明特殊功能存放器中的某一位編譯環(huán)境的選擇:由于我們選擇了90C516RD單片機(jī)作為整個(gè)監(jiān)測(cè)系統(tǒng)的控制核心,并且選用C語(yǔ)言進(jìn)行編程,因此KeiluVision5被我們選作為編程軟件。KeilC51標(biāo)準(zhǔn)C編譯器支持不同公司MCS51構(gòu)架的芯片,代碼生成效率高,編譯界面與VC++相似,簡(jiǎn)單易學(xué)。該編譯環(huán)境能很方便的進(jìn)行程序的調(diào)試,直接生成HEX文件,方便后期開(kāi)發(fā)。KeilC51是一種功能強(qiáng)大的軟件開(kāi)發(fā)系統(tǒng),在微型芯片的程序編制中應(yīng)用廣泛。由于兼容51系列單片機(jī)C語(yǔ)言編程,我們選擇其作為系統(tǒng)開(kāi)發(fā)的編譯環(huán)境。在Keil中,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境〔μVision〕集成了完整開(kāi)發(fā)方案。uVision擁有非常強(qiáng)大的軟件環(huán)境、較為有好的操作界面和簡(jiǎn)單而又快捷的操作方式,主要表現(xiàn)為以下幾點(diǎn):極其豐富的菜單欄;可以快速選擇操作命令的懸浮工具條;必要的源代碼文件窗口;必要的對(duì)話窗口;直觀的編譯信息顯示窗口。4.1主程序的設(shè)計(jì)主程序是指計(jì)算機(jī)根本的程序,被獨(dú)立提供出來(lái)的程序。主程序和子程序這兩者是相互對(duì)立的,表現(xiàn)在主程序能夠調(diào)用子程序,而不能被任何子程序所調(diào)用。它是計(jì)算機(jī)程序中處于核心的局部。主程序作為主流程程序,其應(yīng)該包含整機(jī)的正常開(kāi)停機(jī)條件、停止條件、正常運(yùn)行條件等。主程序是整個(gè)軟件系統(tǒng)的靈魂,只有主程序邏輯合理,才能讓系統(tǒng)有條不紊的運(yùn)行下去。主程序是一個(gè)程序的入口,沒(méi)有主程序,編譯軟件就不知道從哪里開(kāi)始執(zhí)行編譯,所以,主程序是必需存在的。在C程序當(dāng)中,主程序必須是Main()函數(shù),通過(guò)分析我們對(duì)于系統(tǒng)的需求,主程序應(yīng)該滿足以下要求:開(kāi)啟系統(tǒng)后,程序需要不間斷運(yùn)行,以實(shí)現(xiàn)對(duì)甲醛氣體的實(shí)時(shí)監(jiān)測(cè);主程序需邏輯嚴(yán)謹(jǐn),以應(yīng)對(duì)在實(shí)際使用時(shí)可能發(fā)生的各種情況,在出現(xiàn)不穩(wěn)定因素時(shí),具有一定的調(diào)整能力;程序簡(jiǎn)潔,運(yùn)行效率高;程序結(jié)構(gòu)良好,易于修改。主程序中需要以下操作:系統(tǒng)的初始化:各模塊初始化信息如下:LCD1602液晶顯示的初始化:包括顯示模式的設(shè)置,光標(biāo)設(shè)置,引腳定義等;串口通信初始化:包括串口波特率的設(shè)置,串口通信模式設(shè)置,串口緩存區(qū)設(shè)置等;WiFi模塊初始化:包括WiFi模塊工作模式設(shè)置,透?jìng)髂J皆O(shè)置,鏈接配置,云效勞器配置等。調(diào)用各子函數(shù):由于子函數(shù)被功能化,因此在主程序中只需完成函數(shù)調(diào)用,主程序不進(jìn)行或進(jìn)行較少操作。系統(tǒng)自動(dòng)循環(huán),包含整個(gè)監(jiān)測(cè)系統(tǒng)正常運(yùn)行所需的各種判別條件,在出現(xiàn)錯(cuò)誤信息時(shí)主動(dòng)糾錯(cuò)等。因此,主程序的程序框圖如圖4.1所示:圖4.1主程序程序框圖從程序框圖上我們可以看到,進(jìn)入主程序后,系統(tǒng)被初始化一次,然后開(kāi)始判斷接收標(biāo)志位是否為1,如果為1那么說(shuō)明接收到有效數(shù)據(jù),否那么接收標(biāo)志位會(huì)保持為0。在接收標(biāo)志位為0時(shí),單片機(jī)將向傳感器模塊發(fā)送查詢命令,同時(shí)啟動(dòng)延時(shí)程序等待接收從傳感器發(fā)送來(lái)的數(shù)據(jù)。在數(shù)據(jù)被接收后判斷數(shù)據(jù)是否有效,如有效,那么將接收標(biāo)志位置1,否那么接收標(biāo)志位置零。當(dāng)接收標(biāo)志為1后,程序?qū)⑼逻\(yùn)行,一個(gè)計(jì)算甲醛濃度的子程序?qū)⒈徽{(diào)用,在計(jì)算好數(shù)據(jù)后,甲醛濃度值將會(huì)在液晶顯示器上被顯示出來(lái)。在這之前,所計(jì)算得來(lái)的甲醛濃度值還會(huì)與國(guó)家規(guī)定的平安值進(jìn)行比擬,如到達(dá)此值,那么啟動(dòng)蜂鳴器報(bào)警。所計(jì)算得到的甲醛濃度值還會(huì)通過(guò)WiFi模塊上傳到云端效勞器,以供遠(yuǎn)程查看。之后,數(shù)據(jù)緩存區(qū)被清空,準(zhǔn)備接收新一組數(shù)據(jù),一輪循環(huán)結(jié)束。4.2顯示模塊相關(guān)子程序設(shè)計(jì)我們對(duì)顯示模塊的主要任務(wù)設(shè)定如下:顯示開(kāi)機(jī)界面;顯示工作界面1;實(shí)時(shí)更新甲醛濃度顯示。在前面,我們選擇了LCD1602作為本系統(tǒng)的顯示模塊,根據(jù)該模塊的特性,我們對(duì)該模塊進(jìn)行了相關(guān)聲明.其中,將LCD1602的RS管腳定義為單片機(jī)P1.3口,RW定義為單片機(jī)P1.4口,將LCD1602的EN定義為單片機(jī)P1.5口。我們將單片機(jī)P1.5引腳定義為液晶的D7腳,通過(guò)檢測(cè)該管腳是否為高電平,判斷液晶是否忙碌,并返回狀態(tài)信息。其程流程圖如圖4.2所示:圖4.2顯示模塊程序流程圖4.3串口程序設(shè)計(jì)串口程序是本設(shè)計(jì)的關(guān)鍵程序之一,其為單片機(jī)和傳感器模塊、WiFi模塊的通信提供支持。4.3.1串口初始化函數(shù)該函數(shù)用于初始化單片機(jī)串口。voidinit_uart(){ EA=0; PCON=0x00;//smod=0波特率正常 SCON=0x50;//串口工作方式1,允許接收 TMOD=0x20;//定時(shí)器1,工作方式2,8位自動(dòng)裝載 TH1=0xfd; TL1=0xfd;//設(shè)定波特率為9600 ET1=0;//不允許定時(shí)器1中斷 TR1=1;//啟動(dòng)定時(shí)器1 RI=0; TI=0; IE=0x90;//單片機(jī)中斷開(kāi),串口中斷開(kāi)}//設(shè)定通信波特率9600,8位無(wú)校驗(yàn)。4.3.2串口發(fā)送函數(shù)該函數(shù)用于發(fā)送串口數(shù)據(jù),有兩個(gè)子函數(shù)構(gòu)成,一個(gè)被設(shè)計(jì)用來(lái)發(fā)送一個(gè)字符的數(shù)據(jù),另一個(gè)那么用來(lái)發(fā)送字符串,其程序框圖如圖4.3所示:圖4.3串口發(fā)送程序框圖4.3.3串口接收函數(shù)我們以中斷效勞程序的形式進(jìn)行串口接收,接收到的數(shù)據(jù)被存放在數(shù)組recdat中,串口接收程序框圖如圖4.3所示:圖4.4串口接收程序框圖4.3.4數(shù)據(jù)處理函數(shù)該段函數(shù)用于處理從傳感器模塊接收到的數(shù)據(jù)。從前面我們了解到:傳感器模塊發(fā)送的是多幀數(shù)據(jù),甲醛濃度信息被包含在多幀數(shù)據(jù)之中。單片機(jī)與傳感器模塊通信時(shí),有可能并不是從數(shù)據(jù)的第一幀開(kāi)始接收,因此,我們需要一個(gè)算法來(lái)進(jìn)行數(shù)據(jù)校核,進(jìn)而獲得所需的數(shù)據(jù)。傳感器模塊的標(biāo)準(zhǔn)數(shù)據(jù)格式如下:0xaa0xxx0xxx0xxx0xxx0x800xaa0xxx0xxx0xxx0xxx0x800x060xa50x5a起始數(shù)量指令甲醛mg甲醛ppm結(jié)束從上面我們可以看到:甲醛信息數(shù)據(jù)包含在整個(gè)數(shù)組中間,數(shù)據(jù)前四幀和最后一幀固定。根據(jù)此數(shù)據(jù)格式,我們選擇開(kāi)頭和結(jié)尾共五幀用于數(shù)據(jù)的校核。同時(shí),我們定義了一個(gè)位變量fecFlag,用于通知主程序是否接收到了有效數(shù)據(jù)。當(dāng)接收數(shù)據(jù)有效時(shí),fecFlag=1;無(wú)效時(shí)fecFlag=0;校驗(yàn)程序如下:voiddat_check(){ staticucharcount;//靜態(tài)局部變量用于數(shù)據(jù)的計(jì)數(shù) uchari; if(recdat[0]==0xa5) { count=1; }if(count==1&&recdat[1]==0x5a) { count=2; } if(count==2&&recdat[2]==0x06) { count=3; } if(count==3&&recdat[3]==0x80) { count=4; i=0;}while(count>=4&&count<9){ b[i]=recdat[count];//存入甲醛濃度信息 count++; i++; //RI=0;}if(count==9&&recdat[8]==0xaa) { //ES=0; recFlag=1;//數(shù)據(jù)接收標(biāo)志位置1,通知主程序已接收到有效數(shù)據(jù) count=0;//計(jì)數(shù)變量清零為下次接收做準(zhǔn)備 }}該段程序的程序框圖如圖4.4:圖4.5數(shù)據(jù)處理程序框圖圖4.5框圖描述了數(shù)據(jù)校驗(yàn)過(guò)程,從上面我們可以看出:只有開(kāi)頭和結(jié)尾的數(shù)據(jù)完全吻合數(shù)據(jù)接收才判定為有效,這是一個(gè)很強(qiáng)的條件,足以保證接收到的數(shù)據(jù)有效。4.4WiFi模塊程序設(shè)計(jì)WiFi模塊和傳感器模塊同樣使用串口與單片機(jī)進(jìn)行通信,因此,可直接利用串口發(fā)送函數(shù)進(jìn)行串口數(shù)據(jù)傳輸,根據(jù)WiFi模塊的AT指令,需要發(fā)送的數(shù)據(jù)如下:WiFi模塊透?jìng)髂J皆O(shè)置AT+CWMODE=1//設(shè)置WiFi應(yīng)用模式為StationAT+CWJAP="SSID","Password"/連接到WiFi路由器AT+CIPSTART="TCP","",8181//連接貝殼物聯(lián)效勞器AT+CIPMODE=1//設(shè)置為透?jìng)髂J紸T+CIPSEND//進(jìn)入透?jìng)髂J降顷懶谄骷鞍l(fā)送數(shù)據(jù){"M":"checkin","ID":"xx1","K":"xx2"}\n//登陸效勞器{"M":"update","ID":"xx1","V":{"id1":"value1",...}}\n//發(fā)送實(shí)時(shí)數(shù)據(jù)該局部的程序框圖如圖4.6:圖4.6WiFi模塊程序框圖另外,WiFi模塊出廠時(shí)默認(rèn)的波特率為115200,而傳感器模塊為9600,為簡(jiǎn)化設(shè)計(jì),同時(shí)考慮電平匹配電路的傳輸能力,我們采用統(tǒng)一的通信波特率:9600。因此,在WiFi模塊連入系統(tǒng)前,我們使用電腦上的串口調(diào)試助手,通過(guò)AT指令將WiFi模塊的串口波特率設(shè)置為9600。4.5延時(shí)函數(shù)在程序的運(yùn)行中的很多地方需要延時(shí)給硬件反響時(shí)間,因此我們?cè)O(shè)計(jì)了一個(gè)延時(shí)函數(shù)來(lái)完成此任務(wù)。程序如下:voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=114;y>+0;y--);}此函數(shù)實(shí)現(xiàn)近似1MS的延時(shí)。4.6仿真測(cè)試我們使用proteus7.8進(jìn)行系統(tǒng)的調(diào)試,該軟件是一款電路分析和實(shí)物仿真軟件。使用該軟件我們完成了檢測(cè)系統(tǒng)的等效電路圖設(shè)計(jì),并以此完成了仿真。圖4.7監(jiān)測(cè)系統(tǒng)等效電路圖圖4.7中,左邊的單片機(jī)系統(tǒng)相當(dāng)于傳感器模塊。包括:?jiǎn)纹瑱C(jī)、AD轉(zhuǎn)換器、電位器和一個(gè)用來(lái)顯示數(shù)據(jù)的液晶。該局部與實(shí)際傳感器模塊功能根本相同電位器相當(dāng)于敏感元件。單片機(jī)采集到傳感器數(shù)據(jù),再通過(guò)串口傳輸出來(lái)。右邊的單片機(jī)系統(tǒng)相當(dāng)于實(shí)際設(shè)計(jì)的單片機(jī)模塊,功能為通過(guò)串口接收到傳感器模塊的數(shù)據(jù),再通過(guò)液晶顯示出來(lái)。啟動(dòng)仿真后,仿真結(jié)果如下:圖4.8仿真結(jié)果圖4.8為調(diào)整電位器在某一值下的仿真結(jié)果,我們可以看出左邊“傳感器〞數(shù)據(jù)被右邊的單片機(jī)成功接收,并且在液晶屏幕上正確顯示出濃度值數(shù)據(jù)。由此監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)告一段落。4.7實(shí)物制作在選擇好合理的硬件模塊后,我們完成了系統(tǒng)的最終設(shè)計(jì)。圖4.9為所制作的實(shí)物,從圖上我們可以看出,系統(tǒng)包含了:WiFi模塊、傳感器模塊、蜂鳴器模塊、電源壓降模塊、單片機(jī)最小系統(tǒng)模塊和液晶顯示模塊。圖4.9甲醛監(jiān)測(cè)系統(tǒng)實(shí)物圖開(kāi)機(jī)界面顯示,如圖4.10:圖4.10系統(tǒng)的開(kāi)機(jī)畫(huà)面工作界面顯示,如圖4.11,其為在無(wú)甲醛氣體存在時(shí)的顯示結(jié)果。圖4.11系統(tǒng)的工作顯示畫(huà)面有甲醛氣體時(shí)的顯示結(jié)果,測(cè)得的甲醛濃度為0.10PPM,如圖4.12:圖4.12有甲醛氣體的顯示結(jié)果從上面的三個(gè)圖中我們可以看到,該系統(tǒng)實(shí)現(xiàn)了對(duì)甲醛氣體的有效監(jiān)測(cè),并且能通過(guò)液晶顯示出來(lái)。4.8本章小結(jié)本章中,我們完成了各模塊的軟件程序設(shè)計(jì),并且最終完成了程序編寫(xiě)和調(diào)試。在程序的編寫(xiě)時(shí),我們按照預(yù)想的那樣,將系統(tǒng)功能進(jìn)行模塊化。以串口通信程序?yàn)槔?,該子程序被設(shè)計(jì)為通用模塊,既可以完成單片機(jī)與傳感器模塊間的串口傳輸任務(wù),也可以完成單片機(jī)與WiFi模塊間的數(shù)據(jù)傳輸。程序編制時(shí)出現(xiàn)了很多問(wèn)題,為此我們翻閱了大量的資料,做了相當(dāng)多的程序調(diào)試。在程序編寫(xiě)完成后,我們先進(jìn)行了仿真測(cè)試,經(jīng)過(guò)反復(fù)的修改,最終得到了適宜的程序。在搭建好硬件系統(tǒng)后,我們燒入了完整的程序,隨后通過(guò)屢次的測(cè)試調(diào)整,使系統(tǒng)能夠正常的進(jìn)行工作。當(dāng)然,程序在實(shí)際硬件上的運(yùn)行出現(xiàn)了較多問(wèn)題,為之我們付出了不少的努力。至此,我們完成了整個(gè)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)。5實(shí)驗(yàn)與分析實(shí)驗(yàn)及操作:我們使用模擬室內(nèi)環(huán)境的裝置進(jìn)行實(shí)驗(yàn),該裝置為一個(gè)半封閉紙盒。由于甲醛氣體具有極高危險(xiǎn)性和而且較難制得,在實(shí)際實(shí)驗(yàn)中我們使用易于揮發(fā)的乙醇來(lái)代替甲醛。揮發(fā)出的乙醇?xì)怏w對(duì)傳感器會(huì)產(chǎn)生干擾,干擾程度與空氣中乙醇的濃度有關(guān),因此可以選
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 足浴店設(shè)備保養(yǎng)與健康管理方案
- 愛(ài)國(guó)主義教育在體育課上的滲透
- 金融投資報(bào)告專業(yè)匯報(bào)的構(gòu)成要素
- 建設(shè)工程施工合同的訂立學(xué)習(xí)情境五建設(shè)工程合同課件
- 跨境支付解決方案在電商平臺(tái)中的應(yīng)用
- 四川工商學(xué)院《漢語(yǔ)語(yǔ)言要素教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 高效語(yǔ)言學(xué)習(xí)提升跨文化交際能力
- 株洲師范高等??茖W(xué)?!渡鷳B(tài)學(xué)概論理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 海南外國(guó)語(yǔ)職業(yè)學(xué)院《建筑專業(yè)外語(yǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆江蘇省蘇州市楓華學(xué)校小升初易錯(cuò)點(diǎn)數(shù)學(xué)檢測(cè)卷含解析
- 2025年廣西職業(yè)院校技能大賽高職組(商務(wù)數(shù)據(jù)分析賽項(xiàng))參考試題庫(kù)資料及答案
- 2025年黑龍江農(nóng)墾職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案
- 四年級(jí)下冊(cè) 道德與法治 全冊(cè)教案
- 個(gè)人租房房屋合同范本
- MSA測(cè)量系統(tǒng)培訓(xùn)
- 冷庫(kù)安全培訓(xùn)
- 線上教育平臺(tái)教師教學(xué)行為規(guī)范與責(zé)任書(shū)
- 2025年內(nèi)蒙古法院系統(tǒng)招聘用制書(shū)記員2988人過(guò)渡高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 中央2025年全國(guó)婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫(kù)附帶答案詳解
- 《環(huán)境污染對(duì)生態(tài)系統(tǒng)的影響》課件
- 2024年保安員證資格考試題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論