Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

16F84 RF Haberleşme

Başlatan bg29, 23 Aralık 2013, 19:06:01

bg29

Benim atx34 ve arx34 kullanarak haberleşme yapmam gerekiyor. Bunu 16f84a ile assembly dilinde yazmam lazım.
Bunun hakkında bilgilendirme yapabilir misiniz.
Portb nin sıfırıncı bitindeki bir bilgiyi(1 yada 0) iletmem gerekiyor. Bunu atx34 ve arx34 ile nasıl sağlayabilirim.
Ek bir kod yazmam gerekli mi?
Teşekkürler  :)

LukeSkywalker

1- 16f84a gibi pahalı ve nuh nebi çağından kalma bir mikrodenetleyici kullanmak zorunda değilseniz, 12f675 gibi bir mikrodenetleyici bu işi yapmaya yeter de artar.
2- Bu linkten bahsettiğiniz rf modüllerin kullanımını öğrenebilirsiniz.

kudretuzuner

#2
Merhaba,
16F84 ile seri iletişim yaparsınız,ama iç yapısında özellikle seri iletişim için ayrılmış iki bacağı bulunan 16F628 ile daha kolay ve pratik olur.İletişim komutları ile daha kolay kontrol edebilirsiniz.Aşağıdaki link benim ilk çalışmalarımdandır.Belki size fikir verir.Kolay gelsin.
https://www.dropbox.com/s/9mfbutgsh2y2e4p/ETekno_pc_pic_on_off.rar?m=
Amatör

bg29

Alıntı yapılan: LukeSkywalker - 23 Aralık 2013, 21:19:10
1- 16f84a gibi pahalı ve nuh nebi çağından kalma bir mikrodenetleyici kullanmak zorunda değilseniz, 12f675 gibi bir mikrodenetleyici bu işi yapmaya yeter de artar.
2- Bu linkten bahsettiğiniz rf modüllerin kullanımını öğrenebilirsiniz.
Ne yazık ki öyle bir zorunluluğum var. Link için teşekkür ederim inceliyeceğim.
Alıntı yapılan: kudretuzuner - 23 Aralık 2013, 21:25:21
Merhaba,
16F84 ile seri iletişim yaparsınız,ama iç yapısında özellikle seri iletişim için ayrılmış iki bacağı bulunan 16F628 ile daha kolay ve pratik olur.İletişim komutları ile daha kolay kontrol edebilirsiniz.Aşağıdaki link benim ilk çalışmalarımdandır.Belki size fikir verir.Kolay gelsin.
https://www.dropbox.com/s/9mfbutgsh2y2e4p/ETekno_pc_pic_on_off.rar?m=
Teşekkürler.

Birkaç yere baktım yabancı forumlara falan veriyi göndermek için Manchester code diye bir code kullanmam gerekliymiş fakat assembly uygulamasını hiç görmedim. Genelde diğer dillerde yazılmış olanı var.

kudretuzuner

#4
Merhaba,
Ben size sadece seri iletişimin asm ile ilgili linkini verdim.Amatör olduğum için RF hakkında pek fazla pratiğim yok.Önerim şöyle olacaktır.İlk önce iletişimi kablo ile direk sağlayın.sonradan araya RF modül koyarak deneyebilirsiniz.
Not:Link PC to PIC iletişimidir.
Amatör

Kabil ATICI

1 bit haricinde bilgi gönderilmeyecekse işlemciye gerek yok. lojik-1 veya lojik-0 başka ihtimal var mı?
ambar7

bg29

Alıntı yapılan: kudretuzuner - 23 Aralık 2013, 23:01:55
Merhaba,
Ben size sadece seri iletişimin asm ile ilgili linkini verdim.Amatör olduğum için RF hakkında pek fazla pratiğim yok.Önerim şöyle olacaktır.İlk önce iletişimi kablo ile direk sağlayın.sonradan araya RF modül koyarak deneyebilirsiniz.
Not:Link PC to PIC iletişimidir.

Benim iletişimim iki rf modül arasında olucaktır. Aslında projem su deposu seviye kontrolü depo boş olunca portbden çıkış verecem (birinci bitini bir yapıp çıkışı da ordan alacam bu 1 yaptığım veriyi ) bu veriyide karşı tarafa rf ile iletip depoya su aktarımını sağlayacam. Bu portbdeki çıkışı rf ile nasıl aktaracağımı tam çözemedim.

Terminal kısmının tam olarak neresi seri iletişim kodu anlayamadım kusura bakmayın. Sadece 16f84 biliyorum banksel gibi bir komut var kodunuzda.

Yardımınız için teşekkürler.

Alıntı yapılan: ambar7 - 23 Aralık 2013, 23:17:12
1 bit haricinde bilgi gönderilmeyecekse işlemciye gerek yok. lojik-1 veya lojik-0 başka ihtimal var mı?

1 bit gönderilecek fakat amacımız pic16f84 kullanarak yapmak olduğu için sorun orada başlıyor zaten. Hocaların garip istekleri işte

kudretuzuner

Merhaba,
Evet evet dediğiniz doğru olabilir.Konu seri iletişim olmayabilir.O zaman konu daha basittir.Herkese iyi geceler.
Amatör

engineer42

neden mikrodenetleyici derslerinde hala bu model pic üzerinden anlatılıyor assembly ve projelerde hep bu model ile isteniyor?

bg29

Alıntı yapılan: kudretuzuner - 23 Aralık 2013, 23:29:38
Merhaba,
Evet evet dediğiniz doğru olabilir.Konu seri iletişim olmayabilir.O zaman konu daha basittir.Herkese iyi geceler.
İyi geceler
Alıntı yapılan: engineer42 - 23 Aralık 2013, 23:34:22
neden mikrodenetleyici derslerinde hala bu model pic üzerinden anlatılıyor assembly ve projelerde hep bu model ile isteniyor?
aynen katılıyorum

Kabil ATICI

@bg29
banksel komutu 16f serisi işlemcilerde asm dilinde kullanılıyor.
iki tane seçeneğin var;
yöntem1. normal buton basıldı led yandı işleminde olduğu gibi yaparsın.
Giriş pb0 , çıkışında (senin belirleyeceğin bir porta bağlanacak) atx34 kullanılıyor. Aynı işlemciyi 2 kez kullanırsın arx34'ün çıkışını pb0'a bağlarsın. çıkışıda sen belirle. (istersen buraya bir led bağla). (buna öğretmeninizin kabul edeceğini düşünmüyorum. Çünkü ha işlemciyi bağlamışsın, ha bağlamamışsın.)

yöntem2.(seri port yöntemi)  pb0 okunuyor değeri (0. bit olarak) seri port üzerinden gönderiliyor. Ama senin belirttiğin işlemcenin donanımsal seri portu yok. (donanımsal seri portu olan bir işlemci seçmen senin için kolaylık sağlayacaktır) Seri port çıkışına atx34 bağla. (donanım varsa tx ucu) işlemcinin
arx34'ü ikinci işlemcinin RX ucuna bağla. alıcı için programını oluştur. Ve bu değeri doğrudan çıkış portuna ver.

Not: bu konu ile ilgili internette örnek bulabilirsin.
ambar7

bg29

Alıntı yapılan: ambar7 - 23 Aralık 2013, 23:58:05
@bg29
banksel komutu 16f serisi işlemcilerde asm dilinde kullanılıyor.
iki tane seçeneğin var;
yöntem1. normal buton basıldı led yandı işleminde olduğu gibi yaparsın.
Giriş pb0 , çıkışında (senin belirleyeceğin bir porta bağlanacak) atx34 kullanılıyor. Aynı işlemciyi 2 kez kullanırsın arx34'ün çıkışını pb0'a bağlarsın. çıkışıda sen belirle. (istersen buraya bir led bağla). (buna öğretmeninizin kabul edeceğini düşünmüyorum. Çünkü ha işlemciyi bağlamışsın, ha bağlamamışsın.)

yöntem2.(seri port yöntemi)  pb0 okunuyor değeri (0. bit olarak) seri port üzerinden gönderiliyor. Ama senin belirttiğin işlemcenin donanımsal seri portu yok. (donanımsal seri portu olan bir işlemci seçmen senin için kolaylık sağlayacaktır) Seri port çıkışına atx34 bağla. (donanım varsa tx ucu) işlemcinin
arx34'ü ikinci işlemcinin RX ucuna bağla. alıcı için programını oluştur. Ve bu değeri doğrudan çıkış portuna ver.

Not: bu konu ile ilgili internette örnek bulabilirsin.

bg29

Çok teşekkür ederim verdiğiniz bilgi için. Ama birşey daha sormak istiyorum. Ben bu amaç için başka hangi pic'i kullanabilirim seri port çıkışı olan ? Bir de sadece assembly'de kod yazabiliyorum farklı pic kullanılınca assembly kodum tamamen değişicek mi?

Kabil ATICI

donanım tanımlarında veya kullanımında çok büyük bir değişiklik olmadıkça hayır.

Örneğin diyelim, sen seri portu olan bir işlemciye göre programı oluşturdun, bunu seri portu olmayan bir işlemciye taşırsan evet programı ciddi bir şekilde değiştirmen gerekir.Yoksa en fazla yapacağın değişiklik ali değilde veli olur.

Bunun için programı taşıdığın işlemcilerin donanım özelliklerini incelemen gerekir.

Daha önce örnek gösterilen 16F628a işlemisini kullanabilirsin...
ambar7

bg29

Çok teşekkür ederim hiç birşeyi değiştirmeme gerek kalmadı.Oldu hemen kod da.Şimdi çıkışı rx ve tx den gönderip alınca rf işlemcim çalışır mı? Ayarlama yapmam gerekli mi?