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.