PIC16F877 ve comport haberleşmesi (acilll)

aeldem

Üye
Katılım
22 Ocak 2013
Mesajlar
1
Puanları
1
Merhaba arkadaşlar.
PIC16F877 nin B portuna bağlı 8 tane butonum var. bunlardan hangisine basılırsa o anda comporta veri göndermesini istiyorum. daha sonrada c# gibi bir programdan da comport taki veriyi okuyup durumlara göre işlem yapmak istiyorum. bilgisayarımda comport yok. o yüzden de virtual serial port driver eltima yı kurdum. 2 tane sanal port belirledim. 1 ini ISIS te diğerini de C# ta kullanacağım. ama ben PICC de yazdığım kodu bir türlü ISIS teki arayüzde çalıştıramadım. yani ISIS i çalıştırdığım anda butona bastığımda bacaklardaki değişikliği o anda görüyorum. ama comport a herhangi bir veri aktarmıyor. eltima dan bakıyorum herhangi bir sent işlemi varmı diye. ama hep 0 gösteriyor. C# tan da comporttan gelen bir veri varmı die bakıyorum. orda da boş bilgi görünüyor.:( (bu arada PIC i yeni öğreniyorum)
Acil olarak yardımcı olursanız çok sevinirim



Devrenin Kodu
Kod:
#include <16f877.h>
#use delay (clock=4M)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, parity=N, stop=1,bits=8)


void main()
{
set_tris_b(0xff); //b portu giriş olarak ayarlandı
 while(1)
 {
 if (input(PIN_B0)==0)
   {
     putc('a');
     delay_ms(2000);
   }
 if (input(PIN_B1)==0)
   {
     putc('b');
     delay_ms(2000);
   }
 if (input(PIN_B2)==0)
   {
     putc('c');
     delay_ms(2000);
   }
 if (input(PIN_B3)==0)
   {
     putc('d');
     delay_ms(2000);
   }
 if (input(PIN_B4)==0)
   {
     putc('e');
     delay_ms(2000);
   }
 if (input(PIN_B5)==0)
   {
     putc('f');
     delay_ms(2000);
   }
 if (input(PIN_B6)==0)
   {
     putc('g');
     delay_ms(2000);
   }
 if (input(PIN_B7)==0)
   {
     putc('h');
     delay_ms(2000);
   }
 }
}

Devrenin Şeması
Ads_z2.jpg
 
Max232 bağlamadan proteusda direk deneyebilir misin? Öyle de çalişiyor. Pici direk virtuala bağla
 
Ayrıca bu programla ilgili proteus çizimini , proje dosyanı , kodunu da bizle paylaşirsan sana daha hızlı yardım edebiliriz?
 

Forum istatistikleri

Konular
127,956
Mesajlar
913,901
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Çevrimiçi üyeler

Geri
Üst