4×4 Keypad (tuş takımı) Tasarımı

  Tuş takımı ile dijital sistemlere bilgi girişi yapılır. Kullanılacak tuş sayısı az ise her tuş için bir pin seçilerek bilgi girilir. Ancak tuş sayısı fazla ise değişik tekniklerle pin sayısı düşürülebilir. Bu uygulamada 4×4 matrix taramalı tuş takımını tanıtmaya  çalışacağım.

4×4 Matrix keypad taraması

 

Yandaki şekilde çalışma mantığı gayet güzel şekilde izah edilmiş. Açıklayacak olursak;

Mavi ile gösterilen DCBA çıkışları satırları, yeşille gösterilen 1234 girişleri ise sütunları göstermektedir.

Tarama şöyle gerçekleşir; önce A çıkışı “H” seviyeye çekilerek 10-20 ms. beklenir ve girişler kontrol edilir. A satırındaki herhangi bir butona basıldığında  hangi sütuna bağlıysa o sütun girişi “H” olmaktadır. Böylece hangi tuşa basıldığı tespit edilir. Burada tespit satır ve sütün adresine göre belirlenir. Program içinde tuş tanımlaması yapılarak istenilen değer verilebilir.

Tarama diğer satırlar içinde aynı şekilde tekrarlanır.

Devre Şeması

 

tusTakimi

Devrenin Çalışması

Devre PIC16F628A mikrodenetleyicisi üzerine kurulmuştur. Tarama mantığı ile tuş takımını tarar ve basılan tuşu 7 segment displayde gösterir. 7segment display 7447 ortak anot display sürücü entegresi ile sürülmüştür. Görevi; BCD formatındaki giriş bilgisini 7segment koduna dönüştürmektir.

Keypadin satırları PORTB’nin 0,1,2,3 pinlerine bağlanmış ve port yönlendirme registeri ile çıkış olarak tanımlanmıştır. Keypadin sütünları ise pull-down direnci üzerinden PORTB’nin 4,5,6,7 pinlerine bağlanmıştır. Bu pinler giriş olarak yapılandırılmıştır.

 MikroC Program Kodları

unsigned char tusS[4],tusSat[4],tusCarpim=0,tus;
//----------------------------------------
char tusTara()
{
char i;
PORTB=1;
for(i=1;i<9;i+=2)
{
tusSat[i]=PORTB&&0x0F;
Delay_ms(10);
tusS[i]=PORTB>>4;
if(tusS[i]!=0) tusCarpim=tusS[i]*i;
PORTB=PORTB<<1;
}
switch(tusCarpim)
{
case 1:tus=0;break;
case 3:tus=1;break;
case 5:tus=2;break;
case 7:tus=3;break;
case 2:tus=4;break;
case 6:tus=5;break;
case 10:tus=6;break;
case 14:tus=7;break;
case 4:tus=8;break;
case 12:tus=9;break;
case 20:tus=10;break;
case 28:tus=11;break;
case 8:tus=12;break;
case 24:tus=13;break;
case 40:tus=14;break;
case 56:tus=15;break;
}
return tus;
}
//-----------------------------------
void main()
{
  CMCON=7;
  TRISA=0;
  TRISB=0xF0;
  PORTA=0;
  PORTB=0;
  do
  {
    PORTA=tusTara();
  }while(1);
}

Kaynaklar:

http://pcbheaven.com/wikipages/How_Key_Matrices_Works/

Reklamlar

2 thoughts on “4×4 Keypad (tuş takımı) Tasarımı

    • Tuş takımı ile dijital sistemlere bilgi girişi yapılır. Kullanılacak tuş sayısı az ise her tuş için bir pin seçilerek bilgi girilir. Ancak tuş sayısı fazla ise değişik tekniklerle pin sayısı düşürülebilir. Bu uygulamada 4×4 matrix taramalı tuş takımını tanıtmaya çalışacağım.

      Bilgisayardaki klavye 8×8 matrix tuş takımıdır.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s