Académique Documents
Professionnel Documents
Culture Documents
09-4361
09-4379
Section: EE-1
Project Description
Cellphones around the world use this principle, the principle of DTMF signaling. In
our case it was much simpler to design a an interfacing between two micro-
controller, one will encode a frequency signal and the other decode
Only two wires were allowed to be connected between micro controller and these
would have the signaling waves travelling. The waves in our case would be square
waves in order to achieve great simplicity.
Division of Work
Khizar:
The decoding function mostly but logic was developed together
The calculations to and how the lookup tables should be
Fine tuning in encoding function
Naeem:
The encoding function
The calculations for frequencies, counts etc
Few missing routines in the decoding function
Implementation of XTAL
Project Working
The project is divided into multiple steps
Keypad
o The keypad from 0 to 9, hash and star possibilities is used
o As any key is pressed a certain frequency is generated
o The input switches are connected with the encoder (micro controller)
Encoder
o The encoders main purpose is to convert the internal input received
from the keypad and encode its frequency and transmit over wires
connected to the decoder
o Which key is pressed is detected firstly with the logic and code as done
in lab.
o After the key is detected from the lookup table respected frequency
wave is generated using timers and interrupts
o After the wave is generated the resultant wave is transmitted to the
second micro controller
Decoder
o The decoder is the main complex part of the circuitry
o The decoder first gets the input using hardware based external inputs,
XTALs
o As the input is read a timer is started for about 70milliseconds and
along with it a counter triggered on falling edge
As the signal keeps on coming for about 70 milliseconds it is
read
The counter keeps incrementing at every falling edge and at the
end of 70 milliseconds a count is achieved
This count as seen for all frequencies is in the lower byte of the
counter so the upper byte is ignored while comparing
o A lookup table is made with the counts corresponding to all different
frequencies
o A compare function is called which takes these counts and compares
first with the UPPER limit of the frequency and then the lower
This logic is carried out using CJNE, in which when the first
operand is less than the second operand the carry bit is set to
high
Please note the upper and lower limits are required as a
particular range is kept for the count of each frequency
This is very much required as we cannot get exactly one
count every single time
Hence a range of values are needed
o After the compare function has identified which frequency wave was
sent, and which value does it correspond to the display function is
called
In the end we get a DTMF Signal Generator, Signal Decoder, and Dot Matrix
Display to get whatever is pressed on the keypad on the Dot Matrix.