2 pic arası iletişim

Başlatan selchuk, 22 Temmuz 2012, 14:37:04

selchuk

merhaba arkadaşlar 2 adet 16f887 arasında haberleşerek bilgiyi 1. picten okuyacagım ve 2. pictende çkış alıp virtual terminalde göreceğim, 1. pic programını yazdım yani veriyi okuyorum ama veriyi 2. pic e gönderemedim programı yazamadım
resim ekelemeyi bilmedigğimden devreyi paylaşamıyorum ama 1. pic in programını paylaşbilirm yazıda

1. pic programı

#include <16F887.h>
#device adc=8

#FUSES XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD     
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)



   unsigned long int bilgi1;   
   unsigned long int bilgi2;
   unsigned long int bilgi3;
   unsigned long int bilgi4;
   unsigned long int pot1 ;
   unsigned long int pot2 ;
   unsigned long int pot3 ;
   unsigned long int toplam;
void main()
{
   
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_CCP1(CCP_OFF);
   setup_CCP2(CCP_OFF);
   
   set_tris_a(0x0F);
   set_tris_c(0x00);
   output_c(0x00);
   setup_adc(adc_clock_div_32);
   setup_adc_ports(ALL_ANALOG);
   
   while (1)
     {
      set_adc_channel (0);
      delay_us(25);
      bilgi1=read_adc();
      printf("pot1=%lu\r",bilgi1);
      delay_ms(1000);
     
      set_adc_channel (1);
      delay_us(25);
      bilgi2=read_adc();
      printf("pot2=%lu\r",bilgi2);
      delay_ms(1000);
     
      set_adc_channel (2);
      delay_us(25);
      bilgi3=read_adc();
      printf("pot3=%lu\r",bilgi3);
      delay_ms(1000);
     
      set_adc_channel (3);
      delay_us(25);
      bilgi4=read_adc();
      bilgi4=bilgi1+bilgi2+bilgi3;
      printf("toplam=%lu\r",bilgi4);
      delay_ms(1000);
     
     
   
     } 
  }



programda 1. pic e 3 adet pot baglı her bir potun degerini ve degerlerin toplamını virtual terminalde görebiliyorum

şimdi ise 1. pic tx ucunu 2. pic rx ucuna 1. pic in rx ucunu 2. pic tx ucuna baglıyorum ve virtual terminali baglayıp aynı degerleri görmek istiyorum ama 2. pic programını oluşturamadım yardımlarını bekliyorum

Erdem

Her ne kadar örnekleri PIC C Lite için yazılmış olsa da Prof Dr. Doğan İbrahim hocanın PIC ve PC iletişim projeleri kitabına bakabilirsin.

Kitapta iki PIC arasında paralel iletişim, PIC ve PIC arasında RS232 ve USART iletişimin nasıl yapılacağını gösteren örnekler var.