基于單片機為核心的遙控報警系統(tǒng)設計
當89C51收到由天然氣、溫度和失竊報警器送來信號后,89C51采用將預錄在 ISD25120語音芯片中的雙音頻電話號碼及報警語音播出的方式進行報警。由于DTMF雙音多頻數(shù)字信號和ISD語音芯片在電話和無線網(wǎng)絡傳輸?shù)恼Z音信號頻率范圍相同,所以此方案可行。但要注意以下問題:貝爾電話DTMF信號標稱誤差是±1.5%,當電話晶體為3.579 45 MHz時,產(chǎn)生的音調(diào)誤差范圍為+0.74%~-0.54%。而大部分ISD器件內(nèi)部振蕩器在全電壓和全溫度范圍內(nèi)誤差為2.25%,即:ISD器件誤差大于DTMF標準誤差,如圖4所示。所以不能用ISD內(nèi)部振蕩器,而必須用外部晶體振蕩輸入信號。從圖4可以看出,最壞錄放音情況時,提供給ISD器件的外部時鐘要求誤差小于0.75%,他可以是TTL或CMOS電平。對于ISD25120采樣速率為4 kHz,提供的時鐘頻率為512 kHz,單片機為626 MHz晶體,工作頻率為1 MHz,外加二分頻電路提供給ISD25120的頻率為5 kHz,與要求的512 kHz很接近,使用中不會造成任何問題。這里要求頻率變化誤差要小,而并不要求非常準確的頻率值。
2.4 電器控制電路
任務輸入后首先存放在存儲器中,當任務輸入結束后,軟件首先刪除輸入偶次數(shù)的任務項,然后將任務送相應口線。若單片機口線夠用,則可以直接由口線送外電路執(zhí)行,軟件只需進行任務口線狀態(tài)取反即可。若單片口線不夠用,則可以外加CD4514芯片進行4~16線解碼的擴展,但每路需加雙穩(wěn)態(tài)電路保持,并進行電流放大,執(zhí)行的器件一般采用繼電器,繼電器觸頭容量應根據(jù)用電器的功率大小決定,并留一定的余量。
2.5 調(diào)速調(diào)壓電路
調(diào)速調(diào)壓電路執(zhí)行器件選用雙向可控硅,單片機根據(jù)任務送不同脈沖個數(shù),則BT33馳張振蕩器沖放電時間不同,使雙向可控硅導通角大小不同而輸出電壓不同。
3 軟件設計
根據(jù)以上分析,軟件主流程圖如圖5所示。
除主程序外,子程序包括6位密碼核對子程序、(3位數(shù)+#)任務輸入核對子程序、提示音子程序、報警子程序、任務排除偶次輸入子程序、對方回鈴聲和忙音區(qū)分子程序以及10 ms,10 s,60 s延時子程序,編寫程序時注意二次按鍵時間小于10 ms時第2次按鍵無效,以防止抖動。當上次按鍵后連續(xù)10 s無按鍵輸入信號,則默認可以自動掛機。
報警撥號后對方回鈴音和忙音的區(qū)別:按規(guī)定回鈴音為1 s高電平4 s低電平方波信號,忙音為高電平和低電平均為0.35 s方波信號,回鈴音和忙音呼叫時間60 s,60 s后自動掛機。當有報警信號送單片機時,通過軟件模擬摘機,預留電話撥號輸出后,在接到第一聲回鈴音或忙音時,定時器開始定時,計數(shù)器開始計輸入的回鈴音或忙音的個數(shù)。然后判別在60 s內(nèi),若計數(shù)值>15個脈沖(這時無論60 s定時到否)則表示對方為忙音,應掛機,延時60 s后重撥號呼叫。若在60 s內(nèi)計數(shù)<14個脈沖,則表示為回鈴音。若在少于12個脈沖中間回鈴音中斷表示對方有人接聽,可以播放報警信號對應的報警語音。若60 s內(nèi)一直有回鈴音,且定時到,表示對方無人接聽,則掛機延時后重撥,直到電話報警完成。
評論