AT89C51 Mikrodenetleyici ile Programlama Rehberi

AT89C51 Mikrodenetleyici ile Programlama Rehberi

AT89C51, Intel tarafından üretilen ve günümüzde yaygın olarak kullanılan 8 bitlik bir mikrodenetleyicidir. Bu mikrodenetleyici, gömülü sistemler ve otomasyon uygulamaları için ideal bir seçimdir. AT89C51, düşük maliyeti, geniş uygulama alanı ve kolay programlanabilirliği ile tanınır. Bu makalede, AT89C51 mikrodenetleyicisinin özellikleri, programlama yöntemleri ve uygulama örnekleri hakkında bilgi vereceğiz.

AT89C51 Mikrodenetleyicisinin Özellikleri

AT89C51, 8 bitlik bir mikrodenetleyici olarak, 4 KB’lık program belleği (ROM), 128 byte RAM ve 32 adet giriş/çıkış (I/O) pinine sahiptir. Ayrıca, 16 bitlik bir zamanlayıcı ve kesme (interrupt) kontrol sistemi ile donatılmıştır. Bu özellikleri sayesinde, AT89C51, çeşitli uygulamalarda esnek bir çözüm sunar. Mikrodenetleyici, 12 MHz’ye kadar çalışma hızına sahiptir ve düşük güç tüketimi ile dikkat çeker.

AT89C51’in Programlanması

AT89C51 mikrodenetleyicisini programlamak için genellikle Assembly dili veya C dili kullanılır. C dili, daha yüksek seviyeli bir dil olması nedeniyle, daha kolay ve hızlı bir geliştirme süreci sunar. AT89C51 için en yaygın kullanılan geliştirme ortamları arasında Keil, MikroC ve SDCC bulunmaktadır.

Geliştirme Ortamı Kurulumu

AT89C51 mikrodenetleyicisi ile çalışmaya başlamak için öncelikle uygun bir geliştirme ortamı kurmalısınız. Örneğin, Keil kullanarak program geliştirmek istiyorsanız, aşağıdaki adımları izleyebilirsiniz:

1. **Keil IDE’yi İndirin ve Kurun:** Keil’in resmi web sitesinden IDE’yi indirip bilgisayarınıza kurun.

2. **Yeni Proje Oluşturun:** Keil’i açın ve yeni bir proje oluşturun. Mikrodenetleyici olarak AT89C51’i seçin.

3. **Kaynak Dosyalarını Ekleyin:** Projenize C veya Assembly dilinde yazılmış kaynak dosyalarını ekleyin.

4. **Derleme ve Hata Ayıklama:** Projeyi derleyin ve hata ayıklama işlemlerini gerçekleştirin. Bu aşamada, kodunuzun doğru çalıştığından emin olun.

5. **Programı Yükleme:** Derleme işlemi tamamlandıktan sonra, programı mikrodenetleyiciye yüklemek için uygun bir programlayıcı kullanın.

Temel Programlama Örnekleri

AT89C51 mikrodenetleyicisi ile çalışmaya başlarken, basit örneklerle başlayabilirsiniz. İşte birkaç temel örnek:

1. **LED Yakma:** Aşağıda, bir LED’in yanıp sönmesini sağlayan basit bir C kodu örneği verilmiştir.

“`c

#include

void delay(unsigned int time) {

unsigned int i, j;

for(i = 0; i < time; i++) for(j = 0; j < 1275; j++); } void main() { while(1) { P1 = 0x01; // P1.0 pinini HIGH yap delay(1000); // 1 saniye bekle P1 = 0x00; // P1.0 pinini LOW yap delay(1000); // 1 saniye bekle } } “` 2. **Buton Okuma:** Bir butonun durumunu okuma ve buna göre bir LED’i kontrol etme örneği: “`c #include

void main() {

P1 = 0x00; // Tüm P1 pinlerini LOW yap

while(1) {

if (P2 == 0x01) { // P2.0 pinine buton bağlı

P1 = 0x01; // LED’i yak

} else {

P1 = 0x00; // LED’i söndür

}

}

}

“`

Kesme (Interrupt) Kullanımı

Kesme, mikrodenetleyicinin belirli bir olay gerçekleştiğinde program akışını değiştirmesini sağlar. AT89C51’de kesme kullanarak bir butonun basılma olayını yakalayabilirsiniz. Aşağıda bir kesme örneği verilmiştir:

“`c

#include

void ExternalInterrupt() interrupt 0 {

P1 = ~P1; // P1 pinlerinin durumunu ters çevir

}

void main() {

IT0 = 1; // Düşen kenar kesmesi

EX0 = 1; // Kesme iznini ver

EA = 1; // Genel kesmeyi etkinleştir

P1 = 0x00; // Başlangıçta P1 pinlerini LOW yap

while(1);

}

“`

AT89C51 mikrodenetleyicisi, gömülü sistemler için güçlü bir araçtır. Geliştiricilere sunduğu esneklik ve çeşitlilik ile birçok uygulama alanında kullanılabilir. Bu rehberde, AT89C51’in temel özellikleri, programlama yöntemleri ve örnek uygulamalar hakkında bilgi verdik. AT89C51 ile projeler geliştirmek, hem eğlenceli hem de öğretici bir deneyim sunar.

SSS (Sıkça Sorulan Sorular)

1. AT89C51 mikrodenetleyicisi hangi uygulamalarda kullanılır?

AT89C51, otomasyon sistemleri, robotik projeler, ev otomasyonu, sensör uygulamaları ve daha birçok alanda kullanılabilir.

2. AT89C51’i programlamak için hangi diller kullanılır?

AT89C51’i programlamak için genellikle C ve Assembly dilleri kullanılır. C dili, daha yüksek seviyeli bir dil olduğu için daha yaygın tercih edilmektedir.

3. AT89C51 için hangi geliştirme ortamları mevcuttur?

AT89C51 için en popüler geliştirme ortamları arasında Keil, MikroC ve SDCC bulunmaktadır.

4. AT89C51 mikrodenetleyicisinde kesme nasıl kullanılır?

Kesme kullanmak için, ilgili kesme pinini etkinleştirmeniz ve kesme işlevini tanımlamanız gerekir. Kesme gerçekleştiğinde, mikrodenetleyici ilgili kesme işlevini çalıştırır.

5. AT89C51 ile projelerimi nasıl test edebilirim?

Projelerinizi test etmek için bir programlayıcı kullanarak mikrodenetleyiciye yükleyebilir ve ardından devreyi çalıştırarak işlevselliğini kontrol edebilirsiniz. Ayrıca, hata ayıklama araçları kullanarak kodunuzu daha detaylı inceleyebilirsiniz.

Başa dön tuşu