Dtmf devresi ve devre kodlarında sorun var!!

Airslowf

Üye
Katılım
7 Eki 2021
Mesajlar
14
Puanları
1
Yaş
23
Merhabalar fotoğraflarını attığım gibi elimde bir dtmf devresi var gönderdiğim microcode dosyasında ise bu devreye ait PBP kodları mevcut PIC e bu kodları attığımda devrem çalışmıyor 8870 entegrem " * " tuşuna basıldığında algılamıyor ve entegreyi değiştirdim yine aynı sorun PIC i değiştirdim yine aynı sorun ölçümler esnasında Q1,Q2,Q3,Q4 girişlerinin çalıştığını gördüm ardından PIC i de ölçerek test ettim ve çalıştığını gördüm fakat röleli çektirtemiyorum. (burada bu kadar anlatabildim henüz yeni bir elektronikçiyim anlatamadıysam kusura bakmayın yardımlarınızı bekliyorum).
Devrenin Kodları Bunlar

''@ DEVICE pic16F628A
'@ DEVICE pic16F628A, WDT_OFF
'@ DEVICE pic16F628A, PWRT_ON
'@DEVICE pic16F628A, INTRC_OSC_NOCLKOUT
'@ DEVICE pic16F628A, PROTECT_ON

TRISB=%11111111
TRISA=%11110000
PORTA=0
PORTB=0
CMCON=7 '
OPTION_REG.7=0
STD var PORTB.0 '1 STD 8870)TONE enable
E1 var PORTB.4 'Q1 du 8870
E2 var PORTB.3 'Q2 du 8870
E3 var PORTB.2 'Q3 du 8870
E4 var PORTB.1 'Q4 du 8870

SIFRE_1 var PORTA.0 '
SIFRE_2 var PORTA.1
SIFRE_3 var PORTA.2
SIFRE_4 var PORTA.3

b1 VAR BYTE
b2 VAR BYTE
b3 VAR BYTE
TEMP VAR BYTE
b1=0
b2=0
b3=0

c1 var BYTE '1° code DTMF
c2 var BYTE '2° code DTMF
c3 var BYTE '3° code DTMF
c4 var BYTE '4° code DTMF
Q1 var BIT
Q2 var BIT
Q3 var BIT
Q4 var BIT

READ 10,temp
IF TEMP=10 THEN SIFRE_1=1
IF TEMP=10 THEN SIFRE_2=1
IF TEMP=10 THEN SIFRE_3=1
IF TEMP=10 THEN SIFRE_4=1

BASLA:
DTMF1:
BUTTON STD,1,255,0,b1,1,DECODER1
PAUSE 20
BUTTON STD,0,255,0,b2,1,RAZ
GOTO DTMF1
DECODER1:
Q1=E1
Q2=E2
Q3=E3
Q4=E4
c1 = Q1 + 2*Q2 + 4*Q3 + 8*Q4
GOTO DTMF2

DTMF2:
b3=0
WHILE b3<75
BUTTON STD,1,255,0,b1,1,DECODER2
PAUSE 20
b3=b3+1
WEND
GOTO DTMF1
DECODER2:
Q1=E1
Q2=E2
Q3=E3
Q4=E4
c2 = Q1 + 2*Q2 + 4*Q3 + 8*Q4
GOTO SIFRE

RAZ:

Q1=0
Q2=0
Q3=0
Q4=0
GOTO DTMF1
END
SIFRE:
PAUSE 10
IF c1=12 AND c2=1 THEN
SIFRE_1=1
WRITE 10,10:pause 10
ENDIF
IF c1=10 AND c2=1 THEN
SIFRE_1=0
WRITE 10,255:pause 10
ENDIF
IF c1=12 AND c2=2 THEN
SIFRE_2=1
WRITE 10,10:pause 10
ENDIF
IF c1=10 AND c2=2 THEN
SIFRE_2=0
WRITE 10,255:pause 10
ENDIF
IF c1=12 AND c2=3 THEN
SIFRE_4=1
WRITE 10,10:pause 10
ENDIF
IF c1=10 AND c2=3 THEN
SIFRE_4=0
WRITE 10,255:pause 10
ENDIF
IF c1=12 AND c2=4 THEN
SIFRE_3=1
WRITE 10,10:pause 10
ENDIF
IF c1=10 AND c2=4 THEN
SIFRE_3=0
WRITE 10,255:pause 10
ENDIF
IF c1=1 AND c2=1 THEN
SIFRE_1=1
SIFRE_2=1
SIFRE_3=1
SIFRE_4=1
WRITE 10,10:pause 10
ENDIF
IF c1=3 AND c2=3 THEN
SIFRE_1=0
SIFRE_2=0
SIFRE_3=0
SIFRE_4=0
WRITE 10,255:pause 10
ENDIF
c1=0
c2=0
c3=0
c4=0
GOTO DTMF1
 

Ekli dosyalar

  • DSCF5593.JPG
    DSCF5593.JPG
    368.5 KB · Görüntüleme: 11
  • 1.png
    1.png
    385.1 KB · Görüntüleme: 17
Transistörlerin beys uçlarına bağlı ledler tıkama yönünde gibi.
Bu ledleri ters çevirip yeniden test ediniz.
 

Forum istatistikleri

Konular
127,960
Mesajlar
913,921
Kullanıcılar
449,609
Son üye
cherrywine

Yeni konular

Geri
Üst