<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PIC16F87X單片機的火災報警系統設計

基于PIC16F87X單片機的火災報警系統設計

作者: 時(shí)間:2008-08-21 來(lái)源:網(wǎng)絡(luò ) 收藏
引言

  是各行各業(yè)必需的一種安全系統網(wǎng)絡(luò ),可靠的監測與數據傳輸是該系統非常重要的環(huán)節。

  以往的經(jīng)常會(huì )出現總線(xiàn)上的數據沖突、長(cháng)距離數據傳輸的不可靠以及不易擴展等問(wèn)題,隨著(zhù)近年來(lái)一些低價(jià)格、高性能被廣泛應用于各個(gè)電路系統,尤其是電路控制等方面,這些問(wèn)題都得到了一定的改善。

  本系統采用了美國微芯公司生產(chǎn)的運行速度快、功耗低且驅動(dòng)能力強的系列,作為該系統電路的邏輯控制、總線(xiàn)偵聽(tīng)以及數據讀取與發(fā)送單元,解決了可靠數據監測以及長(cháng)距離傳輸所面臨的問(wèn)題,可以準確地遠程監視發(fā)生地點(diǎn)。

  硬件

  系統硬件電路

  系統基本工作原理如圖1所示。傳感器輸出的電流信號經(jīng)過(guò)電流轉換電壓電路變?yōu)殡妷盒盘?,然后由信號放大電路將信號轉化為適合模數轉換器件(A/D)的輸入信號,最后將數字化的采樣結果送入,分析該數據是否已經(jīng)達到了火災效應。

  若分析得到有火災發(fā)生時(shí),先進(jìn)行總線(xiàn)偵聽(tīng),當總線(xiàn)“空閑”時(shí)則單片機立即讀出外部ROM事先存儲好的有關(guān)室內所有的信息數據(包括報警裝置的放置位置),然后發(fā)送數據并將這些重要數據送到部門(mén)遠程監視系統的液晶顯示器LCD上,最后輸出連續脈沖信號,通過(guò)驅動(dòng)電路驅動(dòng)報警喇叭以提醒監視人員有火災危險。

  傳感器介紹及其外圍電路的

  該系統使用的傳感器為HS系列一氧化碳電化學(xué)氣體傳感器,以定電位電解為基本原理。當一氧化碳擴散到氣體傳感器時(shí),其輸出端產(chǎn)生電流輸出,起著(zhù)將化學(xué)能轉化為電能的作用。當一氧化碳氣體濃度發(fā)生變化時(shí),氣體傳感器的輸出電流也隨之成正比變化。

  傳感器測定范圍:0-1000ppm

  輸出電流:4010nA/ppm

  工作氣壓:1atm 10%

  將電流信號轉換為電壓信號是引入一個(gè)電阻R1,將0~40mA的電流信號轉換為0~4V的電壓信號,然后進(jìn)行放大濾波。圖中OPA637接成電壓跟隨方式,它的輸入阻抗很高,可以減少對R1的分流作用。OP07接成運放電路,可以通過(guò)調節Rf的大小來(lái)改變運放的閉環(huán)增益,以調節為適應于A(yíng)/D的電壓輸入范圍。

  的特性

  PIC16F87X是微芯(Microchip)公司于1998年年底推出的產(chǎn)品,采用哈佛總線(xiàn)結構,指令單字節化,尋址方式簡(jiǎn)單,精簡(jiǎn)指令 集(RISC)技術(shù),僅有35條指令。它運行速度快,功耗低,驅動(dòng)能力強,具備有USART模塊和MSSP模塊,程序保密性強,目前尚無(wú)其他辦法對其直接進(jìn)行解密拷貝。它的一大特征是片內帶有64、128或256字節的EEPROM數據存儲器,另外其程序存儲器是Flash型存儲器,這種存儲器可以實(shí)現在電路板上直接擦/寫(xiě)程序。

  PIC16F87X與外部串型存儲器ROM的硬件連接

  在選擇外部存儲器ROM時(shí),由于要在安裝報警器前通過(guò)單片機將與安裝地點(diǎn)有關(guān)的重要信息全部寫(xiě)入外部存儲器中,所以必須使用容量較大的靜態(tài)存儲器ROM,以便寫(xiě)入盡可能多的數據信息且掉電后數據不易丟失。當有火災發(fā)生時(shí),單片機立即在其RA0口模擬出移位時(shí)鐘CLK,并輸入給外部存儲器ROM的CLK引腳,同時(shí)RA1口向 SI口發(fā)送讀 命令,最后從存儲器SO輸出口讀取已經(jīng)保存好的數據,并立即將這些數據送入部門(mén)遠程監視系統的顯示器上。

  在考慮PIC單片機與本系統所選的外部串行存儲器AT25F1024的引腳 連接時(shí),由于PIC16F87X供電電源為 V CC =5V,輸出為 CMOS電平,即輸出 高電平約5V,低電平約0V。但是其 輸入為T(mén)T L電平,而供電電壓為2.7V~3.6V左右的AT25F1024,其V LL 在?0.6V~ 0.3V CC 之間,V IH 在0.7V CC ~V CC +0.5之間 。所以如果將單片機和ROM直接連接, 當單 片機輸出高電 平給ROM時(shí),該值將超過(guò)ROM的輸入門(mén)限值,此 刻就有可 能出現無(wú)法識別數據或燒毀存儲器管腳的情況 。 但是 ,AT25F1024的輸出可以直接和單片機相連接,因 為PIC單片機的輸入為T(mén)TL電平 , 故只 需考慮ROM的輸入接口電平匹配問(wèn)題。同理,輸入輸出電流也是如此分 析。為了解決接口電平匹配問(wèn)題,有很多可采用的方法:使用分壓電阻分壓,通過(guò)三級管和CMOS管的開(kāi)關(guān)作用以及其他適合的芯片來(lái)調節電壓等。

  在設計該電路的過(guò)程中,由于分壓電路易于實(shí)現,如圖3所示,首先考慮使用電阻分壓得到適當的電平送給串行ROM,經(jīng)調試后可實(shí)現數據通信。此電路結構簡(jiǎn)單,不需要太多的電子元器件,但一般在此情況下使用較少。

  為了達到更好的通信效果。如圖4所示,在此電路中選擇了非門(mén)芯片74LVC04A,該非門(mén)的供電電壓在1.2V~3.6V之間,可以和外部ROM使用同一個(gè)電源供電,其管腳的高電平電壓輸入范圍在2.0V~5.5V之間,低電平輸入為0V左右,可識別單片機的CMOS輸出電平。該芯片輸出高電平電壓約為電源供電電壓,低電平電壓約為0V左右,所以可串聯(lián)兩個(gè)74LVC04A非門(mén)將單片機的輸出信號轉換為AT25F1024可準確識別的輸入電壓,從而提高了數據的準確傳輸。

  避免總線(xiàn)沖突的設計

  在本結構中,為了保證正確有效的長(cháng)距離數據傳輸,使用了開(kāi)關(guān)管RF634來(lái)增加電路的驅動(dòng)能力,在接收端使用LM393比較器來(lái)修正信號,并在其后端連接一個(gè)非門(mén)7406,用以還原原始信號。

  當一個(gè)節點(diǎn)需要使用總線(xiàn)時(shí),為了實(shí)現總線(xiàn)通信可靠,在有數據需要發(fā)送的情況下先偵聽(tīng)總線(xiàn)。在硬件接口上,將報警終端單片機的數據發(fā)送引腳TX與其中斷引腳INT0相連接,且將RA2口作為接收引腳,通過(guò)驅動(dòng)電路與起偵聽(tīng)作用的單片機的RA3引腳相連接。報警終端網(wǎng)絡(luò )中的單片機在發(fā)送數據前,先探測其RA2口是否保持高電平輸入。若有,則表明總線(xiàn)“忙”,等待主控方釋放總線(xiàn);若沒(méi)有,則表明總線(xiàn)“空閑”,可以發(fā)送數據。因主控方在發(fā)送數據的同時(shí)也將數據傳給了中斷引腳INT0,起偵聽(tīng)作用的單片機接收數據后,通過(guò)其RA3口向報警裝置網(wǎng)絡(luò )中的所有單片機以廣播的通信方式發(fā)送高電平1。

  報警終端網(wǎng) 絡(luò )中的單片機在一直不停地查詢(xún)其中斷引腳INT0是否有電平變化,并同時(shí)查詢(xún)其RA2接收口是否有高電平輸入。若單片機的RA2口有高電平輸入且又有中斷引腳電平變化,則繼續發(fā)送數據;若只有RA2口有高電平輸入但中斷引腳INT0沒(méi)有電平變化,表示其探測到總線(xiàn)正“忙”,則待主控方完成通信交出總線(xiàn)控制權后,再讓其得到總線(xiàn)控制權,這樣就較好地解決了總線(xiàn)沖突的問(wèn)題。采用這種工作方式后,系統中已經(jīng)沒(méi)有主、從節點(diǎn)之分,各個(gè)節點(diǎn)對總線(xiàn) 的使用權限是平等的,從而有效避免了個(gè)別節點(diǎn)通信負擔較重的情況??偩€(xiàn)的利用率和系統的通信效率都得以提升,從而也使系統響應的實(shí)時(shí)性得到改善。而且,即使系統中個(gè)別節點(diǎn)發(fā)生故障,也不會(huì )影響其他節點(diǎn)的正常通信和正常工作。這樣使得系統的“危險”分散,從某種程度上來(lái)說(shuō),增強了系統的工作可靠性和穩定性。

  在查詢(xún)INT0引腳的高低電平變化時(shí),宜采用定時(shí)器TIMER0來(lái)定時(shí),在一個(gè)固定的時(shí)間內查詢(xún)INT0引腳是否有高低電平變化。以避免所發(fā)送的數據有連續的1或0發(fā)送時(shí),INT0引腳無(wú)高低電平變化,從而導致主控方停止發(fā)送數據。

  系統軟件設計

  軟件的主要流程如下:

  1)報警裝置終端程序:完成系統的初始化工作,開(kāi)始給模數轉換器發(fā)送啟動(dòng)轉換信號,使之開(kāi)始工作,將轉換后的數據與空氣中的一氧化碳濃度(已知數據)相比較,如果其濃度遠大于空氣中一氧化碳的濃度,則說(shuō)明有火災發(fā)生,否則,繼續進(jìn)行轉換、比較。當判斷有火災發(fā)生時(shí),先進(jìn)行總線(xiàn)偵聽(tīng),若檢測到總線(xiàn)上有數據傳輸時(shí),則等待總線(xiàn)釋放,若沒(méi)有檢測到,則立即從外部ROM里讀出數據,進(jìn)行數據發(fā)送。

  2)偵聽(tīng)電路中的單片機程序:判斷是否有數據接收,若有數據接收,則發(fā)送數據給遠程終端,并同時(shí)輸出高電平給報警裝置單片機的RA2口。

  3)數據顯示程序:判斷是否有數據接收,若有,則初始化LCD,數據寫(xiě)入LCD,顯示信息。最后輸出連續脈沖信號以驅動(dòng)報警喇叭。

  結論

  PIC16F87X單片機的報警網(wǎng)絡(luò )系統,其電路簡(jiǎn)單、功耗低、電源要求單一、精度高、系統監視范圍廣,具有檢測總線(xiàn)沖突的功能,可以在遠程監視系統中顯示火災的具體位置和有關(guān)的重要信息。該系統盡可能減少了火災損失,容易擴展為一臺顯示器監視較多的報警裝置的系統網(wǎng)絡(luò ),在石油化工、航空、煤炭以及其他易于發(fā)生火災的領(lǐng)域,都具有實(shí)用價(jià)值。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>