PIC16F84A ile PIC18F2550 Rf ile haberleştirilebilir mi ?

Başlatan izleyici42, 18 Nisan 2015, 17:08:38

izleyici42

Verici Kısmında Bu devreyi denediğim zaman ''CCS C 2" xmit= PIN_A2" rcv=PIN_C7 yaptığım zaman 1684A da C7 pini olmadığı için hata veriyor. Yardım Lütfen.
Amacım. 16f84a dan 1 yada 0 bilgisi alıp. 18f2550 ile bu bilgiyi bilgisayara aktarmak.

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

izleyici42



Bu şekilde denediğimde 16f84a nın port_A2 ve 18f2550 nin port_c7 ucunda bilginin gittiğini görebiliyorum ama 18f2550 nin Port_b çıkışında herhangi bir değişme olmuyor.
Yardım edebilirseniz sevinirim.
ALICI KODLARI

  
#include <18f2550.h>
#fuses XT, NOPROTECT, NOWDT, PUT
#byte porta=5
#byte portb=6
#use delay(clock=4000000)
#use rs232(baud=600, xmit=PIN_C7, rcv=PIN_C6)

char e;
void main(){
set_tris_b(0x00);
output_b(0x00);

while(1){

if(getch()=='X'){e=getch();

if(e=='A'){
output_high(pin_b0);
delay_ms(200);
output_low(pin_b0);
}

if(e=='B'){
output_high(pin_b1);
delay_ms(200);
output_low(pin_b1);
delay_ms(200);

}

if(e=='C'){
output_high(pin_b2);
delay_ms(200);
output_low(pin_b2);
delay_ms(200);

}

if(e=='D'){
output_high(pin_b3);
delay_ms(200);
output_low(pin_b3);
delay_ms(200);

}}}}


VERİCİ KODLARI

#include <16f84a.h>
#fuses  XT, NOPROTECT, NOWDT, PUT
#byte porta=5
#byte portb=6
#use delay(clock=4000000)
#use rs232(baud=600, xmit=PIN_A2, rcv=PIN_A1)
char t;




void main(){

set_tris_b(0xff);
set_tris_a(0x00);
porta=0;

 while(1){

   if(input(pin_b0)==1){
   putc(0b01010101);
      putc('X');
       putc('A');
  }
   if(input(pin_b1)==1){
   putc(0b01010101);
      putc('X');   
   putc('B');
   }
  if(input(pin_b2)==1){
  putc(0b01010101);
      putc('X');   
      putc('C');
  }
  if(input(pin_b3)==1){
  putc(0b01010101);
      putc('X');   
      putc('D');
  }
  if(input(pin_b4)==1){
  putc(0b01010101);
      putc('X');   
      putc('E');
  }
  if(input(pin_b5)==1){
  putc(0b01010101);
      putc('X');   
      putc('F');
  }
  if(input(pin_b6)==1){
  putc(0b01010101);
      putc('X');   
      putc('G');
  }
  if(input(pin_b7)==1){
  putc(0b01010101);
      putc('X');   
      putc('H');
  }
 
   }

Recep METE

16f84 ve 16f84a piclerinde pinlerde "rx  ve tx" çıkışları yok. Yapamazsın,  16f877 kullan.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

RaMu

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

izleyici42

ilginiz için teşekkür ederim başka bi çözüm buldum. 2 tane 16f84A'yı haberleştirip alıcı kısmındaki pic16f84a nin b portlarını pic18f2550 nin b portlarına direk bağlayarak işi çözdüm.

Recep METE

@Ramu, RS232 portuna bilgi gönderme (TX), RS232 portunun alma ucu(RX) uçları değil midir? Yoksa ben mi yanlış biliyorum.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

RaMu

16F84 16F84A da donanımsal uart usart eusart vs. yni
RX TX pinleri yoktur.
Zaten bununla ilgili bir şey söylemedim.

Benim merak ettiğim neden yapamaz?
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

baran123

#8
Yazılımsal yapar zaten RF modülleri bildiğim kadarıyla Usart kullanmıyor ama usartlada çalışabilir.Başka bir şeklide  iletişim sağlanabiliyor.Yazılımsal yapar ise RB0 kesmesine RX_interrupt verir olur gibi .Gökhan hocam vermişti bu fikri :D