商店無人值守遠(yuǎn)程自動(dòng)報(bào)警與查詢系統(tǒng)
關(guān)鍵詞:AT89LV51 SSI73K222AL ISD33060 中斷報(bào)警
引言
很多商店下班后無人值守,當(dāng)有盜警、火警發(fā)生時(shí),人們希望商店能自動(dòng)報(bào)警,同時(shí)能用電話進(jìn)一步查詢、核實(shí)警情等住處。本文采用AT89LV51 Flash單片機(jī),配合新型的MODEM通信芯片和語音電路,成功實(shí)現(xiàn)了商店的無人值守自動(dòng)報(bào)警與查詢功能。
1 主要芯片簡(jiǎn)介
1.1 AT89LV51 Flash單片機(jī)
AT89LV51是Atmel公司生產(chǎn)的與MCS-51系列兼容的具有Flash存儲(chǔ)器的單片機(jī),主要特點(diǎn)是:能在2.7~6V的低電壓范圍工作;4K字節(jié)可編程的Flash EEPROM,三級(jí)程序存儲(chǔ)器保密;128字節(jié)內(nèi)部RAM;32根可編程I/O引線,2個(gè)16位定時(shí)器/計(jì)數(shù)器,6個(gè)中斷源,1個(gè)全雙工串行口等;引腳與MCS-51完全兼容。
1.2 MODEM通信芯片
SS173K222AL是TDK公司生產(chǎn)的一種高集成度的單片機(jī)編程MODEM芯片,引腳如圖1所示。
該芯片易于單片機(jī)控制;可以串行傳輸數(shù)據(jù);與CCITT V.22,V.21,BELL212A,103標(biāo)準(zhǔn)兼容;具有呼叫進(jìn)程、載波、應(yīng)答音、長(zhǎng)回環(huán)檢測(cè)的功能;能夠通過編程產(chǎn)生DTMF信號(hào)等。SSI73K222AL芯片內(nèi)部有4個(gè)用于監(jiān)控的8位寄存器CR0、CR1、DR、TR:CR0用于控制電話線路數(shù)據(jù)傳輸?shù)姆绞?,CR1用于控制芯片內(nèi)部狀態(tài)與單片機(jī)間的接口,DR用于監(jiān)視MODEM的工作狀態(tài),TR用于控制音頻信號(hào)的產(chǎn)生。對(duì)其編程可以產(chǎn)生DTMF信號(hào)、應(yīng)答音信號(hào)。4個(gè)寄存器各位的含義如表1所列。
表1 SS173K22 2A內(nèi)部寄存器各位含義
名稱 | 地址 | 數(shù) 據(jù) 位 | |||||||
AD2AD0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
CR | 000 | 調(diào)制選擇 | 0 | 設(shè)置發(fā)送模式其中1100表示FSK模式 | 發(fā)送允許 | 應(yīng)答/始發(fā) | |||
CR | 001 | 數(shù)據(jù)發(fā)送方式 | 中斷允許 | 旁路編碼 | 時(shí)鐘控制 | 復(fù)位操作 | 模式測(cè)試,其中00 表示正常 | ||
DR | 010 | 未用 | 未用 | 接收數(shù)據(jù) | 解碼標(biāo)志 | 載波檢測(cè) | 應(yīng)答音 | 呼叫進(jìn)程 | 長(zhǎng)環(huán)檢測(cè) |
TR | 011 | RXD控制 | 發(fā)防衛(wèi)音 | 發(fā)應(yīng)答音 | 發(fā)DTMF音 | 對(duì)應(yīng)116DTMF信號(hào),如:0001=1,0010=2等。 |
1.3 ISD33060語音芯片
ISD33060是ISD公司的第三代3V的單片語音IC,引腳如圖2所示。
該芯片總存儲(chǔ)時(shí)間達(dá)60s;與外部微處理器的接口采用SPI(Serial Peripheral Interface)串行外設(shè)接口或MSI(Microwire Serial Interface)微傳輸線串行接口,實(shí)現(xiàn)了主機(jī)對(duì)語音芯片的靈活控制和尋址,減少了接口的引線數(shù),提高了使用的靈活性;錄放音時(shí)間可通過控制指令任意進(jìn)行分段,每段最短長(zhǎng)度為150ms。
使用SPI接口協(xié)議時(shí),主要用到5條控制線:
*1腳(SS)―芯片選擇輸入端,低電平有效;
*2腳(MOS1)―串行數(shù)據(jù)輸入端,ISD芯片從該腳接收來自單片機(jī)的控制命令數(shù)據(jù);
*3腳(MISO)―串行數(shù)據(jù)輸出端,單片機(jī)從該腳獲得ISD的返回?cái)?shù)據(jù);
*28腳(SCLK)―SPI接口串行時(shí)鐘輸入,用于同步數(shù)據(jù)的傳送;
*25腳(INT)―當(dāng)語音回放結(jié)束或錄放音溢出時(shí),變低電平,在下一個(gè)SPI周期開始時(shí),該信號(hào)被清除并返回高電平。
圖3 自動(dòng)報(bào)警與查詢線路圖
2 硬件電路設(shè)計(jì)
硬件線路原理如圖3所示。本系統(tǒng)的功能主要有:
*利用電話線路和單片機(jī)的中斷功能進(jìn)行火情、盜情自動(dòng)遠(yuǎn)程語音報(bào)警;
*可撥打多個(gè)號(hào)碼,對(duì)每個(gè)號(hào)碼多次循環(huán)撥號(hào),直到撥通為止;
*設(shè)有火警、盜警發(fā)生標(biāo)志,憑密碼可用電話查詢、核實(shí)警報(bào)情況;
*可以現(xiàn)場(chǎng)或利用電話消除報(bào)警標(biāo)志;
*可用電話修改密碼。
圖3中,L1、L2接電話線咱;U1為AT89LV51 Flash單片機(jī),U2為MODEM芯片SSI73K222AL,U3為語音芯片ISD33060,U4、U5為輸出、輸入放大運(yùn)放LM358;K為現(xiàn)場(chǎng)消除警報(bào)開關(guān),D7、D8分別為消警和報(bào)警指示,INT0和INT1中斷分別接火警和盜警信號(hào),下降沿有效。
圖4 主程序框圖
通電后,系統(tǒng)先對(duì)P1、P3口及INT0、INT1中斷進(jìn)行初始化,然后不斷查詢P1.6、P1.7腳。為避免系統(tǒng)重復(fù)報(bào)警,每次有效火、盜報(bào)警時(shí),程序都分別自動(dòng)設(shè)火、盜報(bào)警標(biāo)志,只有取消報(bào)警標(biāo)志才能接受新的警報(bào)。當(dāng)按下K時(shí),P1.6為低電平,現(xiàn)場(chǎng)取消報(bào)警標(biāo)志,同時(shí)消警指示發(fā)光二極管D7亮,報(bào)警指示發(fā)光二極管D8滅。如有電話查詢,則鈴流來到,P1.7為低電平,程序控制P1.5為高電平,繼電器J動(dòng)作,接通線路,語音提示:“請(qǐng)輸入報(bào)警系統(tǒng)密碼,以#字結(jié)束”。然后,等待輸入密碼,如在規(guī)定時(shí)間內(nèi)無密碼輸入,則提示:“時(shí)間到,請(qǐng)掛機(jī)”,隨后斷開線路,退出查詢。如有密碼輸入,則判斷密碼是否正確,如密碼錯(cuò)且不超過三次,可重新輸入,超過三次則退出查詢;如密碼正確,則提示:“請(qǐng)選擇:1查警情,2消警報(bào),3改密碼,4退出查詢”。此時(shí)選擇,可以根據(jù)報(bào)警標(biāo)志查清有無警報(bào),是火警還是盜警;選擇2,可消除警報(bào)標(biāo)志,達(dá)到與開關(guān)K一樣的效果;選擇3,可個(gè)性密碼;選擇4,繼電器J復(fù)位,斷開線路,退出查詢。
當(dāng)有火、盜警發(fā)生時(shí),單片機(jī)INT0、INT1引腳分別有下降沿信號(hào)來到,轉(zhuǎn)入中斷處理。火、盜警的處理完全類似。如當(dāng)有火警來到時(shí),先查有無火警標(biāo)志,如有標(biāo)志,表示已報(bào)過警,系統(tǒng)退出中斷;如無標(biāo)志,系統(tǒng)立即接通線路,撥預(yù)置的電話號(hào)碼。如有應(yīng)答音,則發(fā)語音提示:“商店有火警!有火警!”,并在內(nèi)存設(shè)火警標(biāo)志,然后斷開線路,再判斷所有預(yù)置號(hào)碼是否撥完。如未撥完號(hào)碼,則撥下一個(gè);如已撥完號(hào)碼,退出中斷。
值得注意的是,為提高報(bào)警的準(zhǔn)確率,減少誤報(bào),除采用一定的抗干擾措施外,對(duì)同一種警情還中使用多種傳感器。如對(duì)火警,可采用感煙和紅外傳感器并舉,以提高報(bào)警的可靠性和準(zhǔn)確性。
3 軟件設(shè)計(jì)
因篇幅所限,略去程序清單。本系統(tǒng)主程序框圖如圖4,火警中斷處理程序框圖如圖5,盜警中斷處理程序框圖如圖6。
結(jié)語
本裝置雖為一般商店所研制,但完全可推廣到其它無人值守又需保安的場(chǎng)所。
評(píng)論