用W78E51單片機(jī)實(shí)現(xiàn)的自動(dòng)撥號(hào)器
自動(dòng)撥號(hào)器是一種智能化的報(bào)警監(jiān)控裝置,它以單片機(jī)為核心器件,利用無線尋呼和程控電話可隨時(shí)將警情發(fā)送給指定的BP機(jī)。它配備不同的傳感器后,不但可以對(duì)有毒氣體泄漏、家中被盜等情況進(jìn)行報(bào)警,而且還可對(duì)通信設(shè)備及電源故障的發(fā)生進(jìn)行告警,可廣泛應(yīng)用于倉(cāng)庫(kù)、小型商店、無人值守通信臺(tái)站的監(jiān)測(cè)以及家庭防盜、煤氣報(bào)警等。
工作原理
自動(dòng)撥號(hào)器按功能的不同可分為可編碼型和簡(jiǎn)易型兩種??删幋a型自動(dòng)撥號(hào)器可人為設(shè)置、更改BP機(jī)號(hào)碼,使用方便靈活;簡(jiǎn)易型自動(dòng)撥號(hào)器的BP機(jī)號(hào)碼已寫入CPU的程序存儲(chǔ)器中,具有成本低廉、穩(wěn)定可靠的特點(diǎn),缺點(diǎn)是不能人為更改BP機(jī)號(hào)碼,需通過編程器寫入,但成本較可編碼型低。以下分別介紹這兩種撥號(hào)器的工作原理。
可編碼的自動(dòng)撥號(hào)器 如圖1所示,可編碼型自動(dòng)撥號(hào)器核心部件IC1是ATMEL公司的89C51或臺(tái)灣華邦公司的W78E51單片機(jī),89C51和W78E51均為帶4K字節(jié)快閃PROM的低電壓CMOS八位微處理器,與標(biāo)準(zhǔn)的MCS-51系列單片機(jī)的指令、引腳全兼容。它有4K字節(jié)快閃PROM,128字節(jié)RAM,32個(gè)I/O端口,2個(gè)16位定時(shí)器/計(jì)數(shù)器,6個(gè)中斷源。32個(gè)I/O口中,P1、P3可作為普通I/O口使用,P0、P2通常作為外部數(shù)據(jù)總線使用,當(dāng)作為普通I/O口使用時(shí),P0口必須外加上接電阻。IC2(PCD3311)是飛利浦公司生產(chǎn)的DTMF雙音頻發(fā)生器,可以和所有標(biāo)準(zhǔn)的單片微計(jì)算機(jī)直接接口,接收二進(jìn)制碼的并行或串行數(shù)據(jù),串行數(shù)據(jù)格式為I2C總線方式。D0~D5(⑧~ 、④腳)為并行數(shù)據(jù)輸入端口,MODE(③腳)為工作方式選擇端口,在圖1中該端口接成高電平方式,用于輸入并行數(shù)據(jù)。STR(⑤腳)是數(shù)據(jù)選通輸入端,由89C51或W78E51的P3.0控制。TONE(⑥腳)為DTMF雙音頻輸出端。IC3(93C46)是MICRO-WIRE總線結(jié)構(gòu)的串行EEPROM,用于保存從鍵盤輸入的BP機(jī)號(hào)碼,斷電后數(shù)據(jù)不會(huì)丟失。IC3的①~④腳分別為片選端(CS)、串行移位時(shí)鐘端(SK)、串行移位數(shù)據(jù)輸入端(DI)和串行移位數(shù)據(jù)輸出端(DO)。根據(jù)⑥腳電平的高低,有16位(⑥腳接VCC)和8位(⑥腳接地)兩種操作方式??删幋a的自動(dòng)撥號(hào)器采用的是16位方式。
IC1的P1.0~P1.5(①~⑥腳)主要用于PCD3311的數(shù)據(jù)接口。P3.0(⑩腳)控制PCD3311的數(shù)據(jù)選通。P3.0~P3.5(②、③、⑥~⑨腳)用于PCD3311并行數(shù)據(jù)的輸入。P3.6用來控制繼電器。P3.7控制光耦合雙向可控硅MOC3041,以接通220V交流電源。P3.1、P3.3、P3.4、P3.5連接93C46。P2作為鍵盤的輸入接口。P0.7為告警信號(hào)輸入(自動(dòng)判斷P0.7的狀態(tài),如從高電平變?yōu)榈碗娖郊磽芴?hào))。圖1中的虛線部分為告警檢測(cè)電路,M為探頭(如有害氣體探頭、溫度探頭等)。某工作原理是:當(dāng)探頭檢測(cè)到外界媒質(zhì)發(fā)生變化時(shí),表面阻值下降,同相“+”端輸入電壓升高,比較器LM324輸出高電平,經(jīng)過“非”門變?yōu)榈碗娖剿偷紺PU的P0.7端,P3.6、P3.7則由低電平變?yōu)楦唠娖剑ㄟ^控制繼電器和可控硅,從而接通電話外線和220V交流電源。與此同時(shí),CPU調(diào)用已寫入93C46的BP機(jī)號(hào)碼,并通過PCD3311向外線發(fā)出尋呼。RL為220V電源插座,可根據(jù)不同情況外接各種驅(qū)動(dòng)裝置或交流報(bào)警器。實(shí)際應(yīng)用中,可根據(jù)需要自行設(shè)計(jì)前端的告警檢測(cè)電路(如紅外防盜報(bào)警電路)。圖1中的K1是系統(tǒng)復(fù)位按鈕,K2是正常/設(shè)置開關(guān)(閉合狀態(tài)下鍵盤輸入有效),K3為結(jié)束按鈕。輸入BP機(jī)號(hào)碼時(shí),先將K2撥到“設(shè)置”位,待輸入完成后,應(yīng)按一下K3,再將K2置于“正常”位。鍵盤上的“*”號(hào)為延時(shí)標(biāo)志鍵,這與電話機(jī)上的“*”鍵不同。需說明的是,寫入的傳呼臺(tái)號(hào)應(yīng)為自動(dòng)臺(tái),如電信局127自動(dòng)臺(tái)的寫入格式為127×××××××(××為BP機(jī)號(hào)碼)+延時(shí)標(biāo)志。由于其它尋呼臺(tái)的自動(dòng)傳呼格式可能不同于127臺(tái),通過靈活使用“*”鍵,可模仿其它自動(dòng)臺(tái)的傳呼。為防止誤撥號(hào)(因有些探頭在初始加電時(shí)表面阻值下降會(huì)引起誤判斷),軟件編寫時(shí),在程序初始狀態(tài)加有30秒的延時(shí)。按圖1連接無誤后,可人為使P0.7為低電平,再仔細(xì)調(diào)節(jié)可調(diào)電阻R,使BP機(jī)能準(zhǔn)確地收到撥號(hào)信號(hào)。需注意的是,如作為氣體泄漏、防盜報(bào)警器使用時(shí),應(yīng)經(jīng)過有關(guān)單位驗(yàn)證,以免產(chǎn)生意外。
圖2為撥號(hào)器軟件流程,主程序完成BP機(jī)號(hào)碼的寫入及CPU初始參數(shù)的設(shè)置;中斷子程序完成告警信號(hào)的檢測(cè)、撥號(hào)子程序的調(diào)用及繼電器、可控硅動(dòng)作的控制。當(dāng)程序檢測(cè)到告警信號(hào)時(shí),中斷子程序?qū)⒚扛?0秒分三次調(diào)用撥號(hào)子程序,直至告警信號(hào)消失。當(dāng)然,也可通過修改軟件設(shè)置來反復(fù)調(diào)用撥號(hào)子程序。
簡(jiǎn)易型自動(dòng)撥號(hào)器
簡(jiǎn)易型自動(dòng)撥號(hào)器電路如圖3所示。與可編碼型自動(dòng)撥號(hào)器相比它的核心部件采用89C2051單片機(jī)(89C51的精簡(jiǎn)型號(hào)),尋呼臺(tái)號(hào)及傳呼號(hào)碼已固定寫入89C2051單片機(jī)程序存儲(chǔ)器中。89C2051內(nèi)帶一個(gè)模擬比較器,具有15個(gè)I/O端口。P1口是8位雙向I/O端口,可作普通I/O端口使用。P3口的P3.0~P3.5和P3.7是帶有內(nèi)部上拉電阻的7個(gè)雙向I/O口。P3.6固定用于片內(nèi)比較器的輸出端而不可作為普通I/O端口使用。89C2051的P1.1、P1.0可作為各種探頭的比較信號(hào)輸入端,P1.0和P1.1還分別作為片內(nèi)模擬比較器的同相輸入(AIN0)和反相輸入(AIN1)端口。P1.4(腳)控制
PCD3311的數(shù)據(jù)選通。P3.0~P3.5(②、③、⑥~⑨腳)用于PCD3311并行數(shù)據(jù)的輸入。P3.7用來控制繼電器。P1.7控制MOC3041。P1.2可作為其它告警(如防盜開關(guān)、紅外探頭)信號(hào)的輸入端。圖3的虛線部分為告警檢測(cè)電路,M為探頭(如有害氣體探頭、溫度探頭等),其工作原理同圖1,這里不再贅述。如不用89C2051的內(nèi)部模擬比較器,而將P1.2作為告警信號(hào)的輸入端時(shí),最好外接一個(gè)電阻,使比較器的“+”端電壓小于“-”端電壓,以避免P3.6輸出高電平而誤告警。
系統(tǒng)擴(kuò)展
圖1和圖3所示自動(dòng)撥號(hào)器的電路經(jīng)過擴(kuò)展后,還可用于通信設(shè)備,特別是電源設(shè)備的故障報(bào)警。圖4為應(yīng)用于通信設(shè)備故障自動(dòng)報(bào)警的電原理框圖。
與圖3相比,圖4主要增加了一片ADC0809,用于外部模擬電壓的采集。ADC0809為八位8路A/D轉(zhuǎn)換芯片。由W78E51的P2.0、P2.1控制ADC0809的選通。模擬量的輸入電壓標(biāo)稱值為0~5V,而通信電源一般采用交流220V或直流-24V和-48V。交流220V可通過整流、穩(wěn)壓后得到標(biāo)準(zhǔn)的5V電壓;直流-24V、-48V電壓的采樣可通過極性轉(zhuǎn)換,將負(fù)電壓轉(zhuǎn)換為正電壓后再分壓得到;單片機(jī)的空余I/O口作為設(shè)備告警信號(hào)輸入端,在程序中可靈活設(shè)置報(bào)警閾值。一旦電源電壓過低或過高,W78E51便將ADC0809采樣的電壓值通過撥號(hào)器發(fā)送到值班人員的BP機(jī),從而達(dá)到無人值守的目的。