I don't want any one to think that iam trying to get something from this forum without doing any kind of hard work.... my only question is:- Just like we can use assembly coding for microcontroller to detect Pulse Dialing from a telephone set. Can we use controller to detect Tone Dialing that is DTMF dialing.. considering the factors of low band & high band and their electrical sum of frequency. do we have to do some PWM or any other technqiue... i know that we can write codes to generate Tone Dialing from the controller but is it possible to use controller to detect Tone Dialing... without using MT8870 or any DTMF decorder.
Why not? As long as your microcontroller is powerful enough to digitize the signal at a speed of a few kilosamples per second and do some digital signal processing. Entirely possible, IMO. - mike
How it is possible...sir please guide me a sample code.. let suppose that i want that when ever digit "12" is dialed from Tone telephone set 89c52 reads the incoming sum of frequenct and compare it with digits stored in controller registers and if the number is the same as stored then controller light up a LED other wise do nothing...
Hey, that's a second question! :-)) Besides, I don't know. - mike
I am not a DSP guru. There are eight tones (frequencies) involved in DTMF encoding. You need a way to digitize the audio, and a digital filter running on the processor to detect those eight frequencies. The pair of frequencies that is present will give you the digit dialed. A quick Google on "DTMF software decoding" turned up a link to some source intended for a five-year-old PC machine with floating point. It could be done in integer math, according to the author. The filter doesn't look that hairy, but I haven't done more than glance at it. http://www.geocrawler.com/mail/msg.php3?msg_id=795028&list=161 Perhaps even better would be this page, which seems to talk about doing the A/D with a single bit from a comparator, and has PIC source code. (If a PIC can manage, I imagine an 8051 can as well.) http://www.interstice.com/~sdattalo/technical/theory/dtmf.html
Ok,,, thanks a lot for DTMF stuff its really helpful... Now please can any one guide me how to make the controller count pulses coming from a SLIC connected to a pulse dialing telephone set and compare the dialed number already stored in the memory and if the number matches then do some desired function.... i know timer can be used as pulse counter if any thing is connected at p3.2 in case of 89c52 but what if i have more than 1 telephone set... example code needed
I am Chinese.I have a practicable DTMF software decoding solution.It is based on the Fourier arithmetic.For details,please contact with me. email:jiang_s_x@163.com