李宜飛
摘 要 本文設(shè)計的住宅安防監(jiān)控器以硬件軟件化為指導(dǎo)思想,充分發(fā)揮單片機功能,大部分功能通過軟件編程來實現(xiàn),電路簡單明了,系統(tǒng)穩(wěn)定性高。實現(xiàn)了時間、溫度、防火防盜、天然氣監(jiān)測、密碼鎖功能。同時,該時鐘系統(tǒng)還具有功耗小、成本低的特點,具有很強的實用性,而且系統(tǒng)具有一定的可擴展性。
關(guān)鍵詞 單片機 硬件軟件化 防火防盜 天然氣監(jiān)測 密碼鎖 聲光報警
中圖分類號:S611 文獻標(biāo)識碼:A
1系統(tǒng)功能綜述
本系統(tǒng)是通過查詢方式實現(xiàn),以顯示程序和鍵盤瀏覽程序為主程序,其余如溫度,時間調(diào)節(jié),串口發(fā)送等均以子程序的方式進行調(diào)用。此種方法基本可以實現(xiàn)實驗的基本要求,可以達到時間顯示,溫度顯示,防火防盜,密碼開鎖,串口發(fā)送等功能。
2總體設(shè)計方案
(1)按照設(shè)計要求布防,除溫度檢測采用18B20外,其他安防檢測傳感器和火情檢測傳感器均為觸發(fā)開關(guān)量,天然氣報警為位置開關(guān)量,根據(jù)布防設(shè)計,為所有的報警事件發(fā)生的事件、類型、位置進行編碼設(shè)計。當(dāng)事件發(fā)生時,可以在LED數(shù)碼管顯示器上以編碼的形式顯示報警信息(位置、類型),并進行報警,除非報警事件自行解除或人工解除。當(dāng)事件發(fā)生時,LED數(shù)碼管顯示報警信息,可以將此設(shè)置為一個子程序,同時主程序中進行查詢事件是否發(fā)生,發(fā)生則調(diào)用子程序,不發(fā)生則繼續(xù)查詢。報警也設(shè)置為子程序,在顯示報警信息的子程序中應(yīng)該調(diào)用顯示子程序,使得顯示報警信息和報警同時發(fā)生。
(2)密碼鎖也是一個查詢程序,當(dāng)進入輸入密碼子程序時,子程序調(diào)用鍵值查詢程序,若按下鍵值同設(shè)置值相同,則繼續(xù)查詢下一位,直至全部查詢完畢,啟動開門程序,否則跳出輸入密碼子程序,進入顯示報警子程序。
(3)當(dāng)報警事件發(fā)生時,把事件發(fā)生的時間、位置、類型等信息通過串口傳遞到監(jiān)控器上。信息方式“€讇資眬讇追謤讇酌?;置€讇祝嘈蛝讇住???
當(dāng)報警發(fā)生時將信息發(fā)送到監(jiān)控器上,可以將發(fā)送程序做成一個子程序,通過查詢判斷是否發(fā)送。時鐘發(fā)送程序和位置類型發(fā)送程序有所差別,發(fā)送時要對時間內(nèi)容和位置內(nèi)容進行調(diào)用。
(4)當(dāng)報警事件解除后,把事件解除的時間、位置、類型、解除方式等信息通過串口傳遞到監(jiān)控器上。信息方式“€讇資眬讇追謤讇酌?;置€讇祝?類型€讇祝絞絸住薄>ń獬⑺統(tǒng)絳蠐刖ǚ⑺統(tǒng)絳蚶嗨?。?/p>
(5)無報警時,可作為鐘表使用。并可以根據(jù)需要顯示室溫。鐘表顯示程序做為主程序,可以將時間調(diào)節(jié)程序作為子程序進行調(diào)用,顯示室溫也可以用查詢方式來實現(xiàn)。
3硬件系統(tǒng)設(shè)計
本系統(tǒng)使用STC89C52RC單片機為主要控制器,輔以74LS138譯碼器、74LS245總線驅(qū)動器、溫度傳感器DS18B20、矩陣鍵盤以及LCD顯示等電路,實現(xiàn)了時間時分秒的顯示、實時溫度的顯示、時分秒?yún)?shù)的手動調(diào)整設(shè)置,防盜防火報警,并發(fā)送報警時間地點類型。該系統(tǒng)使用單片機的中斷方式進行計時,能有效減少系統(tǒng)誤差,再使用譯碼器進行片選,節(jié)省了單片機的I/O口,使用了矩陣鍵盤進行功能的選擇。該系統(tǒng)具有設(shè)計簡單,結(jié)構(gòu)清晰,界面友好的特點,經(jīng)測試,能夠較好地實現(xiàn)題目所要求的基本和擴充功能。
用單片機驅(qū)動LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動態(tài)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出后就不再管,直到下一次顯示數(shù)據(jù)需要更新時再傳送一次新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。動態(tài)顯示需要CPU時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。硬件譯碼就是顯示的段碼完全由硬件完成,CPU只要送出標(biāo)準(zhǔn)的BCD碼即可,硬件接線有一定標(biāo)準(zhǔn)。軟件譯碼是用軟件來完成硬件的功能,硬件簡單,接線靈活,顯示段碼完全由軟件來處理。由于本次設(shè)計硬件電路較為簡單,因此選擇了動態(tài)顯示,軟件譯碼的驅(qū)動方式。
采用動態(tài)掃描法顯示LED數(shù)碼管,MCS-51的P1.0,P1.1,P1.2與74LS138的A,B,C連接74LS138通過74LS245與LED數(shù)碼管的陰極相連來選擇數(shù)碼管,用P0口通過74LS245與數(shù)碼管的陽極相連,P2口與鍵盤連接,傳感器18B20與P1.3口相連構(gòu)成溫度控制。
4軟件系統(tǒng)設(shè)計
當(dāng)電路板上電之后,就會在LED上顯示時間,可通過KEY1進行對小時調(diào)節(jié),KEY2對分鐘進行調(diào)節(jié),KEY3對秒進行調(diào)節(jié)。按下KEY4,LED顯示溫度,按下KEY5——KEY7,向監(jiān)視窗口發(fā)送相關(guān)信息,KEY8,KEY9,作為上檔鍵,之后便可以再按KEY1——KEY7,即可顯示并發(fā)送防盜或防火相關(guān)信息。將撥碼開關(guān)1打開,啟動天然氣報警程序,將撥碼開關(guān)2打開。
防盜裝置停止(天然氣監(jiān)測正常進行),將撥碼開關(guān)3打開,進入紅外防盜系統(tǒng)(此系統(tǒng)在撥碼開關(guān)2打開時無效)。
5設(shè)計亮點
本設(shè)計包含有以下幾點同類程序不具有的優(yōu)勢:
(1)時、分、秒用小數(shù)點分開顯示,帶點字與不帶點字使用不同字形表,使人在閱讀時更為方便。
(2)防盜防火程序可以人為關(guān)閉,當(dāng)家中有人時,主人可以選擇關(guān)閉防盜防火監(jiān)測,這就避免了因為主人原因造成的錯誤報警,此關(guān)閉不會影響天然氣監(jiān)測,當(dāng)天然氣泄漏時,報警程序依然會啟動,直至天然氣濃度小于額定值。
(3)通過查閱相關(guān)安防資料,將窗戶防盜系統(tǒng)設(shè)置為二重監(jiān)測,一為碎玻璃監(jiān)測,一旦玻璃碎裂,即發(fā)出報警;二為紅外監(jiān)測,在玻璃不碎裂的情況下,若有人進入即可發(fā)生報警。
(4)此系統(tǒng)采用了防止紅外錯誤報警的程序,在有鳥類、飛蟲遮擋紅外儀時可自動識別,與竊賊入侵進行區(qū)分,是一套真正可用的報警系統(tǒng)。
參考文獻
[1] 段晨東.單片機原理及接口技術(shù)[M].清華大學(xué)出版社,2008.