Elektrotekno.com Ana Sayfa || Programlanabilir Cihaz ve Elemanlar || Microchip Pic Serisi


Pc ile Pic arasında seri iletişim problemi

Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Kod Paylaşım ve Soru Cevap Alanı kategorisi içerisindeki Microchip Pic Serisi forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "pıc16f877 yardım" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!
Kayıt: 27 Ağu 2006
Mesajlar: 109
Konum: Mersin
Offline
esmerim33
Tarih: 07 05 2007 13:00

Microcode studio plus kullanıyorum aşağıdaki kodları yazdım
Kod


porta=0  :  portb=0  :  portc=1  :  portd=0
trisa=0  :  trisb=0  :  trisc=0  :  trisd=0
porte=0  : trise=0
adcon1=7
INCLUDE "modedefs.bas"
DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 20h
DEFINE HSER_BAUD 2400
DEFINE HSER_SPBRG 25
deger var byte
main:
hserout ["Cadcom"]
pause 1000
goto main
end


gördüğünüz gibi picden 1 sn aralıkla pc'ye "cadcom" gönderiyorum
Kod
 

/²Â"
68 $
ñÙá‘
›œ’
"
$
ñÙá‘
›œ’
"
$
ñÙá‘
›œ’
"
$
ñÙá‘
›œ’
"
$
ñÙá‘
›œ’
"
$
ñÙá‘


ama pc'de yukarıda saçma sapan karakterleri alıyorum sizce problem nerde ?

Pc'nin rx bacağını picde bulunan tx yani portc.6 bacağına bağlıyorum kullandığım işlemci Pic16F877 pic ile pc arasında ise 1k lık direnç var ayrıca baud rateler ayarlıdır sadece terslenip terslenmeme olayına kafam takıldı dikkat ederseniz aslında "cadcom" değerini gönderiyor fakat neden düzgün değil ? yardımlarınızı bekliyorum saygılar
Kayıt: 22 Nis 2006
Mesajlar: 374

Offline
ete
Tarih: 07 05 2007 13:22

Pic çıkışları TTL seviyesindedir. Yani High=+5V Low=0V dur.
PC RS232 çıkışı ise farklıdır. RS232_HIGH=-10V ve RS232_LOW=+10V dolayındadır. Bu voltajlar ana karta bağlı olarak 7 voltlara kadar düşebiliyor.
Şimdi olaya şöyle bir bakalım. Pic den HIGH gönderdiğin zaman TX ucuna +5V vermiş oluyorsun. PC nin bunu HIGH olarak algılayabilmesi için buradaki voltajın -10V dolayında olması gerekiyor.

AYnı şekilde PC den HIGH sinyali gönderdiğin zaman RS232_TX hattına -10V luk bir voltaj verilir. Pic in bunu High olarak algılayabilmesi için gelen voltajın +5V seviyesinde olması gerekir.

İşte uyumsuzluk buradadır ve bu uyumsuzluğu gidermek için arada RS232 - TTL çeviricisi kullanılır (MAX232 yada CP232).
Bu çevirici içinde bir voltaj katlama devresi bulunur ve 0-5V besleme ile RS232 için gerekli olan voltaj seviyelerini üretir.
Kısaca bu çevirici PC den High gönderildiği zaman gönderilen -10V u alır bunu +5V ta çevirir ve TTL tarafından çıkartır.
PC den Low gönderildiği zaman gönderilen +10V tu alır ve bunu GND ye çevirip TTL tarafından çıkartır.
AYnı şekilde işin tersi olarak;
Pic den High gönderildiği zaman gönderilen +5V tu alır ve onu -10V ta çevirip RS232 tarafından çıkartır.
Pic den Low gönderildiği zaman bu GND sinyalini alır ve onu +10V ta çevirip RS232 tarafından çıkartır. Böylece PC ile TTL cihazlar (pic gibi) uyum içerisinde çalışırlar.

BU şekilde bir çevirici kullanırsan sorunun kalmayacaktır.

Ete
Başa dön
Kayıt: 27 Ağu 2006
Mesajlar: 109
Konum: Mersin
Offline
esmerim33
Tarih: 07 05 2007 15:39

Sayın ete hocam;

Pc ile pic arasına max232 koymam gerektiğini biliyorum ama ne yazıktırki bulunduğum yerde bu entegreyi bulamıyorum kitapta ve internette gördüğüm kadarıyla pc'den çıkan çıkan tx bacağına 22k ve picden çıkan tx bacağına da 1k koymuşlar benimde elimde ancak bu imkan olduğunu için bu yolu denedim bu şelilde bi hata aldım demekki sağlıklı iletişim için max232 şart yardımlarınız için sağolun en kısa zamanda max232 temin etmeye çalışacağım .....Teşekkürler
Başa dön
Kayıt: 22 Nis 2006
Mesajlar: 374

Offline
ete
Tarih: 07 05 2007 19:45

PC den pic'e bilgi gönderip pic de değerlendirme yapsa idin gelen sinyali değilleyerek bir de direnç ile düşürerek belki bir sonuç almak mümkün olabilirdi. Ancak picden PC ye sinyal seviyesinin birde yükseltilmesi gerekiyor. Bu nedenle 232 çeviricisi olmadan sağlıklı çalışacağını sanmıyorum.

Ete
Başa dön
Kayıt: 22 Hzr 2006
Mesajlar: 154
Konum: izmit merkez
Offline
patan_mustafa
Tarih: 07 05 2007 20:48

Hserout komutu ile seviye çevirici entegre kullanmadan pcye veri aktarımı imkamsız gibi bir şey.
Hserout yerine

SEROUT PORTB.0, N2400,["Merhaba",13,10]

komutu ile 1Kohmluk bir direnç ile pcye veri gönderebilirsiniz. software olarak
Başa dön



Pc ile Pic arasında seri iletişim problemi


Benzer Konular

- Scada PLC ile nasıl iletişim kurar?

- Seri Haberleşme ile ilgili sunular
- 16f877 ile rf iletişim sorunu...
- seri iletişim devresi
- Bilgisayarlar İçin Seri Porttan IrDA Kontrol
- Seri Port Terminal Programı
- seri port - 16f84 - c kodu
- Seri Motor Ve Led Kontrolü Display Menülü
- 9999 sayıcı ve seri portla gönderme (YARDIIIIM!!!)

- seri port donanımı hakkında bir soru

- Pic16F877A ve Visual basic ile yapılmış Seri Port Kontrol Devresi

Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72