• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      煙霧酒精報(bào)警器的設(shè)計(jì)與制作

      2019-07-13 01:45:46郭占苗
      關(guān)鍵詞:報(bào)警器字節(jié)煙霧

      郭占苗

      (蘇州大學(xué)應(yīng)用技術(shù)學(xué)院,江蘇 蘇州 215325)

      燃爆災(zāi)情時(shí)有發(fā)生,人類防患于未然的意識(shí)越來越強(qiáng),在很多生產(chǎn)現(xiàn)場(chǎng)禁煙,杜絕酒精等易燃?xì)怏w泄漏,以保證生產(chǎn)及人身的安全。在科技日新月異的今天,設(shè)計(jì)一種智能煙霧酒精報(bào)警系統(tǒng)用于高危生產(chǎn)現(xiàn)場(chǎng)顯得尤為重要。煙霧酒精報(bào)警器是用來監(jiān)測(cè)環(huán)境中煙霧和酒精的濃度,當(dāng)環(huán)境酒精濃度或煙霧濃度超過設(shè)定閾值后,報(bào)警器就會(huì)調(diào)取相應(yīng)的語音模塊中提前存儲(chǔ)的語音信息進(jìn)行報(bào)警,這樣就可以使值班工作人員及早發(fā)現(xiàn)事故隱患,及時(shí)采取安全措施,避免燃爆事故發(fā)生[1]。同時(shí),該煙霧酒精報(bào)警系統(tǒng)不但價(jià)格低廉,而且具有智能化,在油庫(kù)、化工場(chǎng)所和燃?xì)獾热菀装l(fā)生可燃煙霧和酒精泄露的高危場(chǎng)所均具有較大的實(shí)用價(jià)值。

      1 電路整體設(shè)計(jì)

      如圖1所示,智能煙霧酒精報(bào)警系統(tǒng)以STC15F2K60S2作為核心控制器件,傳感器選用MQ-2 型氣體傳感器實(shí)現(xiàn)對(duì)煙霧的檢測(cè),MQ-3對(duì)酒精濃度進(jìn)行檢查。傳感器將采集到的相關(guān)信息通過PCF8591芯片進(jìn)行AD轉(zhuǎn)換, 經(jīng)單片機(jī)處理后把信號(hào)傳給LCD12864顯示屏顯示。 當(dāng)超過煙霧和酒精閾值時(shí),播放MY2490-16P 語音模預(yù)設(shè)的聲音信息,通過揚(yáng)聲器輸出報(bào)警提示語音[2]。

      圖1 煙霧酒精報(bào)警器原理框圖

      圖2 主程序流程圖

      系統(tǒng)主程序流程圖如圖2所示,系統(tǒng)在初始化結(jié)束后,自動(dòng)執(zhí)行主程序并調(diào)用各個(gè)功能模塊子程序,完成對(duì)煙霧酒精濃度參數(shù)檢測(cè)、參數(shù)設(shè)置、顯示、報(bào)警等功能。當(dāng)系統(tǒng)上電開機(jī)初始化之后,煙霧酒精傳感器檢測(cè)周圍環(huán)境煙霧和酒精濃度,通過A/D轉(zhuǎn)換,在單片機(jī)中運(yùn)算處理數(shù)據(jù),當(dāng)超過閾值時(shí),系統(tǒng)執(zhí)行報(bào)警程序。

      2 軟件程序設(shè)計(jì)

      2.1 傳感器數(shù)據(jù)采集與按鍵模塊設(shè)計(jì)

      傳感器MQ-2通常被用在家庭或工廠的氣體泄漏監(jiān)測(cè)裝置,并適用于對(duì)液化天然氣,丁烷,丙烷,甲烷,乙醇,氫氣和煙霧等化學(xué)物品的檢測(cè)。MQ-3型傳感器是酒精傳感器,當(dāng)檢測(cè)到所處環(huán)境中存在酒精蒸汽時(shí),傳感器的電導(dǎo)率隨空氣中酒精氣體濃度的增加而增加[3],其模擬端(A0)的輸出電壓信號(hào)與酒精濃度的特性曲線近似為線性關(guān)系,輸出端連接到AD轉(zhuǎn)換器的2腳將模擬量轉(zhuǎn)化為與傳感器檢測(cè)濃度相對(duì)應(yīng)的數(shù)字量。無論是酒精傳感器還是煙霧傳感器的濃度檢測(cè),程序設(shè)計(jì)上限調(diào)節(jié)數(shù)值范圍設(shè)置均為“100”,根據(jù)實(shí)際需求可以對(duì)參數(shù)進(jìn)行修改設(shè)置。

      在按鍵模塊中,單片機(jī)P42接的是設(shè)置鍵,P35是“+”鍵,按下一次按鍵數(shù)值加1,P34是“-”鍵,按下一次按鍵數(shù)值減1,可以用來調(diào)整閾值參數(shù)的范圍。初始值將煙霧的上限設(shè)置為“72”,酒精的濃度上限設(shè)置為“80”。在按鍵掃描函數(shù)中,首先對(duì)設(shè)置鍵進(jìn)行按鍵判斷,按鍵按下一次,執(zhí)行“key1n++;”,因?yàn)橛袩熿F和酒精兩種傳感器的初值和閾值共四個(gè)參數(shù)可以進(jìn)行設(shè)置,所以執(zhí)行語句“if(key1n==4) key1n=1;”,可以通過按鍵設(shè)置四個(gè)參數(shù)的值[4]。進(jìn)一步,利用“if”和“switch”語句,對(duì)閾值和初值進(jìn)行修改,最后調(diào)用LCD12864液晶寫數(shù)據(jù)函數(shù)

      進(jìn)行顯示,液晶顯示煙霧傳感器值的十位和個(gè)位,同理可以顯示酒精傳感器的值。

      2.2 A/D轉(zhuǎn)換模塊設(shè)計(jì)

      傳感器輸出的數(shù)據(jù)要通過A/D轉(zhuǎn)換模塊PCF8591進(jìn)行轉(zhuǎn)換再傳給單片機(jī)控制揚(yáng)聲器播放相應(yīng)的報(bào)警音樂。A/D轉(zhuǎn)換模塊的核心器件PCF8591的通信協(xié)議是I2C,其主要內(nèi)容包括起始信號(hào),數(shù)據(jù)傳輸,應(yīng)答部分和結(jié)束信號(hào)程序的編寫,在編程時(shí)要符合I2C協(xié)議[5]。根據(jù)I2C協(xié)議的通信流程圖可知,編寫起始信號(hào)程序時(shí),要求在SCL為高電平期間,SDA由高到低產(chǎn)生一個(gè)下降沿,數(shù)據(jù)傳輸時(shí),與UART不同的是,按照高位在前低位在后的順序傳輸,而且數(shù)據(jù)在SCL低電平時(shí)候變化,SCL為高電平時(shí)讀取數(shù)據(jù)[6]。由PCF8591地址字節(jié)可知,寫地址字節(jié)是“0X90”,讀字節(jié)地址是“0X91”,當(dāng)SDA為低電平時(shí),表示有應(yīng)答,為高電平時(shí)無應(yīng)答,最后,在SCL為高電平期間,SDA由低到高產(chǎn)生一個(gè)上升沿表示信號(hào)結(jié)束。根據(jù)設(shè)計(jì)原理圖,MQ-3酒精報(bào)警器接PCF8591的AIN1,MQ-2煙霧報(bào)警器的輸出端接PCF8591的AIN0,通過調(diào)用函數(shù)“Pcf8591_Send(1)”發(fā)送通道1轉(zhuǎn)換命令,再調(diào)取“Pcf8591_Read( );”讀函數(shù),將讀出的值送給變量“MQ-3”與提前設(shè)定的閾值進(jìn)行比較,超過閾值時(shí)報(bào)警。因?yàn)镻CF8591是8位逐次逼近型ADC,液晶顯示的最大可調(diào)參數(shù)為“100”,所以通過“MQ_3=(MQ_3*100/255”語句將其轉(zhuǎn)換為顯示數(shù)值范圍為“0-100”之間,同樣的思路可以編寫對(duì)MQ-2煙霧報(bào)警器的參數(shù)進(jìn)行A/D轉(zhuǎn)換。

      2.3 語音報(bào)警模塊設(shè)計(jì)

      語音報(bào)警設(shè)計(jì)主要采用MY2490-16P語音模塊,該模塊的10腳和11腳連接揚(yáng)聲器,其7腳(RX)和8腳(TX)分別于單片機(jī)的P3.1和P3.0相連進(jìn)行UART串口通信[7]。串口發(fā)送數(shù)據(jù)函數(shù):

      系統(tǒng)上電顯示為煙霧和酒精濃度均未超過閾值時(shí),揚(yáng)聲器播報(bào)存儲(chǔ)卡里面的指定合成語音“歡迎使用煙霧酒精報(bào)警系統(tǒng)”,該語音信息存儲(chǔ)在“03”號(hào)歌曲中,如果傳感器檢測(cè)到的數(shù)據(jù)超過了閾值就會(huì)播放語音模塊中存儲(chǔ)的相應(yīng)音樂信息,當(dāng)執(zhí)行語句“if(MQ_2>=yanwu_num )”時(shí),說明煙霧值超過閾值,則播報(bào)“02”號(hào)歌曲中語音信息,同理,當(dāng)執(zhí)行條件滿足“if(MQ_3>=jiujing_num)”時(shí),則播報(bào)“01”歌曲中的信息,共三首歌曲均存放在“01”號(hào)文件夾中。根據(jù)MY2490-16P語音模塊協(xié)議的控制命令格式可知,起始碼為“0X7E”,結(jié)束碼為“0XEF”。每隔20 ms延時(shí)串口分別依次往出發(fā)送“起始碼”“長(zhǎng)度”“操作碼”“文件夾號(hào)”“歌曲名”“校驗(yàn)碼”和“結(jié)束碼”數(shù)據(jù),其中校驗(yàn)碼為“長(zhǎng)度”“操作碼”“文件夾號(hào)”和“歌曲名”數(shù)值的異或值[8],通過該方式可實(shí)現(xiàn)指定文件夾曲目播放功能。

      2.4 LCD12864液晶顯示模塊設(shè)計(jì)

      為節(jié)省單片機(jī)的IO口,LCD12864的15引腳接低電平,工作為串行模式。串行數(shù)據(jù)傳送共分為三個(gè)字節(jié),第一個(gè)字節(jié)的格式“1111ABC”(A為數(shù)據(jù)傳送方向控制,B為數(shù)據(jù)類型選擇,C固定為0),第二個(gè)字節(jié)是并行八位數(shù)據(jù)傳送的高四位,第四位補(bǔ)零,第三個(gè)字節(jié)是并行八位數(shù)據(jù)傳送的低四位。并行操作時(shí),向液晶寫的八位數(shù)據(jù)[9]。

      編寫液晶程序時(shí),先進(jìn)行液晶初始化,初始化液晶先延時(shí)大于40毫秒的時(shí)間,選擇基本指令集,寫入“write_com(0x30);”進(jìn)行選擇8bit的數(shù)據(jù)流,寫入“write_com(0x0c);”實(shí)現(xiàn)整體顯示,游標(biāo)關(guān),不反白功能,通過寫入“write_com(0x01);”實(shí)現(xiàn)清除顯示,并且設(shè)定地址指針為00H(即光標(biāo)恢復(fù)到起點(diǎn))功能。其中調(diào)用到寫指令函數(shù),則編寫寫指令“void write_com(uchar com )”函數(shù),

      寫指令時(shí),將“RS=0;”“RW=0;”“E”由高變低,送命令參數(shù)給寫字節(jié)函數(shù),最后進(jìn)行延時(shí)操作。同樣思路可編寫寫數(shù)據(jù)函數(shù),與寫指令不同之處就是將“RS=1;”,然后將數(shù)據(jù)送給寫字節(jié)函數(shù)。寫字節(jié)時(shí),數(shù)據(jù)分兩次發(fā)送,先發(fā)送高位數(shù)據(jù)再發(fā)送低位數(shù)據(jù),并且一個(gè)字節(jié)分高低四位分別發(fā)送,通過命令地址或者數(shù)據(jù)先與“0XF0”相與發(fā)送高四位,然后右移4位后與“0XF0”相與發(fā)送低四位的順序進(jìn)行傳輸。

      根據(jù)LCD12864的漢字顯示坐標(biāo),第一行到第四行的起始地址分別是“0X80”“0X90”“0X88”“0x98”,每行可寫8個(gè)漢字或者16個(gè)字符(ASCII碼),注意在編寫時(shí),如果一個(gè)地址為一個(gè)字符時(shí),則要再加一個(gè)空格,否則會(huì)顯示亂碼。系統(tǒng)上電后顯示通過調(diào)用程序“l(fā)cd_pos(1,0); chinese("初始化中...");”讓液晶顯示漢字“初始化化中...”延時(shí)很短時(shí)間后,接著顯示主界面,第一行顯示“煙霧酒精報(bào)警系統(tǒng)”,第二行為MQ-2煙霧報(bào)警的初值和閾值,第三行為MQ-3酒精報(bào)警的初值與閾值,此時(shí)也可以操作按鍵調(diào)節(jié)初值或閾值參數(shù)。其中編寫寫漢字程序時(shí),用指針指向每行的首地址,當(dāng)一行沒結(jié)束時(shí),指針加加,指向下一個(gè)字的地址的方式實(shí)現(xiàn)[10],主要代碼是“while(*p!='

      宜宾县| 华蓥市| 襄垣县| 阜阳市| 渭源县| 平谷区| 漳州市| 荣昌县| 榆中县| 广元市| 漠河县| 包头市| 米泉市| 韶关市| 金山区| 祁东县| 安庆市| 濉溪县| 贡觉县| 谷城县| 巧家县| 金昌市| 祁东县| 宁城县| 隆回县| 额敏县| 民乐县| 长兴县| 教育| 光泽县| 浦北县| 成安县| 石台县| 开阳县| 太原市| 富裕县| 平度市| 仁化县| 锦屏县| 黎平县| 梁山县|