dtmf decoder sorunu!!!

arkadaşım zamanında bende pic ile cm8870 entegresini içeren bir proje ile uğraştım. benim hatam şu olmuş pull-up yerine pull down koymuşum haliyle simetrik tuş kombinasyonlarının çalışmasından sorunumu anladım ve düzeltim... örneğin ben ben 6 bastığımda 6=%0110 yerine 9=%1001 basıldığını farkettim. 7=%0111 olduğuna göre 8=%1000 mı ? elde ediyorsun ona bi bakmak lazım. aslında kendi devrenden şüphelenmiyorsan arkadaşlarında dediği gibi telefon hattı ile bir deneme yap entegremiz düzgün çalışıyormu ondan bi emin olalım...

bu arada çizimi proteus lamı yaptın bilmiyorum ama proteusta benim bildiğim cm8870 yoktu... simülasyonu proteusta yapacaksan sana bir iki taktik te verebilirim... böylece cm8870 olmadan da pici simüle edebilirsin şimdiden kolay gelsin....

saygılarımla....
 
DTMFOUT PORTB.0,[1,2,3,4] 'PORT ÇIKIŞINDAN 1 2 3 4 TUŞLARININ FREKANSLARINI GÖNDERİR.
 

öncelikle açıklaman için tesekkürler....ben tuş kodlarını picden ks58015 e basıyorum.....ks58015 çıkısını digital skop ile incelediğimde örneğin 7 rakamının tone frekansını görebiliyorum....
cm8870 devresi standart bir devre....ks58015 çıkısının cm8870 in girişine bağlıyorum fakat 7 nin karsılığı olan bişi göremiyorum...hatta hiç birşey...

birde sunu merak ediyorum....cm8870 in data girşi bosta iken devreye +5v verince çıkıştaki ledlerden bazıları yanabiliyor...bu normalmidir
 
Syntax

DTMFOUT Pin , { OnTime } , { OffTime, } [ Tone {, Tone…} ]

Overview

Produce a DTMF Touch Tone sequence on Pin.

Operators


Pin - a PORT.BIT constant that specifies the I/O pin to use. This pin will be set to output during generation of tones and set to input after the command is finished.
OnTime - optional variable, constant, or expression (0 - 65535) specifying the duration, in ms, of the tone. If the OnTime parameter is not used, then the default time is 200ms
OffTime - optional variable, constant, or expression (0 - 65535) specifying the length of silent delay, in ms, after a tone (or between tones, if multiple tones are specified). If the OffTime parameter is not used, then the default time is 50ms
Tone - a variable, constant, or expression (0 - 15) specifying the DTMF tone to generate. Tones 0 through 11 correspond to the standard layout of the telephone keypad, while 12 through 15 are the fourth-column tones used by phone test equipment and in some radio applications.

Example

DTMFOUT PORTA.0 , [ 6 , 6 , 6 , 7 , 0 , 9 ] ' Call Crownhill.

If the PICmicro was connected to the phone line correctly, the above command would dial 666-709. If you wanted to slow down the dialling in order to break through a noisy phone line or radio link, you could use the optional OnTime and OffTime values: -

'Set the OnTime to 500ms and OffTime to 100ms
DTMFOUT PORTA.0 , 500 , 100 , [ 6 , 6 , 6 , 7 , 0 , 9 ] ' Call Crownhill Slowly.

Notes

DTMF tones are used to dial a telephone, or remotely control pieces of radio equipment. The PICmicro can generate these tones digitally using the DTMFOut command. However, to achieve the best quality tones, a higher crystal frequency is required. A 4MHz type will work but the quality of the sound produced will suffer.

Caution

Connecting any device to the phone line in the UK is frowned upon by the authorities without approval. Both Crownhill Associates, and myself do not condone unauthorized telephone connections, and will not be held responsible for any aforementioned authorised or unauthorized connections.




The PICmicro is a digital device, however, DTMF tones are analogue waveforms, consisting of a mixture of two sine waves at different audio frequencies. So how can a digital device generate an analogue output? The PICmicro creates and mixes two sine waves mathematically, then uses the resulting stream of numbers to control the duty cycle of an extremely fast pulse-width modulation (PWM) routine. Therefore, what's actually being produced from the I/O pin is a rapid stream of pulses. The purpose of the filtering arrangements illustrated above is to smooth out the high-frequency PWM, leaving behind only the lower frequency audio.

You should keep this in mind if you wish to interface the PICmicro's DTMF output to radios and other equipment that could be adversely affected by the presence of high-frequency noise on the input. Make sure to filter the DTMF output scrupulously
 
Arkadaslar ayıp olmazsa ben bunu 5 role kontrol edecek sekilde yaptım 60$ a satıyorum hazır ürün olarak isterseniz demo board olarakta kullanabilirsiniz ,isteyen olursa mai yollayabilir. ******@gmail.com
 
Moderatör tarafında düzenlendi:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…