|
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
只用I/O產(chǎn)生雙音多頻DTMF信號 |
作者:leiwei77 欄目:單片機(jī) |
//---------------如何只用I/O產(chǎn)生雙音多頻DTMF信號--------- 1。直接用2個I/O輸出不同的高低音頻方波,再用運放做加法,濾波,勉強(qiáng)可以; 2。在一段時間內(nèi)分別對高/低頻群取樣,得到不同的時間點上各個頻率幅度(可以用4位或8 位),編成8個表。分別抽取高頻和低頻表中某一時刻的幅值,做或運算,將得到的結(jié)果從4 位I/O口(8位就更精確)輸出,在I/O口上在按8421的權(quán)重來輸入到運放做加法,濾波,這 個辦法效果比較好,需要CPU跑的比較快。 3。上面兩種辦法,第一種其實是1位取樣,第二種是多位的取樣,關(guān)鍵還是要頻偏要小。 /////////////////////////////////////////////////////////// 我想用你的第二種方法,用6 I/O來作,可是不知怎么計算頻率的表格,好像不用定時器也可以。我附以PIC的程序,她好像沒用定時器這樣頻率是怎么得來的??還請指教如計算頻 率的表格。多謝!! ////////////////////////////////////////////////////////// 《單片機(jī)技術(shù)選編7》的259頁有計算方法,它的采樣頻率相同嗎?可采樣點數(shù)??N=M/Tf。式中T及f。是已知,M怎么定呢?M代表的周期又是誰的周期呢?兩個頻率如何產(chǎn)生(不用兩個 定時器)?還請各路高人發(fā)表高見或講出你的計算方法,小弟萬分著急! 再謝各位多多幫忙! (只用6 I/O產(chǎn)生雙音多頻DTMF信號方法已定,不能更改,并已選定用EMC的PIC16C57A或EMC的78P447來做) //-------------------------------------------------------- 《單片機(jī)技術(shù)選編7》可到本站去下,也可來信 leiwei77@163.com 取 pdf 檔 //////////////////////////////////////////////////////////// ; Filename: DTMF.ASM ; ********************************************** ; * Author: John Day * ; * Sr. Field Applications ENGINEER * ; * MICROCHIP TECHNOLOGY * ; * Revision: 1.1 * ; * Date December 20, 1995 * ; * PART: PIC16C54 * ; * Compiled using MPASM V1.40 * ; ********************************************** ; * Include files: * ; * NONE (used by DTMF.ASM) * ; ********************************************** ; * Fuses: OSC: XT (3.579545 Mhz XTAL) * ; * WDT: OFF * ; * CP: OFF * ; **************************************************************************** ; * This program uses and external R2R ladder network to generate complete * ; * DTMF dial tones used for telphone dialing. * ; **************************************************************************** ; * Program MEMORY: * ; * 220 Words - sine wave look-up table (7 sine waves total) * ; * 25 Words - keypad sine address MATRIX look-up * ; * 37 Words - DTMF sine wave base initialization/generation * ; * 3 Words - Initialization * ; * 25 Words - TEST SAMPLE code * ; * RAM MEMORY: * ; * 8 Bytes * ; **************************************************************************** ; list p=16C54, r=dec ; #include <p16c5x.inc> ; __CONFIG _XT_OSC&_WDT_OFF&_CP_OFF sinecolumnb_sineoffset equ 00 WAVEABASE EQU 10h ; Base address of sine A waveform POINTERA EQU 11h ; Pointer to current position in sine A WAVEBBASE EQU 12h ; Base address of sine B waveform POINTERB EQU 13h ; Pointer to current position in sine B NEXTVALUE EQU 14h ; Sum register to store Sine A + Sine B SINECOUNT EQU 15h ; LSB counter for time to OUTPUT DTMF SINECOUNTH EQU 16h ; MSB counter for time to OUTPUT DTMF TEMP EQU 17h ; Temporary storage ENDSINE EQU 127 ; VALUE to show the end of a sine table ; **************************************************************************** ; * sinelookup * ; * This is the look-up table for the (4 X 3) keypad MATRIX sine wave table. * ; * There are (7) sine waves stored here and adding any two from the * ; * MATRIX will PRODUCT a DTMF signal for the appropriate key * ; * CRYSTAL Frequency: 3.579545 Mhz & |
2樓: | >>參與討論 |
作者: sch_l 于 2003/3/29 13:50:00 發(fā)布:
你說的這個法有點復(fù)雜,如果沒有dtmf測試儀就不要 你說的這個法有點復(fù)雜,如果沒有dtmf測試儀就不要作樂,HT9200不貴的,這樣一個法:16個頻率分別取樣,利用表格組合起來16個代碼,兩個去養(yǎng)殖在發(fā)出之前相加即可. |
|
|
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號 |