Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: Elektrik2012 - 25 Ağustos 2013, 21:47:30

Başlık: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 25 Ağustos 2013, 21:47:30
Merhaba ismim nurullah 16 yaşındayım.foruma yeni katıldım.Pic haberleşmeye daha yeni başladım.yapmak istedigim iki tane pic var bu piclerden 1. alfabenin harflerini yollacak rx ve tx ucundan diğer pic bunu rx tx ucundan alıp lcd göstercek yapmak istedigim bu fakat internette forumlarda araştırdım hep rs232 bilgisayardan veri göndermişler sadece örnek bi program lcd yazı basmak için rx tx ucundan Şimdiden Çok teşekkür ederim
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 25 Ağustos 2013, 23:56:58
Merhabalar....Dediğinizi Anladım Sayılır.Fakat Anlamadığım 1.Pic'ten Daha Önce Belirli Harfler mi Gidecek?
Kullandığınız Mcu Hangisidir?Yarın Bir Kod Yazmaya Çalışırım.İyi Çalışmalar...(Bu Arada Google->two pic communication with uart)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 26 Ağustos 2013, 09:30:22
İlgilendiginiziçin çok teşekkür ederim.16f877 kullanmayı düşünüyorum.Ben 1 picin içine bi program atıcam Alfabenin harflerini rx ve tx ucundan yolayacak idğer 2 pice bağlı lcd bu veriyi alcak lcd bascak yani 1 pic veri yolluycak 2 pice bağlı lcd bascak Çok teşekkür ederim
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: ziyaretci - 28 Ağustos 2013, 00:18:26
Aşağıdaki bağlantıda istediğinize yönelik uygulamamı inceleyebilir, indirebilirsiniz.

http://www.elektrocavus.com/index.php?sayfa=PIC_CCS_C_Yazilim/uyg-11&kategori=Yaz%FDl%FDm (http://www.elektrocavus.com/index.php?sayfa=PIC_CCS_C_Yazilim/uyg-11&kategori=Yaz%FDl%FDm)

Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 28 Ağustos 2013, 09:49:51
ilgilendiginiz için teşekkürler hemen inceliyorum.Bi program yazdım kodları ekliyorum
biraz araştırmam sonuncda bi şeyler yazdım fakat gene olmadı programı ısıs dosyasını bir atıyım bakarmısınız  acaba gözden kaçırdıgım bi şey mi var ?Isıs dosyasını nasıl atabilirim göremedim dosya ekle gözükmüyor :D
Seri iletişim alıcı
#include <16f877.h>     // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // Denetleyici konfigürasyon ayarları

#use delay(clock=4M)   // Gecikme fonksiyonu için kullanılan osilatör frekansı belirtiliyor

#define use_portb_lcd TRUE   // LCD B portuna bağlı

#include <lcd.c>     // lcd.c dosyası programa ekleniyor

#use rs232 (baud=2400,rcv=pin_C7,stop=1,parity=n)  // RS232 ayarları yapılıyor

char data[16]; // dizi tanımlanıyor

void main ()
{   
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   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_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı
   
   lcd_init(); // LCD hazır hale getiriliyor
 
   while(1) // Sonsuz döngü
   {
         gets(data);                   // RX ucuna gelen veriyi al
         printf(lcd_putc,"\f%s",data); // LCD'ye alınan string ifadeyi gönder
     
     
       
      }
   }




verici
#include <16f877.h> 
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4M) 
#use rs232(baud=2400, xmit=PIN_C6, stop=1, parity=n)  // RS232 iletişim ayarları yapılıyor
void main ()
{   
   setup_psp(PSP_DISABLED);       
   setup_timer_1(T1_DISABLED);     
   setup_adc_ports(NO_ANALOGS);   
   setup_adc(ADC_OFF);             
   setup_CCP2(CCP_OFF);           
       
   while(1) // Sonsuz döngü
   {
     puts(Seri iletişim);
     printf("SERİ İLETİSİM\r");   // Seri port çıkışından (TX) bilgi gönderiliyor
         
   } 
}

İlgilendiginizz için çok teşekkür ederim
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Gökhan BEKEN - 28 Ağustos 2013, 13:54:21
Neden rs232 ile haberleştirmek istiyorsunuz? Özel bir sebebi var mı?
SPI veya I2C ile haberleştirmek belki daha iyi çözüm olabilir.
SPI yaparsanız sadece 2 pici değil daha fazla pic'i hem alıcı hem veri olarak haberleştirebilirsiniz. RS232 de bunu yapabilirsiniz ancak diğer picler sadece alıcı olabilir , hem alıcı hem verici olamaz. Ayrıca spi hem i2c den hem rs232 den daha hızlıdır.

Eğer RS232 kullanırsanız , uart modülünüz diğer pic'e bağlı olduğundan PC ile rs232 üzerinden haberleşemezsiniz.(Donanımsal olarak)

Neyse rs232 ile yapmak istiyorsanız, alıcı pic'e kesme fonksiyonu yazın, herhangi bir anda veri gelirse LCD felan gösterebilirsiniz. Aynı baudrate olsun yeter.

Burda örnek kodlar ve bilgiler var: https://www.picproje.org/index.php?topic=37239.0 (https://www.picproje.org/index.php?topic=37239.0)

mesaj birleştirme:: 28 Ağustos 2013, 14:13:27

Bu arada rs232 ile hazır yapılmışı varmış: http://elektrobilim.org/forum/pic-uygulamalari/6891-3-tane-picin-birbirleriyle-karsilikli-haberlesmesi.html (http://elektrobilim.org/forum/pic-uygulamalari/6891-3-tane-picin-birbirleriyle-karsilikli-haberlesmesi.html)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 28 Ağustos 2013, 15:55:12
ilgilendiginiz için çok teşekkür ederim hayır özel bir sebebim yok fakat pic 2 hat yada tek hat ile gitmesini istiyorum.Rx ve tx ucu ile bira daha çalışıcam olmassa spı yada ıc2 geçicem peki yazdıgım kod neresine ekliycem bu dediginizi? pic kesme fonksiyonunu Daha acemiyim K.bakmayın :D İnşallah öğrenicem bu işi  :D
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 28 Ağustos 2013, 17:45:09
char gelen_karakter;
void interrupt ()//Burayı Hatırlamıyorum Kesme Fonksiyonun İsmi Değişik Olabilir.
{
RCSTA&=!0x10;//Continuous Receive Olmayacak
PIR1&=!0x10;//RCIF Bayrağı Silindi
gelen_karakter=RCREG;//Gelen Bilgi Bir Yere Yazıldı.
RCSTA|=0x10;//Continuous Receive Olacak
}
int main()
{
PIE1|=0x10;//Kesme Aktif
digerayarlar();
while(1){lcdgonder();}
}

Ağabeylerim Düzeltebilir Böyle Olması Gerek.İyi Çalışmalar
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 29 Ağustos 2013, 10:11:56
İlgilenen bütün aarkaşalaar abilerime çok teşekkür ederim ama sorunum hala devam ediyor D:
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 29 Ağustos 2013, 12:42:11
Merhabalar...Alıcı Kısmının Kodunu Bugün Bir El Atmaya Çalışırım.İyi Çalışmalar...
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 29 Ağustos 2013, 14:03:36
çok teşekkür ederim  ;D
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 01 Eylül 2013, 11:26:31
Sizin yardımlarınızla  geldigim son nokta 3 tane buton 1 butona basınca lcd seri iletişim 2 butona basınca alfebenim harflerini 3 butpna basınca pic programlamaya başlatan abime teşekkrülerimi sundum :D.Pic proje nasıl dosya ekliycez çizdigim simülasyonu vs koycam ama bulamadaım :D
Verici
#include <16f877.h>
#fuses xt,nowrt,nowdt,nobrownout,nolvp,nocpd,nodebug,noprotect,noput
#use delay(clock=4M)
#use rs232(baud=2400,parity=N,xmit=pin_c6,rcv=pin_c7)
void main()
{
while(1)
{
set_tris_b(0x03);
output_b(0x00);
if(input(pin_a0)==1)
{
putc(0b01010101);
putc('X');
putc('A');
delay_ms(50);
}
if(input(pin_a1)==1)
{
putc(0b01010101);
putc('X');
putc('B');
delay_ms(50);
}

if(input(pin_a2)==1)
{
putc(0b01010101);
putc('X');
putc('C');
delay_ms(50);
}


}
}


Alici
#include <16f877a.h>
#fuses xt,nowrt,nowdt,nobrownout,nolvp,nocpd,nodebug,noprotect,noput
#use delay(clock=4M)
#use rs232(baud=2400,parity=N,rcv=pin_D1)
#define use_portb_lcd TRUE
#include <lcd.c>
char e;

void main()
{
set_tris_b(0x00);
lcd_init();
while(1)
{
if(getch()=='X')
{
e=getch();
if(e=='A')
{

printf(lcd_putc,"\fSERI ILETISIM");

}
if(e=='B')
{
printf(lcd_putc,"\fABCDEGHIJKL");
printf(lcd_putc,"\nMNOPRSTUVYZ");
}
if(e=='C')
{
printf(lcd_putc,"\fEnGin AyGun\n SayGiLar ");
delay_ms(500);
printf(lcd_putc,"\f");
printf(lcd_putc,"\fDevami Gelecek ");




}
}
}
}




[jstex]Hepinize cok teşekkür ederim [/jstex]



Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Gökhan BEKEN - 01 Eylül 2013, 11:35:44
Tebrik ederim, dosya yüklemek için kullanabileceğiniz güzel bir site(basit bir üyelikten sonra yükleyebilirsiniz). dropbox.com
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 01 Eylül 2013, 15:41:26
Hemen üye oldum dosyaları upload eetim fakat nasıl buraya koycam? baskılarına kadar hazır halde :D
şu şekildemi?
https://www.dropbox.com/s/ik89vkv3n1uamih/16f877%20rf%20verici%20alici%20lcd.rar (https://www.dropbox.com/s/ik89vkv3n1uamih/16f877%20rf%20verici%20alici%20lcd.rar)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Gökhan BEKEN - 01 Eylül 2013, 19:01:24
Evet elinize sağlık çalıştırdım dediğiniz gibi çalışıyor.
Yalnız alıcı devrenin RX pinine(26 nolu pin) bağlanması daha iyi olurdu. Şu an yazılımsal rs232 ile çalışıyor.
Şimdi hem karşılıklı alışveriş yapan yazılımı yapmanızı tavsiye ediyorum.
2 devrede de aynı yazılım olacak.
Her hangi bir veri gelince LCD de gösterecek.
Butonlara basınca diğer pice veri gönderecek.
Bunu yaptığınıza göre onuda yaparsınız.
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 01 Eylül 2013, 19:11:52
Evet dediginiz gibi bunu yaptıysam onuda yaparım.rx pinine bende bağladım ilk önce sonra baskıda kolay geldi data pini bağladıgım pine bende o yüzden pini değiştirdim :D Rf haberleşme çözzüyorum gibi.Programın mantıgı aslında gayet basitmiş.Vericidien a b c vb karkterler data oalrak gidiyor karşıda bu karakterlerin alınması bekleniyor karakterler aynı oldugunda yani şifreleme gibi ıf içine verdiginimiz komutu işliyor olay bu :D

İlgilenen bütün arkadaşlara teşekkür ediyorum.
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: MrDarK - 01 Eylül 2013, 19:18:51
Desene sende yumurtayı kırdın :) Emek veren arkadaşlara teşekkürler bir elektronikçi daha kazandık :)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 01 Eylül 2013, 19:22:42
Sizin sayenizde öğreniyorum abilerim çok teşekkür ederim . ;D
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: LukeSkywalker - 01 Eylül 2013, 19:23:03
Programda sıkıntılar var. Daha kaliteli bir veri iletimi algoritması için imzamdaki bloğu inceleyebilirsiniz. Orada udea'nın modülleriyle ilgili bir yazım var.
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 01 Eylül 2013, 19:24:23
İnceliyorum Her şey yavaş yavaş olucak  :o ;DBaktım ama bulamadım dediginz yeri :D
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: LukeSkywalker - 01 Eylül 2013, 19:26:50
Kablosuz iletişim yaptığınızı düşünmüştüm bir anda 01010101 verisini görünce. Eğer iletişimi kablosuz yapıyorsanız 01010101 ve X verisine gerek yok. 
Kablolu yapıyorsanız gerekli ve daha fazla sayıda göndermeniz lazım.
http://mikrodunya.wordpress.com/2011/11/08/udea-nin-rf-veri-iletimi-alanindaki-kucuk-devleri-atx-34-nrx-34/ (http://mikrodunya.wordpress.com/2011/11/08/udea-nin-rf-veri-iletimi-alanindaki-kucuk-devleri-atx-34-nrx-34/)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 01 Eylül 2013, 19:31:46
İlgilendiginiz için çok teşekkür ederim.ORdaki kodları inceledim fakat ne oldugunu anlayamadım :) :-[

mesaj birleştirme:: 01 Eylül 2013, 19:38:03

YEni konu açmak istemedim 16f628 köpek kovucu yapmaya çalışıyorum basit.
örneğin  internetten araştırdım köpeklerin işittikleri sesi bir sitenin dedigi diğer siteyi tutmuyor.ama genelde 15-50.000 arası Hz arası denmiş sizce kaç yapmalıyım frekans değerini 30000 yeterlimi  ve us gecikme için kaç yapmam lazım tam hesaplayamadım :D 300000 için kaç yazmam lazım?
Yeniden araştırdım en rahatsız oldukları frekans 22-27 khz arasıymış.27khz=27000Hz
1/27000=?

hesaplaması şöyle imiş
ocam tek frekans için hesaplamayı vereyim gerisini siz yazarsınız zaten.
Doğal La notası için frekansımız=> 440Hz
burdan periyodunu buluyoruz   => 1/440=2.272 X 10^(-3) saniye
o da şuna eşittir                        => 2272 mikrosaniye

yani la notasını elde etmek için portun ilgili pinini 2272 mikrosaniye süre açık ve kapalı olacak.
yani 1136 mikrosaniye ilgili pin logic high ve 1136 mikrosaniye logic low olacak.

#include <16f628.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOCPD
#use delay(clock=4M)



void main()
{
while(1)
{
set_tris_a(0x00);

output_high(PIN_b0);
delay_us(16);
output_low(PIN_b0);
delay_us(16);



Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 02 Eylül 2013, 00:46:41
Merhabalar...İlk Olarak Özür Dileyerek Başlıyorum.Söz Verdiğim Programı Yazmadım.Ama Halletmiş Görünüyorsunuz.
Yukarıdaki Hocamızın Verdiği Linkte mikro C İle Yazılmış Kod Vardır. CCS C Değil
Alıntı Yapchar az,i=0, msg[6];
void main()
{
UART1_Init(2400);//burası #use rs232(ayarı burada sadece baud rate ayarlanabiliyor galiba)
trisb.f0=0;//portbnin 0. biti çıkış
portb.f0=1;//portbnin 0. biti low
delay_ms(100);//100 ms bekle

while(1)//sonsuz döngü
         {
          if(UART1_Data_Ready())//data gelene kadar bekle
          {
           msg[i]=UART1_Read();//veriyi oku
           if(msg[0]=='y' || msg[0] == 's')//Eğer msg[0] 'y' veya 's' ise i değişkeninin 1 arttır.
                                           {
                                            i++;
                                           }
          }
          if(i==3)
                  {
                   if(msg[0]=='y' && msg[1]=='a' && msg[2]=='n' )portb.f0=1;  //Senkron için gönderilen sıfır veya 255 aranmaz....
                   if(msg[0]=='s' && msg[1]=='o' && msg[2]=='n' )portb.f0=0;
                   i=0;
                   msg[0]=0;

                  }
         }
}

mesaj birleştirme:: 02 Eylül 2013, 01:11:39

Bu Arada Köpek Savar,Böyle Olsa Gerek;
#include <16F628A.h>
#FUSES NOWDT       
#FUSES NOMCLR   
#FUSES NOBROWNOUT   
#FUSES NOLVP     
#use delay(internal=4MHz)
int main (void)
{
set_tris_a(0x00);
while(1)
{
output_high(PIN_A0);
Delay_us(13);
output_low(PIN_A0);
Delay_us(12);
}

1 Hz 25 us'de Tamamlanıyor.Buda 1000000us=1s/25us=40000 Hz=40 Khz Yanlıs Anlamadıysam Köpekler 50Hz-50KHz Arsı Duyuyor'muş...
Yalnız Çıkışa Bir Amfi İle Bir Twetter Bağlasanız Süper Olur.İyi Çalışmalar,kolay Gelsin...
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 02 Eylül 2013, 09:50:01
Bayram hocam ne özürü hocam  Allah razı oslun hepinizden sizin sayeninizde bir şeyler öğreniyorum.Tekrar teşkkür ederim :)Köpeksavar(İt savar) :) en rahatsız oldukları frekans 22-27khz arasıymış ama sizin verdigiinz kodu deniycemilk önce köpekler üstünde elimde tweeter dediginiz şey ne bilmiyorum.mp4 çalar çıkardıgım 2 tane hoparlör diye tabir ettigim gerçek ismi farklı olabilir.Onu bağlayıp test etcem bide elimde yaprak buzzer var o olabilir mi?bu devre için piv bie buton eklemek lazım değil mi?if komutu ile :)

http://www.amatortv.com/ultrasonik.htm (http://www.amatortv.com/ultrasonik.htm)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 02 Eylül 2013, 10:47:45
Evet Buton Ekleseniz İyi Olur.Sevdiğim Bir Köpeğin Kaçmasın Ben İstemezdim :)
Piezo Haporlor Diye Geçmesi Lazım.
Tam Emin Değilim Ama Yaprak Hopölör Kullanabilirsiniz.Yanlız Direk Çıkışa Bağlamazsanız İyi Olur.En Azından Bir Transistor.İyi Çalışmalar...
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 02 Eylül 2013, 11:48:29
Anladım  anfi çok akım çeker enerji çabık biter bi bc237 vb yada bd249 var elimde bd 139 var hangisi önerirsiniz?baağlantı şekli nasıl bide gösterirmisiniz?
cb237 için beyz 100R pic gircem sinyalin çıktıgı yere emite gnd colelktör hoparlörün - hop + vcc vercem dogrumu?
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 02 Eylül 2013, 12:11:24
BD139 Uygun Diye Görünüyor.Yüksek Frekanslı,8w.Hocalarım Düzeltebilir.Bağlantı Şekli Olarak;
Şu Dökümanı İnceleyip,Bir Fikir Oluşturursanız İyi Olur.Ama Şöyle Olması Gerek:Kollektor->5V,Beyz->4.7K Pic Bacağına,Emitter->Piezo Hopörlör->Gnd.(İnşallah Isınma Yapmaz.Sanmıyorum Ama...Hocalarımın Fikrini Alırsanız İyi Olur Ama)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 02 Eylül 2013, 12:51:35
çok teşekkürler hocam Hemen delikli pertinaksa kurup deniycem :)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 02 Eylül 2013, 12:54:45
Bende Onu Diyorum İlk Bir Breadboard'a Kursaydınız Daha iyi Olurdu:Ama Siz Bilirsiniz...Kolay Gelsin...
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 02 Eylül 2013, 12:56:00
Daha önce piyano konusunda bilgi vermişleri borda kurdum çalışmıştı.buda çalışır.Yeni bir proje aklıma geldi bide onu programını yazıcam.Yeni proje zamanı oley :) 0-99 geri sayan zamnlayıcı olcak display ekranda geriye saycak butona abstıgımda geri saycak.bide reset olur bide başla sorna buna bide rf birleştirdim mi yeme yanında yat :) Hesabı olur sonra 0-99 zamanlayıcı sayaacak 0 geldiğinde buzzzer ötöecek Gibi
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 02 Eylül 2013, 14:14:51
İyi Güzel Başarılar.Bu Sefer Timer Kullanarak Yapmaya Çalışın.Mesela 595 Kullanmayı Biliyor musunuz?595 İle Soft Spi Yazın,595 Çıkışlarının İlk Dördüne Bcd To 7 Segment Entegre Koyun,Geri Kalan Dört Pin İlede Katotları Sürün.(Reset Enable Gibi Pinleri 595 İn Reset,Enable Pinlerine Bağlayın)Bu Şekilde 3 Pinle 4x7 Segment Sürmüş Olursunuz.
Mesela Alarm Yapabilirsiniz.Girilen Sayıdan Geriye Sayar.Bitince Buzzer Öter.Gibi.
2 Timer Kullanırsınız.Birisi Saniyede 100 Defa Kesme Oluşturup Ekranı Sürer.Diğeri de Kesmesiz Olarak Counter Değerini 1 Azaltır/Arttırır.
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 02 Eylül 2013, 14:24:47
İnşallah yapacağım 595 kullanmayı bilmiyorum o  nedir? ;D
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Bayramsumbul - 02 Eylül 2013, 16:37:31
8 Bit Yazmaç. Yani Seri Veriyi Paralel Veriye Dönüştüren Entegre. 4094'te Olabilir.
Mantığına Gelince Kod Şöyle:()
void Spi_Out(unsigned char data)
{
char i=0;
PORTA&=!0x07;//Porta=0bxxxxx000
for(;i<8;i++)//8 Bit Gönderilecek
{
PORTA&=!0x01;//CLK=0
if((data & 0x80)){PORTA|=0x02;}//Eğer 7. Bit 1 İse Dt=1
else{PORTA&=!0x02;} //Değilse Dt=0
PORTA|=0x01;//CLK=1
data <<= 1;//Veriyi Bir Bit Sola Kaydır
}
PORTA|=0x04;//8 Bit Ulaştıysa Enable/Cs=1
}

Yani 8. Bit'ten Başlayarak 0. Bit'e Kadar Hepsini Teker Teker Yolluyor.Her Biti Yollamadan Önce CLK=0,Yolladıktan Sonra CLK=1 Oluyor.
8 Bit'te Ulaştımı Enable/CS 1 Oluyor.(0. Biti Ulaştırmadan Önce 0 Yapmak Gerekli.)
Bu Kadar.İyi Çalışmalar,Kolay Gelsin...
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 02 Eylül 2013, 17:42:10
  ;Dbana biraz karışık geldi hiç bişey  anlamadım  ;D :)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 03 Eylül 2013, 19:31:14
Köpek savar yaptım.İlk önce borda kurdum denedim farklı frekans verdim 1000us hoparlörden ses çıkıyor.Yani devre çalışıyor fakat köpekleri kovmak için en iyi 22khz ile 27-khz arası olması lazım mış.buda 22000-27000Hz oluyor bunu nasıl yapıcam yardımcı olurmsuunuz.
Bayram hocam 40khz değilde 40Hz olabilirdi Denedim 12-13 us köpekler gitmedi  :)
27000Hz nasıl ayarlanabilir?
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: MrDarK - 03 Eylül 2013, 22:40:19
frekans = 1/period

Bu durumda bir kare dalga sinyali düşünecek olursak.

27000 hz = 1/ period

period = ortalama 37mikro saniye. %50 pals genişliğini düşünürsek...

yaklaşık 19 mikro saniye high 18 mikro saniye low yapacaksın ve buda 37us 27khz frekans üretmiş olursun tabi bunu sürekli yapman gerekir while döngüsü içide veya pwm dediğimiz şeyi yap :)
Başlık: Ynt: İki pic arası seri iletişim lcd veri göndermeve basma ccs c
Gönderen: Elektrik2012 - 04 Eylül 2013, 09:54:22
Anladım çok teşekkürler.Hemen yarın köpekler üstünde deniycem
KÖPEK KOVUCU KOD birde ısıs frekansı nasıl ölçebilirim?
#include <16F84a.h>
#fuses XT,NOWDT,NOPROTECT,NOPUT
#use delay(clock=4M)
void main()
{
     output_a(0x00);
     while(1)
     {
         if(input(Pin_b0)==1)
         output_high(PIN_A0);
         Delay_us(19);
         output_low(PIN_A0);
         Delay_us(18);
     }
}