單片機遙控鍵音頻感應(yīng)原理及電路結(jié)構(gòu)
單片機問世以來,在儀器、儀表、智能控制領(lǐng)域得到了廣泛應(yīng)用。絕大多數(shù)單片機應(yīng)用系統(tǒng)(SCAS)都少不了鍵輸入控制。通常使用的單片機系統(tǒng)按鍵可裝在面板上,但對于工作于控制現(xiàn)場以及高低溫、多灰塵場合的單片機應(yīng)用系統(tǒng),按鍵的壽命將會縮短,故障率也會提高。為提高單片機應(yīng)用系統(tǒng)鍵輸入的可靠性及耐久性,設(shè)計了單片機遙控鍵輸入電路。鍵碼是通過音頻感應(yīng)方式輸入SCAS系統(tǒng)的;且可實現(xiàn)一機多用,即一個鍵盤遙控器可對任意多個相同的SCAS系統(tǒng)進行鍵輸入操作。
音頻感應(yīng)原理及電路結(jié)構(gòu)
電路結(jié)構(gòu)分為遙控器和譯碼接收電路兩部分。其結(jié)構(gòu)如圖所示。
遙控器部分對16個按鍵進行編碼,對應(yīng)每個按鍵都產(chǎn)生了一個唯一的雙音頻信號。此雙音頻信號由揚聲器以聲音形式發(fā)出。在譯碼接收電路中,話筒將遙控器發(fā)出的雙音頻聲音信號接收下來,并送至譯碼器電路。譯碼器電路進行正確譯碼后輸出一個二進制代碼,此碼即是由遙控器輸入的按鍵代碼。此外,譯碼器還同時輸出一個正確譯碼的標志信號,由此信號向MCU發(fā)出中斷請求,MCU就可讀取鍵碼并根據(jù)代碼執(zhí)行相應(yīng)的程序模塊。
二、電路設(shè)計原理
1.硬件電路設(shè)計
遙控鍵輸入電路如圖所示。
電路核心是雙音多頻(DTMF)編解碼芯片CSC5087和SC8870。CSC5087作為DTMF信號編碼器,可根據(jù)不同的按鍵產(chǎn)生一組雙音頻信號cos 27πft+cos 2πfcHt。國際電報電話咨詢委員會(CCITT)和我國的標準規(guī)定,按鍵與高、低頻組頻率的組合關(guān)系如表3-1所列。如按下按鍵6,則發(fā)出的DTMF信號頻率為fL=770Hz,fH=1 477 Hz。此DTMF信號經(jīng)音頻功放LM386放大后,由揚聲器轉(zhuǎn)換為聲音信號發(fā)出。
表1 按鍵與DTMF信號編碼對照表
由話筒接收并放大的DTMF信號經(jīng)SC8870解碼,將每一個DTMF信號譯成一個4位二進制代碼輸出,16個DTMF信號分別對應(yīng)0000~1111共16個二進制代碼,其對應(yīng)關(guān)系如表所列。如:對遙控器發(fā)出頻率為fL=770 Hz和fH=1477 Hz的DTMF信號,則SC8870譯碼后輸出0110代碼。
2SC8870譯碼表
SC8870有一延遲控制輸出端CID,若檢測到一有效的DTMF信號,控制輸入端STO電平超過門限電平VTst,則輸入代碼被更新,此時CID輸出由低電平變?yōu)楦唠娖?;若STO電平低于V Tst則CID返回至低電平。而STO電平則由初始控制輸出信號ECO決定:當(dāng)SC8870檢測到一有效的DTMF信號時,ECO首先變?yōu)楦唠娖剑俳?jīng)電阻使STO電平升高;當(dāng)無輸入的DTMF信號或輸入信號連續(xù)失真時,ECO輸出低電平,這樣STO也為低電平,CID輸出低電平。利用CID信號作為MC68HC705 MCU的中斷請求信號,因MCU的中斷觸發(fā)為下降沿觸發(fā),故將CID信號經(jīng)反相器反相后接入MCU的中斷請求輸入端IQR。
SC8870的DOi~D04分別接MCU的口線PAo~PA3,三態(tài)數(shù)據(jù)輸出允許控制端EN接高電平,使D01~D04保持上次對DTMF信號的譯碼輸出代碼,這樣MCU隨時可讀取輸入的鍵值。
2.鍵輸入中斷和鍵碼接收軟件
軟件流程及程序清單如圖所示。
MCU由中斷響應(yīng)程序接收鍵碼,返回主程序后,主程序根據(jù)鍵碼決定執(zhí)行何種功能模塊。
三、應(yīng)用
由于DTMF信號具有編、譯碼可靠性高,傳輸誤碼率低等特性,因此本文所介紹的鍵輸入電路具有抗干擾能力強的特點,已成功地應(yīng)用于城市路燈微機監(jiān)控系統(tǒng)。所有開關(guān)柜測控子系統(tǒng)的鍵碼都采用這種方式輸入。它們共用一個遙控器,這樣使系統(tǒng)抗干擾性、抗灰塵、抗老化等性能都大為改善。