李浩 儲珂 胡飄 陳悅 李子昂
摘要:設計了基于STC12C5A60S2單片機的一氧化碳檢測報警儀。該儀器具有一氧化碳濃度實時檢測、顯示和聲光報警等功能,采用MQ-7傳感器實時采集空氣內的一氧化碳濃度,通過AD7887進行A/D轉換,將所得到的數(shù)字量與單片機事先規(guī)定好的閾值進行比對,如果超過閾值,通過LCD12864液晶模塊顯示一氧化碳濃度,并進行聲光報警。該一氧化碳檢測報警儀具有成本低廉、識別精度高的優(yōu)點,完全可以滿足室內一氧化碳濃度檢測的需要。
關鍵詞:STC12C5A60S2;一氧化碳檢測儀;報警系統(tǒng)
0 ? ?引言
一氧化碳作為一種無色、無味的氣體,吸入后會與人體內的血紅蛋白相結合,對人體產生巨大的傷害。在現(xiàn)實生活中,一氧化碳中毒事件通常都是發(fā)生在人們并不知情的情況下,因此急需一種能夠實時、準確監(jiān)測室內一氧化碳濃度的一氧化碳檢測儀,來保證廣大人民的生命財產安全[1]。本系統(tǒng)設計的這一款一氧化碳檢測儀,采用電化學傳感器實現(xiàn)氣體傳感,通過A/D轉換技術將得到的數(shù)字量與預設值進行比對,如果超出預設值,則進行相應的液晶顯示和聲光報警,以此來提醒相關人員及時進行通風通氣,從而有效避免事故的發(fā)生。
1 ? ?系統(tǒng)總體設計
一氧化碳檢測系統(tǒng)主要由微處理器、一氧化碳傳感器、A/D轉換器、LCD液晶顯示器等硬件組成,具體檢測流程如圖1所示。該系統(tǒng)以微處理器為核心,芯片采用STC12C5A60S2,選用市場上常見的MQ-7一氧化碳傳感器進行信號的采集,采集的信號經(jīng)過處理以后,通過A/D轉換器轉變成數(shù)字量,所得到的數(shù)字量與單片機事先規(guī)定好的閾值進行比對,如果未超過閾值,則自動忽略。如果超過閾值,則進行相應的數(shù)據(jù)處理,進行聲光報警,同時將轉化后的數(shù)字量信號傳入LCD顯示器,通過LCD可以有效地將相應的氣體濃度值顯示出來。整機主要實現(xiàn)了對一氧化碳濃度的實時監(jiān)測,并能及時反饋監(jiān)測結果;必要時還可設計與PC機通信單元連接,將一段時間內所測數(shù)據(jù)采集存儲起來,然后通過RS485總線上傳到PC機,供技術人員進行查看、預測。
2 ? ?整體硬件設計
2.1 ? ?微處理器模塊設計
在我們所設計的這套系統(tǒng)中采用的微處理器是STC12C5A60S2單片機,它是由宏晶公司生產的單時鐘的單片機[2],相比于之前的51單片機,一方面,這款單片機的指令代碼可以完全兼容傳統(tǒng)8051單片機代碼,使代碼具有更好的通用性,極大地減少了程序員的工作量;另一方面,這款單片機在傳統(tǒng)的8051單片機基礎上,性能得到了大幅度的提高,具有更好的適用場景與適用方向。
2.2 ? ?氣體傳感模塊設計
本系統(tǒng)采用的MQ-7[3]氣體傳感器所依據(jù)的原理是通過高低溫循環(huán)檢測方式檢測一氧化碳的濃度,該傳感器的電導率隨一氧化碳濃度的增大而增大,通過設計簡單的測試電路就可以將傳感器中電導率的變化,轉換為與一氧化碳氣體濃度相對應的輸出信號進行輸出,從而完成傳感器的信號采集任務。圖2所示為具體的MQ-7電路實驗圖。
2.3 ? ?顯示模塊設計
本系統(tǒng)采用的帶中文字庫的LCD12864是一種既具有8位并行、2線串行的多種接口方式,同時內部也含有國標一級或二級簡體中文字庫的點陣液晶顯示模塊,該LCD顯示器顯示分辨率為128×64,內置8 192個16×16點漢字庫,其具有低電壓、低功耗的顯著特點,所以非常適用于長期顯示字體。
2.4 ? ?聲光報警模塊設計
聲音報警模塊主要選用壓電式蜂鳴器。當系統(tǒng)所轉化的數(shù)字量與報警閾值相比較后大于所設定的閾值,會輸出相應信號,驅動聲音報警,如圖3所示。在圖中,P26接三極管基極輸入端,當P26輸出高電平1時,三極管處于導通狀態(tài),電路導通,蜂鳴器通電而發(fā)音;當P26輸出低電平0時,三極管處于截止狀態(tài),電路斷開,此時蜂鳴器停止發(fā)音。
本系統(tǒng)所設計的光報警模塊主要由發(fā)光二極管及相應電路組成,如圖4所示。當對應端口輸出低電平時,二極管處于導通狀態(tài),電路導通,發(fā)光二極管發(fā)出光亮來提醒用戶及時采取預防措施。
3 ? ?整體軟件設計
3.1 ? ?軟件開發(fā)環(huán)境
STC12C5A60S2可以說是51單片機的升級版,要想進行好的開發(fā),選擇良好的運行環(huán)境必不可少。于是本系統(tǒng)選用常見且上手較快的開發(fā)工具KEIL MDK進行整體軟件的開發(fā)。
KEIL C51是美國KEIL Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與其他語言相比,C語言不僅好學易用,而且更適用于底層硬件的開發(fā)。KEIL將包括C編譯器、宏匯編器、鏈接器、庫管理器和仿真調試器等在內的全部所需工具,最終通過一個集成開發(fā)環(huán)境組合在一起,從而大大較少了程序員的勞動量。
3.2 ? ?系統(tǒng)軟件開發(fā)流程
整體軟件的編程采用C語言,運行環(huán)境為KEIL μVision4。整個軟件設計包括主程序模塊設計、A/D轉換模塊設計、顯示模塊設計和聲光報警模塊設計。系統(tǒng)的整體流程圖如圖5所示。首先通過系統(tǒng)中一氧化碳傳感器將信號采集過來,進行信號增強等處理,通過A/D轉換器進行模擬—數(shù)字轉化,將得到的數(shù)字量與存儲器中的閾值進行比較,如果大于相應的閾值,則判定為一氧化碳超出標準,相應的端口輸出低電平,三極管導通,電路連通,進行聲光報警;反之,當數(shù)據(jù)小于相應的閾值,則停止報警。
3.3 ? ?A/D開發(fā)流程
在本系統(tǒng)中,根據(jù)實時采集到的A/D內置寄存器中的數(shù)據(jù),通過一定的對應關系可以進一步計算出I/O口的電壓,再利用所得到的電壓就可以反推出傳感器所測得的氣體濃度。使用ADC內置函數(shù)可以得到一氧化碳傳感器輸出的電壓值,繼續(xù)使用另一個ADC內置函數(shù)即可換算出一氧化碳氣體濃度。
3.4 ? ?顯示部分和聲光報警部分開發(fā)流程
在本模塊中,字符和漢字均是以點陣的形式進行存儲的,LCD的顯示也是用16×16的點陣數(shù)據(jù)來確定的。具體的確定方式為由每一個二進制位數(shù)來表示每一個點,在LCD上如果顯示亮點就表示該點存入的是1,顯示暗點就表示存入的值是0。當需要寫入漢字時,事先進行引腳配置,進行數(shù)字1與0的配置之后,就可以進行漢字的顯示。通過A/D轉換得到所需數(shù)字量之后,與內置存儲器中所存值比較大小,如果高于所存值則輸出低電平,驅動聲光報警電路,之后導通三極管觸發(fā)蜂鳴器進行聲音報警,并點亮二極管進行提示。
4 ? ?結語
近年來,我國衛(wèi)生、環(huán)保、建筑各部門陸續(xù)出臺了一系列有關室內環(huán)境空氣污染控制和室內空氣質量的標準或規(guī)定[4]。針對以上規(guī)定,本文提出了一種一氧化碳檢測報警儀,其成本低廉、使用簡單,設計的主要優(yōu)點在于:(1)使用場景廣泛,這套裝置可以適用于家庭內部、農家大棚內等;(2)使用簡單,使用這套裝置無需過多操作,將裝置通電放到所需場景中即可,由于低功耗,可以使用很長時間;(3)成本低廉,這套裝置所需成本低,檢測精度高,所以具有非常廣泛的使用前景。
[參考文獻]
[1] 李瑞福.基于單片機AT89C51的一氧化碳濃度檢測儀設計[J].軟件,2015,36(9):106-108.
[2] 涂菁,張輝,楊錠康,等.基于STC12C5A60S2的智能滅火小車的研究[J].工業(yè)控制計算機,2020,33(5):148-149.
[3] 張鯤,陳美伊,李壯,等.基于單片機火災報警系統(tǒng)設計原理及方案的比較分析與研究[J].新型工業(yè)化,2014,4(2):74-77.
[4] 薛嬌嬈.室內空氣環(huán)境監(jiān)測技術的現(xiàn)狀及問題[J].綠色科技,2016(20):59-60.
收稿日期:2020-07-07
作者簡介:李浩(1998—),男,內蒙赤峰人,研究方向:信號處理。