PIC Programlama Dersleri 4 – Değişkenler ve Veri Tipleri

guclusat

Tanınmış Üye
Süper Moderatör

PIC Programlama Dersleri 4: Değişkenler ve Veri Tipleri – MikroC C Programlama​

PIC mikrodenetleyicilerde program yazarken bazı değerleri hafızada tutmamız gerekir. Örneğin bir rölenin açık veya kapalı durumunu saklamak, sayaç oluşturmak ya da sensörden gelen ölçüm değerini işlemek için değişkenler kullanılır.

Bu derste mikroC PRO for PIC ile değişken tanımlamayı ve temel veri tiplerini PIC16F628A örnekleriyle öğreneceğiz.

1. Değişken nedir?​

Değişken, program çalışırken bir değeri saklamak için kullanılan isimlendirilmiş hafıza alanıdır.

Örneğin:

Kod:
unsigned char sayac = 0;
Bu satırda sayac adında bir değişken tanımlanır ve başlangıç değeri 0 olarak belirlenir.

Program içerisinde bu değeri değiştirebiliriz:
Kod:
sayac = 5;
Artık sayac değişkeninin değeri 5 olur.

2. Temel veri tipleri​

MikroC'de sık kullanılan veri tiplerinden bazıları şunlardır:

Veri tipiGenel kullanımDeğer aralığı
charKarakter veya küçük sayısal değerlerDerleyici uygulamasına bağlı
unsigned charİşaretsiz küçük tam sayılar0–255
intTam sayılarMikroC PRO for PIC'te genellikle -32768 ile 32767
unsigned intİşaretsiz tam sayılar0–65535
longDaha geniş aralıklı tam sayılarDerleyiciye bağlı
floatOndalıklı sayılarDerleyici ve hedef mimariye bağlı
PIC projelerinde bellek sınırlı olabileceğinden, ihtiyaca uygun veri tipini seçmek önemlidir.

3. unsigned char ne işe yarar?​

unsigned char, 0 ile 255 arasındaki tam sayıları saklamak için kullanılır.

Örnek:
Kod:
unsigned char led_durumu = 0;
Bu değişkeni bir LED'in açık veya kapalı durumunu saklamak için kullanabiliriz:
  • 0: LED kapalı.
  • 1: LED açık.
Aynı yöntem bir rölenin durumunu takip etmek için de kullanılabilir.

4. Değişkenlerle LED kontrolü​

Aşağıdaki örnekte RB0 çıkışının durumunu bir değişkenle belirleyeceğiz.

Kod:
void main() {
unsigned char led_durumu = 0;

TRISB = 0;
PORTB = 0;

while(1) {
led_durumu = 1;
PORTB.F0 = led_durumu;
Delay_ms(1000);

led_durumu = 0;
PORTB.F0 = led_durumu;
Delay_ms(1000);
}
}
Pro
gram nasıl çalışır?
  1. led_durumu isimli değişken 0 değeriyle başlatılır.
  2. Değişkene 1 atanır ve RB0 çıkışı açılır.
  3. Bir saniye beklenir.
  4. Değişkene 0 atanır ve RB0 çıkışı kapatılır.
  5. Bir saniye daha beklenir.
  6. Döngü sürekli tekrar eder.

5. Değişkenin değerini tersine çevirmek​

Bir değişkenin 0 ve 1 arasında değişmesini istiyorsak mantıksal NOT operatörünü kullanabiliriz.
Kod:
led_durumu = !led_durumu;
Bu ifade, değişken 0 ise 1; sıfırdan farklıysa 0 değerini üretir.

Örnek:
Kod:
unsigned char led_durumu = 0;
led_durumu = !led_durumu; // Sonuç: 1
led_durumu = !led_durumu; // Sonuç: 0
Bu işlem, butona her basıldığında LED'in veya rölenin durumunu değiştiren programlarda oldukça kullanışlıdır.

6. Değişken isimlendirme kuralları​

Değişkenlere anlamlı isimler vermek programın okunmasını kolaylaştırır.

Örnekler:
Kod:
unsigned char role_durumu = 0;
unsigned char sayac = 0;
unsigned int adc_degeri = 0;
Değişken adları rakamla başlamamalı ve C dilinin özel anahtar kelimeleri değişken adı olarak kullanılmamalıdır. Türkçe karakter kullanmamak, farklı araçlar ve kaynak dosyaları arasında uyumluluğu kolaylaştırabilir.

Sonuç​

Değişkenler, PIC programlarında değerleri saklamak ve programın çalışma durumunu takip etmek için kullanılır. unsigned char, röle ve LED gibi açık-kapalı durumları ile küçük sayaçlar için kullanışlıdır. Daha büyük sayılar veya ölçüm değerleri için ihtiyaca uygun veri tipi seçilmelidir.

Sonraki ders: PIC Programlama Dersleri 5 – Gecikme Komutları ve Zamanlama (Delay_ms, Delay_us).
 
Geri
Yukarı