Bu yazımızda Etiket, Değişken, Takma İsim ve Dizi kavramlarını açıklayacağız. Etiket kullanımı değişken türleri ve kullanım şekilleri, takma isim kullanma yolları ve array kullanımına değineceğiz.

ETİKET: En basit tanımıyla program içerisinde döngü oluşturmak için kullanılır. Açıklamak gerekirse, etiket tanımladığınız bir noktaya GOTO komutunu kullanarak programın herhangi bir yerindeyken ulaşabilirsiniz. Etiket isminden sonra ”  :  ” işareti konularak kod yazılır.

Kullanımı:

[code]
etiket_ismi:    ……………………….
……………………….
GOTO etiket_ismi
[/code]

şeklindedir.

Örneğin

[code]
dongu: TOGGLE portb.0
PAUSE 1000
GOTO dongu
[/code]

kodları ile portb’nin 0 nolu pininin değerini  1000 milisaniye aralıklarla 1 ve 0 yapıyoruz. Yani portb‘nin 0 nolu pinine led bağladığımızda ledimiz 1 saniye aralıklarla yanıp sönecektir. Bu döngü PIC’e elektrik verildiği sürece devam edecektir. Çünkü sonsuz döngü oluşturulmuştur. GOTO komutu ile sürekli olarak dongu isimli etikete gidilip tekrar GOTO komutuna gelinmektedir.

DEĞİŞKEN: Değişkenler hemen hemen tüm programlama dillerinde bulunur. Kullanış amaçları program içindeki verileri geçici olarak depolamaktır. Veriler değişkenlere yüklenir, böylece programın ilerleyen bölümlerinde o veri ile ilgili işlemler daha rahat yapılır. Değişken tanımlama şu şekilde yapılır:

[code]
degisken_ismi        var     boyut{.niteleyici}
[/code]

Görüldüğü gibi değişken tanımlamak için değişkene isim verilir. Verilen isimden sonra  ” var ” kelimesi yazılır. ” var ” kelimesi ingilizce variable kelimesinin kısaltmasıdır. variable kelimesi değişken anlamına gelir.  Yani biz ” var ” yazarak tanımladığımız şeyin değişken olduğunu belirtmiş oluyoruz.  ” var ” yazdıktan sonra ise değişkenimizin boyutunu yazıyoruz. Bu kısma kafamıza göre sayı yazmıyoruz tabi ki. BIT, BYTE ve WORD kelimelerini yazabiliyoruz. Gelelim bu kelimelerin anlamlarına;

  • BIT: En küçük değişken tipidir. Hafızada 1 bitlik yer kaplar. Bu tipte tanımlanan bir değişkenin değeri ya 0 (Sıfır) yada 1 (bir) olur. Başka bir değer alamaz.
  • BYTE: 8 bitlik bir değişken tipidir. 0 ile 255 arasında değer alabilir.  255 sayısının ikilik sistemdeki karşılığı ” 11111111 ” dir. Yani “8 bit” den oluşur. O yüzden en fazla 255 değerini alır.
  • WORD: 16 bitlik bir değişkendir.  0 ile 65535 arasında değer alabilir. 65535 sayısı ikilik sistemde “16 bit” den oluştuğundan en fazla bu değeri alabilir.

Örnekler:

[code]
sayi1    VAR    BIT
sayi2    VAR    BYTE
sayi3    VAR WORD

sayi1 = 0
sayi2 = 45
sayi3 = 15624
[/code]

Sayı Tipleri:Değişkenler konusunda bahsedilmesi gereken bir diğer husus ise sayı tipleri. PicBasic Pro’da 3 çeşit sayı tipi kullanılır. Bunlar Binary(İkilik), Decimal(Onluk) ve Hexadecimal(Onaltılık) sayı tipleridir.

  • Binary: 0 ve 1 lerden oluşur. Değişkene binary sayı değeri atanacaksa başına % işareti konur. Örneğin;
[code]
sayi1 = %1o111o1o
[/code]

  • Decimal: 0 ile 9 arasındaki rakamlardan oluşur. Değişkene decimal  sayı değeri atanacaksa başına hiçbir işaret konmaz. Örneğin;
[code]
sayi1 = 25
[/code]

  • Hexadecimal: 0-9 arası sayılar ve A-F arası harflerden oluşur. Değişkene hexadecima sayı değeri atanacaksa başına $ işareti konur. Örneğin;
[code]
sayi1 = $5E
[/code]

Değişken değerlerinde baştaki işarete dikkat etmek gerekir. Çünkü;
[code]
sayi1 = %11
sayi2 = 11
sayi3 = $11
[/code]

örneğinde sayi1, sayi2 ve  sayi3 değişkenlerinin değerleri aynı değildir. %11’in onluk sistemdeki karşılığı 3’tür. $11 ise onluk sistemde 17 anlamına gelir.  O yüzden değişken değerinin başındaki işaret çok önemlidir.

TAKMA İSİM: Takma isim de bir çeşit değişkendir. Az önce değişken tanımlarken kullandığımız “var” kelimesi ile üretilir. Bir değişkene verilen ikinci isim olarak düşünülebilir. Bir değişkenin bir kısmını tanımlamak için kullanılır. Değişkenin nasıl tanımlandığını şöyle belirtmiştik:

[code]
degisken_ismi        var     boyut{.niteleyici}
[/code]

Farkettiyseniz boyuttan sonra {.niteleyici} yazdık. Buradaki niteleyicinin kullanılması zorunlu değildir. Niteleyici kullanarak takma isim oluşturmuş oluruz. Örnek üzerinden gidecek olursak;

[code]
sayi1        VAR     WORD
sayi2 VAR sayi1.Byte0
sayi3 VAR sayi1.HighByte
sayi4 VAR sayi2.Bit5
sayi5 VAR sayi3.7
sayi6 VAR sayi1.14
[/code]

Şimdi gelelim noktadan sonra yazılan niteleyicilerin anlamlarına:

  • Byte0 ve Byte 1 : Oluşturduğumuz değişken word tipinde tanımlanmışsa hatırlayacağınız gibi “16 bit”ten oluşuyor demektir. Bu da demektir ki 2 tane “8 bit”ten oluşur. Az önce yazdığımız gibi BYTE veri tipi 8 bitten oluşur. Yani WORD tipindeki değişkenler “2 byte” tan oluşur. Byte0 yazarak bu iki byte’ın birincisini, Byte1 yazarak da ikincisini kastetmiş oluyoruz. Yani;

sayi1 değişkeninin değeri %1101010001101011 ise;

sayi1.Byte0 demek sağdan ilk byte (sağdan ilk 8 bit) demek.
sayi1.Byte0 =  %01101011 olur.
sayi1.Byte1 =  %11010100olur.

Burada dikkat edilmesi gereken bir husus vardır. Kullandığımız PIC’ler 8 bitliktir. Yani her değişken PIC’in hafızasında 8 bitlik adreslere kaydedilir. Biz değişkene 16 bitlik değer atayabiliriz. Kullandığımız program bunu 8’er bitlik iki byte’a bölüp öyle kaydeder. Değişken ataması yaparken problem yok anlayacağınız. Asıl problem değişken çağırırken çıkıyor. Kaydedilen değişkeni çağırmak için Byte0 ve Byte1 niteleyicilerini kullanarak çağırmamız gerekir. Çünkü değişkenimiz ikiye bölünüp o şekilde PIC’in hafızasına kaydedildi.

  • LowByte ve HighByte : Bunlar da Byte0 ve Byte1 niteleyicileriyle aynı işi yaparlar. Yani istersek Byte0, istersek de LowByte yazabiliriz
  • Bit0 … Bit15 : Değişkenin kaçıncı bitini kullanacağımızı gösterir. 0 nolu bit en sağdaki, 15 nolu bit ise en soldaki bittir. Yani bit numaraları sağdan sola doğru gider.
  • 0 … 15 : Bir üstte yazdığımız Bit0 … Bit15 ile aynı işi yapar. Yani sayi1.5 ile sayi1.Bit5 aynı anlama gelir.
DİZİLER: Aynı isim kümesini kullanan değişkenlere dizi denir. Diziler birbiriyle bağlantılı değerleri atamak için kullanılırlar. Dizilerin en büyük avantajı, döngüler kullanılarak çok sayıda değişkenin değerinin işleme tabi tutulabilmesidir. Şöyle tanımlanır:
[code]
degisken_ismi        var     boyut[eleman sayısı]
[/code]

Örnek vermek gerekirse;

[code]
yas        VAR     BYTE[12]
[/code]

Bu örnekte 12 adet sayı değeri yas değişkenine atanabilir. Yani 12 tane öğrencinin yaşını 12 ayrı değişkene atamak yerine tek bir değişken kullanarak atama işlemini yapabiliriz.

Gelelim işin avantaj kısmına. Atama işlemi yaparken yine tek tek atama yapılacak ama okurken döngü kullanılabilir. Mesela;

[code]
yas        VAR     BYTE[12]
toplam VAR WORD
i VAR BYTE

yas[0] = 25
yas[1] = 23
…..
yas[12] = 27

FOR i = 0 to 11
toplam = toplam + yas[i]
NEXT i
[/code]

Yukarıda yazdığımız kod 12 kişinin yaşının toplamını alır. Gördüğünüz gibi 12 kişinin yaşı tek tek atandıktan sonra FOR-NEXT döngüsü kullanılarak kolay bir şekilde toplam alınmıştır.

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


Benzer Yazılar

PicBasic Pro Dersleri

Evet arkadaşlar bu bölümde PICBASIC PRO'nun nasıl kullanıldığından bahsedeceğim. Kullanılan komutların ne anlama geldiğini anlatıp örnek uygulamalarla konuların pekişmesine çalışacağım. Konular arasında PicBasic Pro'ya yeni başlayanlara hitap eden bölümler olacağı gibi kapsamlı uygulama örnekleri de yer alacak. Tabiki kolaydan zora metodunu kullanarak öncelikle yeni başlayanların da anlayabileceği örnekleri ardından da kapsamlı örnekleri inceleyeceğiz.


Facebookta Paylas