Proton dtmf komutu ile arama yapma

Başlatan gokhangokcen, 15 Mayıs 2013, 13:37:43

gokhangokcen

merhaba arkadaşlar proton derleyicisindeki dtmf komutunu kararlı bir vaziyette çalıştıramadım.Daha önceden tecrübesi olan var mı acaba yönlendirme yapabilir misiniz? derleyici versiyonum 3.2.5.5 ide 1.0.4.6

oluşturduğum devre ise helpindeki 1k ve 100nf olan devreyi kurdum hat açma için porta.1,dtmf çıkışı olarak porta.0  kullandım program ve isis şeması;
Device 16F877A

XTAL 20

@ CONFIG_REQ 
@ __config CP_ALL & CPD_ON & WDT_off & HS_OSC & PWRTE_ON & BODEN_OFF & WRT_1FOURTH & LVP_OFF & DEBUG_OFF 



ADCON1=7
PORTB_PULLUPS = On

TRISA=%000000
TRISB=%00001111
TRISC=%00000001
TRISD=%00000001
TRISE=%111

PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0


ana_program:

GoSub isi1_oku
HSerOut ["1. sensor ",DEC2 temp," C  "]


If PORTE.2=0 Then 
DelayMS 100
GoTo ayar_menu
EndIf
DelayMS 250

If temp<isi1_alt Then
PORTC.3=1
Cls
DelayMS 30
Print At 1,1,"dlp1 dusuk isi"
DelayMS 100
HSerOut [" dolap1 dusuk isi  "]
DelayMS 100
GoSub arama
EndIf
If temp>isi1_ust Then
PORTC.3=1
Cls
DelayMS 30
Print At 1,1,"dlp1 yuksek isi"
DelayMS 100
HSerOut [" dolap1 yuksek isi  "]
DelayMS 100  
GoSub arama
EndIf

goto ana_program


arama:
PORTA.1=1
PORTA.2=1
DelayMS 100

DTMFOut PORTA.0,[numara1[0],numara1[1],numara1[2],numara1[3],numara1[4],numara1[5],numara1[6],numara1[7],numara1[8],numara1[9],numara1[10]]
DelayMS 20
Print At 2,1,"1.no araniyor"

For z=0 To 200
DelayMS 100

If PORTE.2=0 Then
DelayMS 100
PORTC.3=0
PORTA.1=0
PORTA.2=0
Cls
DelayMS 30
GoTo ayar_menu
EndIf

Next


return




http://j1305.hizliresim.com/19/h/n2szh.bmp


sıkıntım ise bazen arama yapıyor bazen yapmıyor.Bir farklı sıkıntımda program epeyce bir büyük olduğu için 18f452 kullandım ama dediğim gibi arama yapmamasından dolayı büyük problem yaşamaktayım.
Bildiğini paylaşmak, Allah'ın verdiği öğrenme yeteneğinin zekatıdır.

gokhangokcen

arkadaşlar kodlar çalışır durumda isteyen kullanabilir düzenledim gayet güzel şekilde arama yapıyor resimdeki şema ile kullanabilirsiniz.Fakat daha öncede bahsettiğim gibi 18f serisi için çalıştıramadım diye söylemiştim.Nette bir kaç araştırma yaptım proton 18f serileri için dtmf sıkıntılı diye bir çok arkadaş dert yanmış desteklemiyor gibisinden 16f serileri ile 20mhz de gayet başarılı.
Bildiğini paylaşmak, Allah'ın verdiği öğrenme yeteneğinin zekatıdır.

Maxim

kullandığınız proton versiyonu çok eski o yüzden olmasın sıkıntı ?
güncel versiyon 3.5.5.5

gokhangokcen

yeni seriyide denedim maxim hocam ben çalıştıramadım 18f452 ile belki benden kaynaklı gözden kaçan bir nokta vardır.aynı kodları yeni versiyonda 16f877a için derlediğimde çalışmakta.
Bildiğini paylaşmak, Allah'ın verdiği öğrenme yeteneğinin zekatıdır.