Home | About Us | Contact Us | DIY Projects | Tutorials |Pictures |Retro Computing | The Luddite
Page 2 | PDF Version |

DTMF Display

This Project was originally for monitoring DTMF signalling on a radio System It is based around the Motorola MC145436 DTMF Decoder with a PIC16F84 providing memory, Decoding and Interface to a 16*1 LCD module and a 74LS241 buffering 4 push buttons

The Circuit itself is fairly straightforward the MC145436 circuitry is straight out of the data sheet. It uses a Crystal locked oscillator based around a 3.579 MHz colour burst Crystal and generates a 447.4 KHz clock which feeds the Oscillator input on the PIC16F84. When the MC145436 Receives a valid tone it raises the DAV pin, when the OE lead goes High the output buffer on the MC145436 goes low impedance and presents the last data it received on the Data pins (1,2,14,13) the OE line also enables the output from the 74LS241 and the processor also reads the state of the 4 Push buttons. R5 is a pullup Resistor for the open collector output RA4 and R1-4 are pull down Resistors for the Pushbuttons.

Although the 74LS241 is an 8 bit buffer only 4 bits are used - although smaller buffers are available the pin out of the 74LS241 makes the PCB easier to design and the cost for the 74LS241 is the same if not less than the alternatives.

The 16F84 decodes the Data from the MC145436 into ASCII, stores it in a Rotary buffer and then updates the LCD Display. In fact most of the work in this Project is done by the Code in the Processor.

Power for the display can be regulated using a 7805 voltage regulator or if a 5V supply is already available, the regulator can be left off and power connected via the +5V connection.

The Source Code is available for Viewing or Download, however my original code was on a Laptop which was stolen so I had to read the code from an already programmed 16F84 and the comments and Pseudo code in this listing are based on my memory of how the code worked - in other words there may be some errors.

The Source Code can be viewed here or downloaded as a Text file (right click then "save target as") here.

to use the DTMF display simply connect power and the signal to be monitored.
As DTMF signals come in they will be decoded and displayed on the screen.
if DTMF tones come in with less than a 2 second gap between them they will be displayed next to each other. if no new tone is received in 2 seconds a space is automatically inserted.

To scroll back and forth through the buffer you use the <== to scroll left and== > to scroll right.
To stop the display scrolling as new tones come in press the hold button and to clear the buffer press the Clear button.

Please note that I do not have a kit for this project and teh schematics and Code are only for information purposes.
The Reason fo this is that I can not see any major demand for this as a kit - if you know of any common application then let me know and I may release a kit for this.

Copyright 2009 Australian Technical Production Services