Wing Kent Kwan wrote: > > how can I generation the DTMF only use the PIC or MCU?????? > THANK! I'd use a lookup table with linear interpolation for generating the two sine waves, a highly optimized routine to mix them, and an isochronous 256-level software PWM for the D/A. But that's just me. Other's would probably go ahead and use Eric Smith's DTMF dialer: http://www.brouhaha.com/~eric/pic/dtmf.html If you really insist on complexity then you are welcomed to look at: http://www.dattalo.com/technical/software/pic/picsine.html http://www.dattalo.com/technical/software/pic/twist.asm http://www.dattalo.com/technical/software/pic/pwm256.txt For three routines that can be combined to give a really precise DTMF waveform. BTW, the sinewave routine has recently been updated and is now about 25% faster. I also have a version that works (but is not yet fully optimized) for the 18cxxx core: http://www.dattalo.com/technical/software/pic/sine18.asm (You gpasm users please be for-warned: this routine uses features that are only available in gpasm-0.0.8 - which will be released fairly soon. MPASM users also should be warned, I know that this routine will need modification to be assembled.) Scott