徐洪志
目前家庭和辦公用微機(jī)的打印端口通常專(zhuān)為連接打印機(jī)使用,對(duì)強(qiáng)大的微機(jī)資源未做充分利用。因此,筆者制作了簡(jiǎn)單的“多用途電話點(diǎn)歌臺(tái)”,實(shí)現(xiàn)微機(jī)打印端口的擴(kuò)展應(yīng)用。本文介紹的是采用MT8870雙音頻譯碼芯片對(duì)微機(jī)打印端口進(jìn)行應(yīng)用擴(kuò)展,利用電話系統(tǒng)配合運(yùn)行于微機(jī)上的監(jiān)控軟件實(shí)現(xiàn)音樂(lè)點(diǎn)播、語(yǔ)音留言等功能,特別適合于電子愛(ài)好者制作。
電路原理
微機(jī)打印端口管腳與功能分布如圖1所示。
數(shù)據(jù)端口(378H)2~9針為D0~D7;輸入控制端口(379H) 10~13、15針為B6、B7、B5、B4、B3;輸出端口(37AH)為1、14、16、17針,GND為25針。
本應(yīng)用主要使用5個(gè)輸入控制端口和輸出2,與J2對(duì)應(yīng)關(guān)系為:15-1;13-2;12-3;10-4;2-5;11-6;25-8。
電路如圖2所示。本裝置主要由Q1、Q2完成裝置的模擬摘機(jī);C3、R1、DZ3、D6、IC1組成鈴流監(jiān)測(cè)電路;LM567和Q3及周?chē)M(jìn)行電話催掛音監(jiān)測(cè);雙音頻譯碼器MT8870完成線路雙音頻命令信號(hào)的譯碼;DZ4、D5、C5用于穩(wěn)壓獲得5V左右的供電電源;L1、L2、MR用于線路的濾波和保護(hù);DZ1、DZ2則用于限制音頻變壓器輸入端的電壓,防止鈴流電壓對(duì)聲卡造成毀害;CZ為音頻輸入輸出端口,它與聲卡的音頻輸出及線輸入端口相連,完成電話語(yǔ)音輸入和音樂(lè)信號(hào)的輸出。
啟動(dòng)微機(jī)的監(jiān)控軟件,此時(shí)微機(jī)不斷監(jiān)測(cè)B7端的狀態(tài)。當(dāng)電話線上鈴流到來(lái)時(shí),光耦4N25輸出低電平,打印端口B7出現(xiàn)負(fù)跳變脈沖,軟件中設(shè)置的計(jì)數(shù)變量加1。當(dāng)并網(wǎng)電話無(wú)人接聽(tīng),計(jì)數(shù)變量達(dá)到設(shè)置數(shù)值時(shí),打印端口D0輸出高電平,Q1、Q2導(dǎo)通,實(shí)現(xiàn)模擬摘機(jī)。此時(shí),線路電壓經(jīng)DZ4穩(wěn)壓后向MT8870、LM567等電路提供工作電源。摘機(jī)后,微機(jī)不斷檢測(cè)B3~B6口的數(shù)值。當(dāng)MT8870檢測(cè)到雙音頻命令信號(hào)經(jīng)電話線路傳送時(shí),命令字譯碼輸出,并送入打印端口,讀入監(jiān)控變量,微機(jī)將根據(jù)命令字的內(nèi)容完成音頻信號(hào)輸出輸入。從而實(shí)現(xiàn)點(diǎn)播歌曲和錄音留言的功能。在摘機(jī)狀態(tài)下,微機(jī)不斷檢測(cè)B7端口的狀態(tài)。當(dāng)撥入用戶(hù)掛機(jī)時(shí),由LM567檢測(cè)信號(hào)脈沖結(jié)合軟件處理檢測(cè)出電話催掛音,從而控制端口D0輸出低電平,Q1、Q2關(guān)斷,從而完成掛機(jī)過(guò)程。
監(jiān)控軟件
本軟件采用易學(xué)、易用的可視化高級(jí)語(yǔ)言Visual Basic編制,配合I/O口DLL動(dòng)態(tài)連接庫(kù)讀取打印機(jī)端口。音樂(lè)采用MP3格式播放,留言?xún)?nèi)容采用WAV格式存儲(chǔ),利用數(shù)據(jù)庫(kù)進(jìn)行管理,同時(shí)本軟件還兼有雙音頻撥號(hào)功能,可定時(shí)向線路用戶(hù)提供音樂(lè)服務(wù)。
軟件主要流程圖如圖3所示。
對(duì)于I/O口動(dòng)態(tài)連接庫(kù)及其調(diào)用,可以參照有關(guān)的VB代碼,在此不多陳述。
電路調(diào)試
本裝置調(diào)試的重點(diǎn)是催掛音檢測(cè)電路。由于音樂(lè)及人的話音中含有450Hz的頻率信號(hào),所以即使是撥入方?jīng)]有掛機(jī),在B7端口也可以檢測(cè)到脈沖信號(hào),解決的辦法是:可以設(shè)置軟件算法對(duì)脈沖信號(hào)進(jìn)行分析處理。由于從語(yǔ)音及音樂(lè)信號(hào)中檢測(cè)出的脈沖信號(hào)是沒(méi)有規(guī)律的,而從催掛音檢測(cè)出的脈沖信號(hào)及間隔則是滿(mǎn)足一定規(guī)律的,所以根據(jù)此差異編制算法,就可以識(shí)別出催掛音。如果感覺(jué)此部分不好調(diào)試的話,可以將電路圖中虛線部分去掉,結(jié)合軟件定時(shí)來(lái)實(shí)現(xiàn)裝置的掛機(jī)過(guò)程。當(dāng)然在功能實(shí)現(xiàn)上將會(huì)部分受限。
本裝置簡(jiǎn)單易制,用途廣泛,程序易于編寫(xiě),且很容易進(jìn)行功能擴(kuò)展,除用于點(diǎn)歌外,還可以編寫(xiě)相應(yīng)的功能程序模塊,用于單位程控機(jī)系統(tǒng)內(nèi)的自動(dòng)語(yǔ)音值班;加裝功率接口后還可用于電器的遠(yuǎn)程控制;加裝傳感探測(cè)等接口后還可用于防盜報(bào)警、數(shù)據(jù)傳輸?shù)取?/p>