http://m.butianyuan.cn/article/201612/332844.htm 1 概述
由于雙音多頻DTMF信號具有抗干擾能力強、傳輸距離遠(yuǎn)、數(shù)據(jù)準(zhǔn)確等特點,因而可廣泛應(yīng)用于通訊、遙控等領(lǐng)域。利用DTMF信號可實現(xiàn)雙總線的遠(yuǎn)距離微機通訊,以完成控制或數(shù)據(jù)的傳輸。本文介紹采用DTMF信號發(fā)生芯片MT5087及接收芯片MT8870來實現(xiàn)與AT89C51單片機的硬件接口電路,該電路通過軟件編程可實現(xiàn)遠(yuǎn)距離通訊,具有一定的應(yīng)用價值。
2 DTMF信號發(fā)生器MT5087
MT5087是雙音多頻電話撥號器,通過該芯片可完成4×4矩陣編碼。MT5087具有電源工作范圍寬、輸出電平可調(diào)、諧波失真小等特點。其引腳排列如圖1所示。各引腳功能如下:
●VDD、VSS(1,6腳):電源端;
●C1~C4(3、4、5、9腳):內(nèi)部具有下拉電阻的鍵盤比值向輸入端;
●R1~R4(14~11腳):內(nèi)部具有上拉電阻的鍵盤橫向輸入端;
●OSC1、OSC0(7,8腳):振蕩器輸入、輸出端;
●TONE1(15腳):單音抑制輸入端,為“0”時禁止單音輸出;
●TONE0(16腳):雙音頻信號輸出端,此端接內(nèi)部NPN晶體管的發(fā)射極,外加接地電阻可構(gòu)成射極輸出器。
M5087的矩陣編碼表如表1所列。
3 DTMF信號接收器MT8870
MT8870是雙音多頻接收芯片,可用來完成DTMF信號的接收、分離和譯碼;能輸出由相應(yīng)16和DTMF頻率組合4位并行二進制碼。MT8870的引腳排列如圖2所示。各主要引腳功能如下:
●IN+、IN-:運放同相、反相輸入端;
●FB:運放輸出端;
●VREF:基準(zhǔn)電壓輸出端;
●OSC1、OSC0:振蕩器輸入、輸出端;
●EN:數(shù)據(jù)輸出允許端。為“1”時允許數(shù)據(jù)輸出;為“0”時禁止數(shù)據(jù)輸出;
●D4~D1:16種DTMF信號所對應(yīng)的4位二進制并行碼數(shù)據(jù)輸出端;
●DV:延遲控制輸出,當(dāng)一組有效的雙音頻信號被接收時輸出“1”;否則輸出“0”;
●EC0:初始控制輸出端。若電路檢測出可識別的單音對,則此端變成高電平,若無輸入連續(xù)失真,則EC0返回低電平;
●CI:時間監(jiān)控輸出端。
表1同時也列出了MT8870的譯碼表。
表1 MT5087編碼表及MT8870譯碼表
MT5087編碼表 | 雙音頻率(Hz) | MT8870譯碼表 |
C4 | C3 | C2 | C1 | R4 | R3 | R2 | R1 | NO. | fl | fH | D4 | D3 | D2 | D1 | 十六制碼 |
L | L | L | × | H | H | H | × | 1 | 697 | 1209 | 0 | 0 | 0 | 1 | 1 |
L | L | × | L | H | H | H | × | 2 | 697 | 1336 | 0 | 0 | 1 | 0 | 2 |
L | × | L | L | H | H | H | × | 3 | 696 | 1477 | 0 | 0 | 1 | 1 | 3 |
L | L | L | × | H | H | × | H | 4 | 770 | 1209 | 0 | 1 | 0 | 0 | 4 |
L | L | × | L | H | H | × | H | 5 | 770 | 1336 | 0 | 1 | 0 | 1 | 5 |
L | × | L | L | H | H | × | H | 6 | 770 | 1477 | 0 | 1 | 1 | 0 | 6 |
L | L | L | × | H | × | H | H | 7 | 852 | 1209 | 0 | 1 | 1 | 1 | 7 |
L | L | × | L | H | × | H | H | 8 | 852 | 1366 | 1 | 0 | 0 | 0 | 8 |
L | × | L | L | H | × | H | H | 9 | 852 | 1477 | 1 | 0 | 0 | 1 | 9 |
L | L | × | L | × | H | H | H | 0 | 941 | 1336 | 1 | 0 | 1 | 0 | A |
L | L | L | × | × | H | H | H | * | 941 | 1209 | 1 | 0 | 1 | 1 | B |
L | × | L | L | × | H | H | H | # | 941 | 1477 | 1 | 1 | 0 | 0 | C |
× | L | L | L | H | H | H | × | A | 697 | 1633 | 1 | 1 | 0 | 1 | D |
× | L | L | L | H | H | × | H | B | 770 | 1633 | 1 | 1 | 1 | 0 | F |
× | L | L | L | H | × | H | H | C | 825 | 1633 | 1 | 1 | 1 | 1 | F |
× | L | L | L | × | H | H | H | D | 941 | 1633 | 0 | 0 | 0 | 0 | 0 |
表2 P2輸出編碼表
No. | P27 | P26 | P25 | P24 | P23 | P22 | P21 | P20 | 十六進制碼 |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1EH |
2 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 3EH |
3 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 3EH |
4 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1DH |
5 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 2DH |
6 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 3DH |
7 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1BH |
8 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 2BH |
9 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 3BH |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 27H |
* | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 17H |
# | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 47H |
A | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 8EH |
B | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 8DH |
C | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 8BH |
D | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 87H |
4 硬件接口電路
圖3所示是MT8870、MT5087與單片機進行接口以實現(xiàn)DTMF信號傳輸控制的硬件電路,在該硬件電器中,MT8870,MT5087的外轉(zhuǎn)帳電路與通常的應(yīng)用電路基本相同,接收電路中MT8870的10腳EN與15腳DV接在一起,當(dāng)一個有效雙音頻信號被接收后,DV輸出記電平。在腳EN為高電平時允許數(shù)據(jù)輸出,同時經(jīng)T1反相后以低電平送給AT89C51中斷輸入口INT1,以執(zhí)行中斷程序并接收碼處理;發(fā)碼電路MT5087的15腳TONE1接地是為使能雙音頻信號輸出,TONE0為雙音頻輸出,內(nèi)接NPN晶體管的發(fā)射極,外接電阻R11可構(gòu)成射極輸出器并連至總線,若通訊距離較長,可考慮加一驅(qū)動級。矩陣鍵盤行R1、R2、R3、R4和列C1、C2、C3、C4與AT89C51的P2口連接。發(fā)碼時,只有當(dāng)行、列端分別有一個端為VDD/2電平時才選中一組雙音頻信號發(fā)出。該電路利用P2口線的內(nèi)部上拉電阻與MT5087的內(nèi)部上、下拉電阻配合來實現(xiàn)發(fā)碼。
5 軟件設(shè)計問題
在程序設(shè)計時,應(yīng)考慮本身發(fā)碼時對自身收碼的屏蔽,即發(fā)碼時應(yīng)關(guān)掉INT1中斷,發(fā)碼結(jié)束后再開啟中斷。發(fā)送數(shù)據(jù)時P2口線的編碼見表2所列。
6 結(jié)束語
應(yīng)用DTMF信號進行遠(yuǎn)程數(shù)據(jù)通訊可以將通訊距離提高到幾公里,但是,其數(shù)據(jù)傳輸速度可能會受到DTMF信號的限制,盡管如此,采用本文所給定的DTMF信號與AT89C51的接口電路在些特殊場仍具有一定的實用價值。
評論