i am doing project on phone remote control of home appliances using microcontroller 8031.
we are in a problem of interfacing dtmf with the microcontroller.
A part of the project involves decoding the input no thro' telephone (one at a time).totally we need to get four digits sequentially & store in mc memory (we use std high input which indicates the presennce of a data).the std high stays high for 4 milliseconds. But the mc is so fast thst it takes the data at the rate of 1 microseconds. so instead of taking 4 different datas it takes the same data very fast & stores the same data in memory.
giving some delay is also not helpful here.
give anybody either give an idea of clearing away this prob or send me the program .
bye...shanmugam. bsvl_rect@yahoo.com
Can't help you with the 8031 code since i've never used it, but here is what you will have to do. Between each DTMF signal there is a delay of some sort where no signal is being sent. Once you recognize the signal being sent, you have to put your controller into a loop that looks for the no signal condition. Once you have detected that there is no signal, you can have the controller branch back to DTMF decoding algorithm.
Code:
Pseudocode:
store_signal
Acquire and Store DTMF signal in memory
goto look_for_delay
look_for_delay
Is Input Zero?
If no, goto look_for_delay
else
If yes, goto store_signal to look for next DTMF signal