Haberler:

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

Ana Menü

Keypad ve LCD Picbasic pro

Başlatan eee1984, 20 Şubat 2008, 09:53:41

eee1984

Merhaba arkadaslar

Ben onceden keypad ve lcd ile ilgili bir uygulama yapmıstım ama c dili ile.. Ve orda fazladan bi keypad decoder entegresi kullanmıstım bunun sebebi ise keypad taranırken pic i mesgul ettiği için diger şeylere cevap veremeyecegi tarzında bi yazı okumustum bu dogru mu yani ben picbasic pro ile keypad ve lcd ve pic bu 3 elemanla direk programlama yapabilirmiyim yani kesme felan kullanman sart mı yani kesme kullan diyen de oldu da  :oops:  yardımcı olurmusunuz

Logan

Kesme kullanmana ve programın her anında sürekli tarama yapmana gerek yok. Sadece  tuşlara basılacağı zaman keypad alt programına gidersin ve gerekli işlemi yaparsın. Bu programın harcadığı zaman son derece azdır. Zaten büyük ihtimalle 2x16 lcd kullanıyosun yani display tarama gibi bir durum söz konusu değil. Anladığım kadarıyla tuşlardan girilen rakamı karşı tarafa seri veya ona benzer bir protokolle yollayacaksın...
İmza.

eee1984

Alıntı yapılan: "Logan"Kesme kullanmana ve programın her anında sürekli tarama yapmana gerek yok. Sadece  tuşlara basılacağı zaman keypad alt programına gidersin ve gerekli işlemi yaparsın. Bu programın harcadığı zaman son derece azdır. Zaten büyük ihtimalle 2x16 lcd kullanıyosun yani display tarama gibi bir durum söz konusu değil. Anladığım kadarıyla tuşlardan girilen rakamı karşı tarafa seri veya ona benzer bir protokolle yollayacaksın...

:D Saol logan ya bu aslında anladıgın uzere yeni proje  :oops:  Söyle bi tane keypad bi tane lcd var ve geriye kalan portlar çıkış olarak kullanılacak yani lcd yi taramayacagım zaten de ama keypad taranmadan yapılmaz demi yani yanlış mı biliyorum :oops:

Logan

Evet keypad taranmadan yapılmaz, mantığı gayet basittir. Aşağıdaki resimde 3x4 keypad için gerekli bağlantı şeklini görebilirsin.



Satırları sırayla aktif edecek ve sonra sütunlardan gelen bilgiye göre değerlendirme yapacaksın. Varsayalım ki 7 numaralı tuşun basılma olasılığına bakacağız. Bunun için 2. satırı aktif edip 2. sütundan bilgi gelmesini bekleyeceğiz. Buradaki çalışma prensibinde aslında bilgiyi pic kendinden kendine yolluyor. Hangi satır aktif iken hangi sütundan bilgi geliyorsa program içerisinde ona göre değerlendirme yapılıyor. Formülüde aşağıdaki gibidir;

Basılan tuş= (satır*3)+sütun

Satır 0 ile 3 arası, sütun ise 1 ile 3 arası bir değer alıyor. Bu formüle göre 9. tuşa basılması halinde 2. satırın ve 3. sütunun aktif olması gerekiyor. Bilinen değerleri yerine koyarsak;

Basılan tuş=(2*3)+3
Basılan tuş=(6)+3
Basılan tuş=9

Örnek bir program yazalım.

Alıntı Yap

Keypad:
          high satir0
          if sutun1=1 then
             low satir0  :  key_reg=1
             pause 20   :  return
          else
          if sutun2=1 then
             low satir0  :  key_reg=2
             pause 20   :  return
          else
          if sutun3=1 then
             low satir0  :  key_reg=3
             pause 20   :  return
          else
          low satir0  :  high satir1
'Pause 20 buton gecikmesi

İşte bu kadar basit.Umarım açıklayıcı olmuştur...
İmza.

eee1984

Tesekkurler  ;) gayet acıklayıcı olmuş :)

M_B

@Logan hocam;
7 pin değilde 4 pin kullanarak yapılamazmı ? Keypad entegreleri kullanmadan.
tusa bastıkca 4 ucta binary olarak rakamı gosteren keypad devresi cizsek
(diyotlar yardımıyla bu tur sema D.elek. kitaplarında mevcut ) ve bu 4 ucu picin gırısıne uygulayıp verileri algılasak olurmu.
bu tur bir uygulama yapsak netur
--avantaj ve dezantajı olur ?
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet