Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

RX TX Haberleşme Hk.

Başlatan tyfrydn, 11 Haziran 2016, 14:11:18

tyfrydn

Herkese Merhaba,

Aşağıdaki Devrede basit bir haberlşme devresi kurdum.ancak cıkış alamıyorum.Desteğiniz ricasıyla.

Devre  ;  Butona bastığımda A0 portundaki ledin yanmasını istiyorum (B7'ye Bağlı Ledler Kontrol Ledleri)




Butona Basılı ise ;

Butona Basılı Değil ise ;


Verici:
#include <16f628A.h>
#fuses INTRC_IO,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOCPD
#use delay (clock=4000000)
#use rs232 (baud=9600, xmit=PIN_B2, rcv=PIN_B1, parity=N, stop=1)

void preamble(){ // (Preamble: donanım senkronizasyonunu sağlamak için.)
    putc(0x55);   
    putc(0x00);
    putc(0xff);

    return;
}


void test()
{
output_high(pin_B7);
delay_ms(500);
output_low(pin_B7);
delay_ms(500);
}

void main(){
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı

  set_tris_a(0xFF);   // A portu komple giriş
  set_tris_b(0x00);   // B portu komple çıkış
  output_b(0x00);     // B portu temizlendi

while(1)
  {
     preamble();
     test();
     
    if(!input(pin_a0)){putc('A');}
    else{putc('B');}
   
   }
}


Alıcı:
#include <16F877a.h>
#fuses HS,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)
#use rs232 (baud=9600,xmit=PIN_C6, rcv=PIN_C7, parity=N, stop=1) 

   char a;

void test()
{
output_high(pin_B7);
delay_ms(500);
output_low(pin_B7);
delay_ms(500);
}


void main(){

   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı

   set_tris_b(0xFF); // B portu komple giriş
   set_tris_a(0x00); // A portu komple çıkış
   output_a(0x00);   // A portu temizlendi

   
   while(1)
   {
      test();
      a=getc();
      
      if(a=='A'){output_high(pin_A0);}
      if(a=='B'){output_low(pin_A0);}
   }
} 


Anladığım kadarıyla sorun alıcı devrede olabilir.Yardımlarınız için cok tesekkür ederim.

Saygılarımla
Tayfur.

RaMu

16F877A nın MCLR pinini 4.7k ~ 10k bir direnç ile +5V a bağlamalısın.
RB7 deki led dahi yanmıyor değil mi?
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

dursuncemal

eger proteus projectini gonderirsen yardimci olabilirim.
:=