DTMF Phone Decoder

DTMF Phone Decoder


DTMF Phone Decoder


DTMF tone is mainly used in telecommunication technology, such as dialing a phone number, handling various services over the telephone, as a selective choice of radio stations, etc. The individual characters are assigned to different pairs of tones. The described decoder Received characters on the LED display, and stores them in memory, where they can be retrieved later. No matter allows for some sequences of characters on and off properly connected device. In practice, the decoder can be built as in the transmitter and connected to feeder line, the transmitter can then be remotely switched on and off, or you can run such a parameter indicating the traffic reports TA in RDS. The required sequence of tones may be part of the jingle.

DTMF Phone Decoder


Power supply: 8-20 V, about 20 mA

Number of memory locations: 54


R1 – 100 to mini trimmer

R2 – 82 to

R3 – 100k

R4 – 270

C1, C2, C3 – 100 nF Mini

C4 – 10 uF

C5 – 27 pF

D1 – 1N4148

D2 – Zener Diode 2.7 or 3 V, 0.5 V, see below

D3 – HDSP-5701 LED Display

IO1 – 78L05

IO2 – MT8870

IO3 – PIC16F84 + socket, see below

IO4 – 74HC164

X1 – 3.579545 MHz crystal, tolerance 0.1%

TL1, TL2 – mini button, for example, GM: P-B1720B

Set programmer: Oscillator: XT, WDT: he


The decoding of DTMF signals is used MT8870 known circuit, which requires only a minimum of additional components. Input signal level is set by trimmer R1. Resistors R2 and R3 define the input amplifier gain. Frequency oscillator is used for clock control circuit – PIC16F84 microcontroller. Involvement of the screen is normal with a sliding register 74HC164. To simplify the display is powered only through the zener diode, the brightness depends somewhat on how many segments are lit. Proved the connection of two diodes in parallel 3. Note that the higher brightness implies significantly higher current consumption, which can interfere mainly on battery power.

Function Description

The decoder can display all characters used in the DTMF digits ie 0-9, the letters A to D, the character “*” as “H” and “#” character as “a”. Other symbols are used – to pause, “_” for an empty spot and three horizontal stripes separate the last and first position.

Accepted characters are immediately displayed on screen and also gradually occupy different positions in memory. When the memory is stored with the characters in the last position and overwrite the previous here. If the delay after the last character received more than about 4 seconds to insert a pause character. This group of characters can be separated in time. When you are not accepted any characters, you can browse the memory buttons, pressing both buttons will be reset and empty the memory. While receiving extra dot character shines.

If the received sequence of characters 32,065 , will appear at the output RA2 log. 1 , if accepted by a sequence of characters 48,976 , will appear in the log output RA2. 0 . This feature works regardless of the memory is full. Delay between characters can not be longer than about 4 seconds. After turning on the output RA2 in the state log. 0. When reset by pressing both buttons are the same.

Example Usage

For remote control transmitter can be used as the following connections. Using a decoder for switching output RA2 IO4 components may be omitted, D2, D3, TL1 and TL2.

DTMF Phone Decoder

Sorry, comments are closed!