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