《空氣質(zhì)量檢測(cè)儀的軟件設(shè)計(jì)機(jī)械制造專業(yè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《空氣質(zhì)量檢測(cè)儀的軟件設(shè)計(jì)機(jī)械制造專業(yè)(9頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第四章 空氣質(zhì)量檢測(cè)儀的軟件設(shè)計(jì)
4.1 系統(tǒng)軟件設(shè)計(jì)思路
4.1.1編程語(yǔ)言的選擇
硬件設(shè)計(jì)結(jié)束之后,剩下的主要任務(wù)是軟件設(shè)計(jì)。使用不同軟件會(huì)導(dǎo)致硬件系統(tǒng)功能出現(xiàn)差異,具體設(shè)計(jì)標(biāo)準(zhǔn)為:
1. 可靠性
設(shè)計(jì)的關(guān)鍵指標(biāo)是可靠性,具備強(qiáng)大的抗干擾實(shí)力。
2. 便于維護(hù)、便于理解
所設(shè)計(jì)的軟件需要讓人輕松閱讀、了解和使用,便于改正問(wèn)題,進(jìn)行修改與擴(kuò)充。
3. 準(zhǔn)確性
確保信息記載的精確性,提高系統(tǒng)精確度。
4. 實(shí)時(shí)性
系統(tǒng)可以及時(shí)響應(yīng)外部情況,并及時(shí)作出反饋,進(jìn)行處理。
當(dāng)前出現(xiàn)四種語(yǔ)言可以使用,PL/M51語(yǔ)言、匯編語(yǔ)言、C語(yǔ)言、BASI語(yǔ)言。使用相對(duì)普遍的是匯
2、編與C語(yǔ)言,前者的機(jī)器代碼控制性突出,綜合效率較高,但是它的移植性不高。而C語(yǔ)言的特點(diǎn)主要有:有良好的移植性,存儲(chǔ)空間占用小,編制的程序效率高,運(yùn)行速度較快??梢约皶r(shí)反應(yīng)計(jì)算機(jī)的實(shí)際情況,此外能寫(xiě)出效率高的程序;其能和接口電路、存儲(chǔ)器聯(lián)系,也能申請(qǐng)中斷;其便于閱讀與維修,并且具有良好的模塊化。根據(jù)本系統(tǒng)的要求及特點(diǎn),使用C語(yǔ)言進(jìn)行編寫(xiě)。
4.1.2 軟件功能需求
家用空氣質(zhì)量檢測(cè)儀一般包含核心控制器、溫濕度傳感器采集、人機(jī)接口、AD轉(zhuǎn)換等多個(gè)模塊。不同模塊的主要功能參考下表內(nèi)容:
表4.1 各模塊功能描述
Table4.1 Each module function descript
3、ion
功能模塊
功能描述
溫濕度傳感器采集模塊
對(duì)室內(nèi)溫濕度進(jìn)行實(shí)時(shí)監(jiān)測(cè)
AD轉(zhuǎn)換模塊
完成信號(hào)采集與數(shù)據(jù)傳輸
核心控制模塊
系統(tǒng)時(shí)基分配,人機(jī)接口控制
人機(jī)接口模塊
按鍵控制,動(dòng)態(tài)信息顯示
甲醛傳感器采集模塊
對(duì)室內(nèi)甲醛氣體進(jìn)行實(shí)時(shí)監(jiān)控
聲光報(bào)警器模塊
及時(shí)報(bào)警
4.1.3 低功耗軟件設(shè)計(jì)
對(duì)低功耗系統(tǒng)來(lái)說(shuō),設(shè)計(jì)的關(guān)鍵性被大眾所輕視。此處主要原因是,假如硬件出現(xiàn)問(wèn)題會(huì)直接表現(xiàn)出來(lái),但對(duì)于軟件來(lái)說(shuō),不但比較難于發(fā)現(xiàn)問(wèn)題,有時(shí)甚至找不到問(wèn)題所在。此外,目前并不存在相對(duì)嚴(yán)苛的標(biāo)準(zhǔn)來(lái)判定軟件的低功耗屬性。但是依舊需要把低功耗特性呈現(xiàn)在軟件內(nèi),進(jìn)而降低綜合功耗。
4、
4.2 軟件模塊設(shè)計(jì)
4.2.1主程序模塊設(shè)計(jì)
在硬件已經(jīng)確定的基礎(chǔ)上,要用軟件來(lái)實(shí)現(xiàn)其需要達(dá)到的功能。相比較其它語(yǔ)言,C語(yǔ)言程序可讀性強(qiáng)、編寫(xiě)方便、快捷。所以,本系統(tǒng)釆用C語(yǔ)言編寫(xiě)。軟件要具備現(xiàn)實(shí)功能是,籌集傳感器信號(hào),之后開(kāi)展信息研究與統(tǒng)計(jì),把其傳送且呈現(xiàn)到液晶顯示屏上,設(shè)計(jì)報(bào)警功能。系統(tǒng)程序順利開(kāi)啟時(shí),提前實(shí)施初始化,此處包含,單片機(jī)的RAM、寄存器、定時(shí)器裝載初值、不同模塊初始化和中斷設(shè)計(jì)等。全部完結(jié)之后,CPU等待傳感器進(jìn)入信號(hào),AD轉(zhuǎn)換完結(jié),進(jìn)而呈現(xiàn)出精準(zhǔn)的監(jiān)控參數(shù)。上述系統(tǒng)借助模塊化的結(jié)構(gòu),包含參數(shù)設(shè)定的子程序、主程序以及初始化的程序進(jìn)行構(gòu)成。
當(dāng)程序開(kāi)始運(yùn)作的時(shí)
5、候,應(yīng)先對(duì)溫濕度傳感器、51型號(hào)的單片機(jī)實(shí)行初始化,之后通過(guò)采用鍵盤(pán)對(duì)溫濕度以及甲醛的參考值進(jìn)行設(shè)置。傳感器進(jìn)而開(kāi)始對(duì)溫濕度以及甲醛濃度數(shù)據(jù)進(jìn)行采集,同時(shí)和參考值進(jìn)行比較。要是這些數(shù)據(jù)比設(shè)定值要大的話,蜂鳴器將會(huì)發(fā)出一些警報(bào)聲,LED燈會(huì)閃爍告知人們應(yīng)采取一定的措施去改善空氣的質(zhì)量,并且對(duì)于傳感器采集到的一些數(shù)據(jù),LCD 顯示器將會(huì)顯示出,方便人們對(duì)空氣超標(biāo)參數(shù)進(jìn)行采取適當(dāng)?shù)男袆?dòng)。要是這些數(shù)據(jù)比設(shè)定值小的話,LCD 將會(huì)顯示出此刻的數(shù)據(jù),一直到下次采集到的數(shù)據(jù)傳輸過(guò)來(lái)。如圖4.1:
圖4.1 流程圖
Fig.4.1
4.2.2 AD轉(zhuǎn)換模塊
AD轉(zhuǎn)化需要相應(yīng)時(shí)期,此時(shí)使用中斷查詢法
6、或延時(shí)等待法。前者就是AD結(jié)束轉(zhuǎn)換之后,向中斷輸出端輸出中斷請(qǐng)求信息,告知CPU結(jié)束轉(zhuǎn)換,可讀取信息。后者就是設(shè)置一段可以讓AD完成轉(zhuǎn)換的時(shí)間,讓CPU位于等待狀態(tài),在此時(shí)間結(jié)束之后,CPU再進(jìn)行數(shù)據(jù)的讀取。
整合本設(shè)計(jì)需求和相關(guān)條件,采用延時(shí)等待法。如圖4.2
圖4.2 AD流程圖
Fig.4.2
4.2.3液晶顯示模塊
本設(shè)計(jì)主要使用可顯示32字符的1602液晶顯示面板,符合現(xiàn)實(shí)需求。1602和CPU并口通信,由單片機(jī)的P2.5、P2.6、P2.7引腳控制1602的讀寫(xiě)信息命令的功能,P0口把信息傳送到1602呈現(xiàn)。
系統(tǒng)上電后,LCD開(kāi)始初始化,液晶顯示按照時(shí)序給定
7、顯示地址,然后進(jìn)行數(shù)據(jù)傳輸。上電后,液晶顯示屏開(kāi)始循環(huán)顯示三個(gè)被測(cè)量的范圍以及測(cè)量結(jié)果。如圖4.3
圖4.3 顯示模塊工作流程圖
Fig.4.3
4.2.4聲光報(bào)警模塊
采用蜂鳴器進(jìn)行聲音報(bào)警,通過(guò)3個(gè)綠色以及3個(gè)紅色的發(fā)光二極管進(jìn)行光報(bào)警,當(dāng)甲醛等有毒氣體含量沒(méi)有超過(guò)測(cè)量范圍時(shí),顯示綠色,當(dāng)含量超標(biāo)時(shí),顯示紅色,此外開(kāi)啟蜂鳴器報(bào)警。子程序開(kāi)啟之前,設(shè)置具體閾值,儲(chǔ)存在不同變量中,傳感器輸入AD轉(zhuǎn)換值之后,開(kāi)啟比較程序,低于閾值,就開(kāi)啟顯示程序,高于閾值,需要開(kāi)啟聲光報(bào)警。參考圖4.4
圖4.4 聲光報(bào)警流程圖
Fig.4.4
4.2.5按鍵模塊
設(shè)計(jì)按鍵功
8、能,是為了可以手動(dòng)調(diào)整測(cè)量數(shù)據(jù)的安全范圍,并進(jìn)行手動(dòng)和自動(dòng)的切換,本設(shè)計(jì)選用了五個(gè)獨(dú)立式按鍵,設(shè)定鍵用來(lái)進(jìn)入、退出上下限調(diào)節(jié),在設(shè)定鍵缺少按下且上調(diào)鍵按下時(shí),轉(zhuǎn)入上調(diào)鍵的第二個(gè)功能,完成用戶手動(dòng)與自動(dòng)控制的切換。
4.2.6甲醛傳感器模塊
由于室內(nèi)的甲醛氣體對(duì)人體的危害甚大,而各種家居設(shè)備、裝修時(shí)用到的工具原料等都會(huì)產(chǎn)生甲醛氣體并潛伏在室內(nèi)。因此,對(duì)于甲醛的檢測(cè),設(shè)計(jì)選擇英國(guó) DART SENSORS 甲醛傳感器,其可以相對(duì)精準(zhǔn)的測(cè)試目前甲醛的濃度值,屬于定量檢測(cè),并可以對(duì)數(shù)據(jù)進(jìn)行精確計(jì)算及處理, 而不會(huì)產(chǎn)生較大的誤差。對(duì)于小孩或者一些抵抗力較低的人而言,若檢測(cè)的甲醛數(shù)值處于國(guó)家標(biāo)準(zhǔn)值
9、附近,對(duì)其身體還是有很大危害的。因此定量的檢測(cè)可以得到當(dāng)前具體的甲醛數(shù)值而進(jìn)行相應(yīng)的處理。甲醛傳感器主要利用空氣內(nèi)甲醛氣體 分子和電解液彼此影響,正負(fù)極上會(huì)出現(xiàn)氧化還原反應(yīng),產(chǎn)生電流信號(hào),在一般情況下,空氣中的甲醛氣體濃度很低, 所以產(chǎn)生的電流信號(hào)也很微小, 其輸出電流為250-300nA/ppm。所以,在傳感器輸出電流的電路中串入 1M? 的電阻,使電流信號(hào)轉(zhuǎn)換成電壓信號(hào),而此時(shí)的電壓值是毫伏級(jí)的,即可得出當(dāng)前空氣中的甲醛濃度值。程序流程如圖4.2
圖4.2 甲醛傳感器流程圖
Fig.4.2
4.2.7溫濕度傳感器模塊
DHT11 傳感器采用單總線數(shù)據(jù)傳輸方式,完成傳輸數(shù)據(jù)所需時(shí)間大概是 4ms ,傳輸內(nèi)容包含溫濕度的小數(shù)以及整數(shù)部分、校驗(yàn)和,傳輸一次完整的數(shù)據(jù)為 40 比特,這 40 比特?cái)?shù)據(jù)中前 16 比特是濕度信息,此處前 8比特傳輸?shù)氖菨穸鹊恼麛?shù)辦法呢,后 8 比特傳送其小數(shù)部分;之后傳送的 16 比特是溫度信息,此處前 8 比特是溫度的整數(shù)部分,后 8 比特則是小數(shù)部分;最終傳輸?shù)?8 比特是校驗(yàn)和,當(dāng)傳輸?shù)臏囟群蜐穸刃畔⒄_時(shí),8 比特的校驗(yàn)和等于溫度與濕度的8 位整數(shù)部分與 8 位小數(shù)部分的結(jié)果末 8 位。