avatar_Bahri Bilir

Picde bir pini hem giriş hem çıkış olarak kullanmak mümkün mü?

Başlatan Bahri Bilir, 15 Eylül 2015, 21:44:43

Bahri Bilir

2 farklı picin porta.0 ıncı pini bir ledi besleyecek.ve bazen 1. pic lede enerji vermeden önce lede diğer picin enerji verip vermediğini kontrol etmesi gerekiyor.Yani kendisinin porta.0 ıncı pinin lojik değerini okuyabilmesi gerekiyor.Ama aynı zamanda gerektiğinde bu pini çıkış olarak alıp lojik bir yapabilmesi gerekiyor.

Yukarıda olayı basitleştirmek için basit bir örnek verdim.Bunu 16 bitlik bir proje için uygulayacağım.O yüzden eğer her bit için 2 pin harcarsan (giriş ve çıkış olmak üzere) 32 I/0 pinli bir pice ihtiyacım olacak (picin usartınıda kullancağım için 16f877a bile ihtiyacı karşılamayacak gibi görünüyor) ki bu büyük boyut ve lüzümsuz tasarıma sebeb olacak.Elimde 45-50 adet 16f886 var.Eğer bir pini hem giriş hem çıkış olarak kullanabilirsem bu pic ile 16 bit veriyi işleyerek problemi çözmüş olacağım.

"Hedeflerin bittiği tek yer, YENİ hedeflerin başlangıcıdır"

Bahri Bilir

Arkadaşlar sağolun mesajı yazdıktan sonra tris i döngü içinde kulanmak geldi aklıma ve sonuç istediğim gibi.Yani trisle döngü içinde istediğimiz pini giriş veya çıkış olarak değiştirebiliyoruz.
"Hedeflerin bittiği tek yer, YENİ hedeflerin başlangıcıdır"

ete

Tris registeri aslında program açılırken kullanılan bir komuttur. Program içinde giriş çıkış değişikliği yapacaksanız,
INPUT PIN  (örnek INPUT PORTB.0)
OUTPUT PIN (Örnek OUTPUT PORTB.0)
komutlarını kullanın.
Unutmayın bazı komutlar kullandıkları pini otomatikman giriş yada çıkış yapar.
Mesela HIGH PORTB.0 dediğiniz zaman sistem önce PORTB.0 pinini çıkış yapar sonra o pine 1 değerini verir.

Ete

Powered by EzPortal