Syntax
DTMFOUT Pin , { OnTime } , { OffTime, } [ Tone {, Tone…} ]
Overview
Produce a DTMF Touch Tone sequence on Pin.
Operators
Pin - a PORT.BIT constant that specifies the I/O pin to use. This pin will be set to output during generation of tones and set to input after the command is finished.
OnTime - optional variable, constant, or expression (0 - 65535) specifying the duration, in ms, of the tone. If the OnTime parameter is not used, then the default time is 200ms
OffTime - optional variable, constant, or expression (0 - 65535) specifying the length of silent delay, in ms, after a tone (or between tones, if multiple tones are specified). If the OffTime parameter is not used, then the default time is 50ms
Tone - a variable, constant, or expression (0 - 15) specifying the DTMF tone to generate. Tones 0 through 11 correspond to the standard layout of the telephone keypad, while 12 through 15 are the fourth-column tones used by phone test equipment and in some radio applications.
Example
DTMFOUT PORTA.0 , [ 6 , 6 , 6 , 7 , 0 , 9 ] ' Call Crownhill.
If the PICmicro was connected to the phone line correctly, the above command would dial 666-709. If you wanted to slow down the dialling in order to break through a noisy phone line or radio link, you could use the optional OnTime and OffTime values: -
'Set the OnTime to 500ms and OffTime to 100ms
DTMFOUT PORTA.0 , 500 , 100 , [ 6 , 6 , 6 , 7 , 0 , 9 ] ' Call Crownhill Slowly.
Notes
DTMF tones are used to dial a telephone, or remotely control pieces of radio equipment. The PICmicro can generate these tones digitally using the DTMFOut command. However, to achieve the best quality tones, a higher crystal frequency is required. A 4MHz type will work but the quality of the sound produced will suffer.
Caution
Connecting any device to the phone line in the UK is frowned upon by the authorities without approval. Both Crownhill Associates, and myself do not condone unauthorized telephone connections, and will not be held responsible for any aforementioned authorised or unauthorized connections.
The PICmicro is a digital device, however, DTMF tones are analogue waveforms, consisting of a mixture of two sine waves at different audio frequencies. So how can a digital device generate an analogue output? The PICmicro creates and mixes two sine waves mathematically, then uses the resulting stream of numbers to control the duty cycle of an extremely fast pulse-width modulation (PWM) routine. Therefore, what's actually being produced from the I/O pin is a rapid stream of pulses. The purpose of the filtering arrangements illustrated above is to smooth out the high-frequency PWM, leaving behind only the lower frequency audio.
You should keep this in mind if you wish to interface the PICmicro's DTMF output to radios and other equipment that could be adversely affected by the presence of high-frequency noise on the input. Make sure to filter the DTMF output scrupulously