katana ' Alıntı:
Kendi ürettiğin tondan ziyade ilk denemeler için güvenilir bir ton sinyalini yakalamanı tavsiye ederim. Telefon hattına pararlel bağlanarak mesela.
Devre şemanı incelemek isterim.
8870 için komponenetlerde hata yapmadı isen ton sinyali yakalandığında RD pini high olur ve 4 bit olarak çıkışta ton decode edilmiş ve binary olarak kilitlenir. Ton kaynağı tonu kestiğinde RD pini low olur lakin 4 bitlik bilgi halen kilitli olarak kalır.
mt8870 veya cm8870 e ton sinyali girişte uygulanmadığı takdirde devreye besleme verdiğim zaman decoderin çıkısındaki ledler yanabiliyor...beslemeyi kesip tekrar verdiğimde yanan ledler değişebiliyor...bunun nedeni nedir????
verici devresinde 16f877A ve ks58015 kullanıyorum...pic in pin b0,b1,b2,b3 bacakları dtmf girişine bağlı....encoderın tone enable pinini pic den pin_d0 ile sağlıyorum...kristal 3.5Mhz...çıkışta 10K var...digital skopta baktığımda örneğin 7 rakamının tone frekansını görebiliyorum....encoder ın tone out çıkısını standart bir cm8870 veya mt8870 e bağladım ama ledler yanmadı....decoder devresini cm8870 ve mt8870 in datasheetinde var....decoder ve encoder ların zaman diyagramlarına uyuyorum fakat istediğim olmuyor....
acil yardıma ihtşyacım var....program burda :
örneğin 7 rakamını bastırıyorum
#include <16f877A.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(d)
#define tone_enable pin_d0
char telefon_no[7]={'7','5','4','7','8,'1','4'};
int i;
void main()
{
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_ccp1(CCP_OFF);
setup_ccp2(CCP_OFF);
set_tris_b(0x00);// B portunu tamamen çıkış
set_tris_d(0b00000000);// Pin_d0 çıkış(tone_enable)
output_b(0x00);// B potunu baslangıcta sıfırla(data çıkışları)
output_bit(tone_enable,0);// Pin_d0 sıfır
while(1){
output_low(tone_enable);// KS58015 entegresinin tone enable ucu lojik 0
output_b(telefon_no[0]);// B portuna data çıkışı
delay_ms(1);// "Data set up time" süresi tsu
output_high(tone_enable);// KS58015 entegresinin tone enable ucu lojik1
delay_ms(500);// "Data hold time" süresi thd
output_low(tone_enable);// KS58015 entegresinin tone enable ucu lojik 0
delay_ms(30);// Telefon hattında tone frekansının gönderilme süresi
}}