Vous êtes sur la page 1sur 4

December 10, 2011 [MICRO LAB PROJECT]

Name: Khizar Ahmad Qureshi

09-4361

Name: naeem Ul Hassan

09-4379

Section: EE-1

Micro Lab Project


Dual Tone Multi Frequency Signaling

Naeem Ul Hassan, Khizar Ahmad Qureshi Page 1


December 10, 2011 [MICRO LAB PROJECT]

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

Naeem Ul Hassan, Khizar Ahmad Qureshi Page 2


December 10, 2011 [MICRO LAB PROJECT]

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

Naeem Ul Hassan, Khizar Ahmad Qureshi Page 3


December 10, 2011 [MICRO LAB PROJECT]

o The display function has a few features too


Most part if a regular display function with a single addition
As after 4 inputs the values should be retaken so display checks if
four inputs are done
And each input is stored in locations from 22H 26H so they
can be refreshed constantly to reduce flickering
When this is done on the fifth input the locations 22H 26H
are loaded with 0FFH which results in nothing being displayed
and new value on the MSB
o Refresh function
Its job is to constantly redisplay the code in order to avoid any
flickering

Conclusion and Driving Circuit


From all this we get a working software implementation. In order to implement it on
breadboard we require a current driving circuit for each microcontroller as on their
own they cannot provide enough current to power up the Dot Matrix and so forth
with required ports

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.

Naeem Ul Hassan, Khizar Ahmad Qureshi Page 4

Vous aimerez peut-être aussi