Mikrodenetleyicinin her pinine bir buton bağlamak ekonomik değildir. Eğer bilgisayar klavyesinin içini açıp incelediyseniz içinde 100lerce ayağı olan bir entegre yoktu. Butonları dikeyde ve yatayda bir birleri ile bağlayarak sütun ve satırlar oluşturulur.
Böylece sütun ve satır sayısının toplamı kadar pin kullanılarak sütun x satır ın çarpımı kadar buton rahatlıkla kontrol edilir. 4 sutün 4 satır ile 16 buton kontrol ediliyor. Uygulamayı biraz geliştirerek 8 sutün 8 satır ile 64 butonu kontrol edebilirsiniz.
Kontrol devresinin şeması;
Picin satirlarinin bağlandığı pinler giriş olarak tanımlanıp bir direnç ile pullup yapılır. Sutunlar ise çıkış olarak ayarlanır. Scan() fonksiyonunda sadece bir sütun 0 diğer sutünlar 1 olacak şekilde tarama işlemi yapılır. Satırların durumu tek tek kontrol edilir. Basılı olan butonun sutünunda ilgili satır okunduğunda 10 ms beklenir.
Bu süre debounce süresi kadardır. Butonlar mekanik olduğu için belli bir süre 1 ile 0 arasında titreşim meydana (debounce) gelir. Debounce süresi kadar beklenildikten sonra butonun basılı olduğuna eminsel butonların bağlandığı porttaki değer key_temp değişkenine atanır.
Daha sonra display() fonksiyonunda key_temp değişkeninin içindeki değerin hangi butona basıldığında karşılaşılacağını tablo aracılığı ile kontrol edildikten sonra hangi butona basıldı ise o kadar led yakılır.
Şifre-Pass: 320volt.com
Yayım tarihi: 2011/01/14 Etiketler: 8 sütun, hi tech c, hi tech led, hi tech sample, led bar, microchip pic projeleri, PIC16F877 örnekleri