İki Pic kullanarak port çoğaltmak için en basit yöntem ?

Başlatan umitmura, 28 Aralık 2010, 00:08:00

umitmura

Merhaba, iki pic kullanarak port çoğaltmayı forumlarda araştırdım fakat mantığı tam anlayamadım.
Basit bir şekilde şöyle bir örneği nasıl yapabiliriz. Assembly veya pic basic olabilir,
mantığı anlamak açısından.
20 tane led 1'er saniye ara ile sırayla yanacak. Sönecek sonra tekrarlayacak.
2 pic 16f628a ile bunu nasıl sağlarız.
Piclerin haberleşmesi ve zaman senkronizasyonunu anlamak açısından.

teşekkürler-Saygılarımla

ipek

2 pic özelliklemi gerekli ?? 876 veye 877 gibi bol bacaklı pic olmazmı??

ete

Her ikisinde PORTB+PORTA.0+PORTA.1 pinleri olmak üzere oplam 10 pin led çıkışları için kullanılır.
POTA.3 pinleri birbirlerine bağlanarak senkron bu pinlerden yakalanır.
Birinci 16F628 in PORTA.3 pini çıkış konumundadır ve sıra ile ledlerini yakar ve en son led (PortB.7 de ) yandığı zaman ,
PORTA.3 pinini de high yapar. Son led sönersönmez bu sefer kendi PortA.3 pinini giriş olarak ayarlayıp beklemeye geçer.
İkinci 16F628 bu durumda PORTA.3 pini input konumunda bekliyor olması gerekir.
Birincideki çıkışın HIGH olduğunu görür görmez o pinin LOW olmasını bekler ve yakalar yakalamaz
kendi PORTA.3 pinini output olarak değiştirir ve aynı anda sıradan ledlerini yakmaya başlar.
Son pine gelince PORTA.3 pinini de HIGH yapar ve son led söner sönmez PortA.3 pinini giriş yapıp beklemeye koyulur.

İşte böyle bir birleri ile senkron sağlayarak sistem çalışır.
Lafla anlattım ama program olarakda zor değil sanırım.
Biraz dikkat ile kolaylıkla halledilir. Önemli olan bir husus şudur,
Piclerin birincisi daima ilk çalışmada işe başlayacak diğeri beklemede olacak.
Bunun anlamı şudur. İlk pic in PORTA.3 pini çıkış olarak çalışacak ama ikincinin PORTA.3 pini girişte bekleyecektir.
Daha sonra sırası ile senkron yakalanarak işlem kolaylıkla devam ettirilir.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

X-Fi

Bu şekilde bağlanırsa 24 ve daha fazla ledi tek bir pic ile farklı zamanlarda yakıp söndürebilirsiniz.

http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

umitmura

İki pic özellikle gerekli değil çalışma mantığını öğrenmek için örnek olarak 628 dedim. Port ihtiyacına göre bu 2 adet 877 de olabilirdi.

umitmura

Ete bey teşekkürler, Yanlış anladıysam düzeltin lütfen,

Başlangıçta;
1. pic A3 portu out
2.pic A3 portu in

1.pic te bir ledi yaktık sonra
2.picteki bir ledi yakmak için; 1.pic a3 portunu High yaptık(ikinci pice sinyal yolladık.)
2.pice gectik. Bu arada 1.pic a3 bacağını in yaptık.(geri dönüş için)
2. picte bir ledi yaktık. 2.pic a3 portunu out yapıp High yapıp 1. pice sinyal yolladık. 1. pice geçtik ..
bu şekilde duruma göre 2 pic arasında geçişler yapıyoruz sanırım, doğru anlamışsam eğer.


umitmura

Yanlış anlamışım herhalde A3 portu ilk durum dışında  in ve out olma durumunu kendi ayarlıyor herhalde.