PIC16F84A Seri iletişim problemi

dum

Üye
Katılım
11 Nis 2011
Mesajlar
18
Puanları
1
Yaş
36
Arkadaşlar acilen yetiştirmem gerek projemde bir yerde takıldım malesef. pic basic pro kullanarak pic16f84a ile pc arasında rs232 üzerinden haberleşmeye çalışıyorum.

devreyi hem breadboard da hem de proteus ta defalarca kurdum ama malesef iletişim kurmayı başaramadım.

tecrübeli arkadaşlar koduma bakıp hata var mı inceleyebilirlerse çok sevinirim:

NOT: kodun rf ile ilgili kısmı yorum şeklinde. (rf devresini henüz kurmadığım için)

Kod:
DEFINE OSC 4
TRISB=%000001100           
TRISA=0                        
PORTA=0                           
PORTB=0                           


AL VAR BYTE                        
PCIN VAR PORTB.2       'PC DEN GELEN PORT
PCOUT VAR PORTB.1      'PC YE GIDEN PORT
RFOUT VAR PORTB.3   'RF MODULE GIDEN PORT
R1=11    '1. RF MODULU ON
R2=10    '1. RF MODULU OFF
R3=21    '2. RF MODULU ON
R4=20    '2. RF MODULU OFF
BASLA:

SERIN2 PCIN,396,[WAIT("DUM"),AL]
IF AL=11 THEN
'SEROUT2 RFOUT,396,[REP$AA\5,REP$00\5,REP$FF\5]
'SEROUT2 RFOUT,396,[REP$AA\5,REP$00\5,REP$FF\5]
'SEROUT2 RFOUT,396,[("R"),("F"),("1"),R1]
'SEROUT2 RFOUT,396,[("R"),("F"),("1"),R1]
SEROUT2 PCOUT,396,[("R"),("F"),("1"),R1]
ENDIF
IF AL=10 THEN
'SEROUT2 RFOUT,396,[REP$AA\5,REP$00\5,REP$FF\5]
'SEROUT2 RFOUT,396,[REP$AA\5,REP$00\5,REP$FF\5]
'SEROUT2 RFOUT,396,[("R"),("F"),("1"),R2]
'SEROUT2 RFOUT,396,[("R"),("F"),("1"),R2]
SEROUT2 PCOUT,396,[("R"),("F"),("1"),R2]
ENDIF
IF AL=21 THEN
'SEROUT2 RFOUT,396,[REP$AA\5,REP$00\5,REP$FF\5]
'SEROUT2 RFOUT,396,[REP$AA\5,REP$00\5,REP$FF\5]
'SEROUT2 RFOUT,396,[("R"),("F"),("2"),R3]
'SEROUT2 RFOUT,396,[("R"),("F"),("2"),R3]
SEROUT2 PCOUT,396,[("R"),("F"),("2"),R3]
ENDIF
IF AL=20 THEN
'SEROUT2 RFOUT,396,[REP$AA\5,REP$00\5,REP$FF\5]
'SEROUT2 RFOUT,396,[REP$AA\5,REP$00\5,REP$FF\5]
'SEROUT2 RFOUT,396,[("R"),("F"),("2"),R4]
'SEROUT2 RFOUT,396,[("R"),("F"),("2"),R4]
SEROUT2 PCOUT,396,[("R"),("F"),("2"),R4]
ENDIF

PAUSE 500
GOTO BASLA
END

bu da devre:
vONC2.png
 
öncelikle kodu sadeleştirip denemeni tavsiye ederim..
örneğin önce sadece gönderme komutu olsun.
devrede eksik yoksa alma verme baud hızları eşit olmalı...
 
Merhaba
16F84A yerine 16F628A kullanırsanız sizin için daha kolay olur düşüncesindeyim.Çünkü Özel olarak kullanabileceğiniz TX-RX pinleri mevcuttur.
 
kodun nasıl yazıldığını bilmiyorum ama kodlarıunızda baud rate hız ayarlarını seçmemişsiniz o komutun kullanımına bakıp ekleyebilirsinzi
 

Forum istatistikleri

Konular
128,352
Mesajlar
916,932
Kullanıcılar
450,206
Son üye
elektronom111

Yeni konular

Geri
Üst