PicBasic Pro – BUTTON Komutu

Facebookta Paylas



PicBasic Pro’da kullanılan Button komutunun ne işe yaradığını ve nasıl kullanıldığını anlatmaya çalışacağım.

Button komutu Pic’in herhangi bir pinine bağladığımız butona basılıp basılmadığını kontrol etmemzi ve gerekli komutları çalıştırmamızı sağlayan komuttur.

İlk bakışta butona basılıp basılmadığı bu komut kullanılmadan da kontrol edilebilir gibi görülebilir. Mesela aşağıda verilen devrede butona basıldığında led yakılacak bırakıldığında söndürülecektir.

TRISA=1             'Porta giriş olarak ayarlandı
TRISB=0             'Portb çıkış olarak ayarlandı

basla:
       IF porta.0 = 0 THEN  portb.0 = 0
       IF porta.0 = 1 THEN  portb.0 = 1
GOTO basla

şeklinde bir komut yazıldığında bunun işe yaraması beklenir ama yaramaz.

Çünkü porta’nın 0 nolu pinine bağlanan butona basıldığında led yanar. Butona basılma süresince ark dediğimiz dalgalanmalar olur ve butonun değeri sürekli 1 ve 0 olarak değişir. Bildiğiniz gibi pic çok hızlı işlem yapar (Saniyede 4 milyon işlem). Biz elimizi çekene kadar aynı komut onlarca kez tekrarlanacağı için led çok hızlı bir şekilde yanıp sönecektir. Oysa bizim yapmak istediğimiz butona basıldığında ledi yakıp bırakıldığında söndürmektir. İşte bunun için BUTTON komutunu kullanmak gerekir.

Button komutunun yazılışı şu şekildedir:

BUTTON Pin,Bas,Gecikme,OtoTekrar,Degisken,Islev,Etiket

Pin: Butonun bağlı olduğu pin
Bas: Buton basılı olduğunda, butonun bağlı olduğu pinin durumu ( 0 – 1 ). pull-up yapılmış buton için 0, pull-down yapılmış buton için 1. Biz örneğimizde pull-down bağlantı yaptık. Aşağıda pull-up ve pull-down bağlantı şekilleri anlatılmıştır
Gecikme: Gecikme yani butonun tekrar kontrolü için geçmesi gereken saykıl sayısı. 0 ile 255 arası bir değer yazılır. 0 yazıldıysa ark söndürme gecikmesi ve oto tekrar gecikmesi yapılmaz, 255 ise ark söndürme gecikmesi yapılır ama oto tekrar gecikmesi yapılmaz. Arasındaki değerlerde ark söndürme gecikmesi ve oto tekrar gecikmesi yapılır.
OtoTekrar: Butona sürekli basıldığında otomatik tekrar için beklenecek süre ( 0 – 255 )
Degisken: Dahili gecikme ve tekrar gerisayımı için kullanılan byte boyutunda değişken. Kullanılmadan önce sıfıra ayarlanmalıdır ve başka yerde kullanılmamalıdır.
Islev: Eylemin yapılacağı buton durumu (Buton basılıyken mi komutlar çalışacak yoksa değilken mi)
Etiket: Butona basıldıysa çalıştırılacak komutun etiketi

BUTTON komutu otomatik tekrar kontrol için mutlaka döngü içinde kullanılmalıdır

CMCON=7        '16F628 de komparatör pinleri iptal hepsi giriş çıkış. Bu
               'satır yazılmazsa program düzgün çalışmaz

trisa = 1      'porta giriş yapıldı
trisb = 0      'portb çıkış yapıldı

B0 	Var 	Byte
	B0 = 0

dongu:  BUTTON PORTA.0, 1, 10, 5, B0, 1, yak
        portb.0 = 0
GOTO dongu

yak:    portb.0 = 1
	Pause 100 	' 100 ms bekle
GOTO dongu

Butonun bağlanma şekilleri

Butonlar devreye 2 şekilde bağlanır. Bunlar pull-up ve pull-down diye adlandırılır. Böyle adlandırılmasının sebebi bir bağlantıda butona basılınca pic’e 5 Volt verilir, diğerinde ise butona basılmadığında pic’e 5 Volt verilir.

Pull-up: Aşağıdaki resimde görüldüğü gibi butona basılmadığında 10K’lık direnç üzerinden pic’in butona bağlı pinine +5 Volt verilir. butona basıldığında ise toprakla bağlantı sağlandığından pic’e voltaj verilmez.
Pull-down: Butona basılmadığında butonun pic’e bağlandığı pine voltaj verilmez. Basıldığında ise +5Volt direnç üzerinden gitmeyeceğinden kısa olan yolu takip ederek pic’e ulaşır

Bu yazı ile ilgili Proteus ve Pic Basic Pro dosyalarını indirmek için tıklayın

Tüm Pic Basic Pro derslerinin listesi için tıklayın



Facebookta Paylas






Benzer Yazılar

PicBasic Pro – @ Komutu

Bu yazımızda Picbasic Pro'da kullanılan @ komutundan bahsedeceğiz @ komutu satırın başında kullanıldığında Picbasic Pro programının içine

14791 Görüntüleme.

Yazar : hakki0548

PicBasic Pro – BUTTON Komutu Yazısı için Yorum Yapabilirsiniz