8051 Mikrodenetleyicisi ile Led Kontrol

Merhaba arkadaşlar, bu yazımda 8051 Mikrodenetleyicilerine küçük bir giriş yapacağım. Öncelikle endüstriyel bir standart haline gelen 8051’e yakından bakalım. Aşağıdaki resim temel bir 8051 mikrodenetleyicisinin iç yapısını/mimarisini göstermektedir.

8051

Yine piyasada yaygın olarak kullanılan ve benimde simülasyon uygulamalarımda kullanacağım Atmel 89C51 model denetleyiciye ait bilgileri (İç yapısı, ayak bağlantıları v.b.) bu adresten öğrenebilirsiniz. İnternette 8051 mikroişlemcileri veya mikrodenetleyicilerine ait bir çok bilgiyi bulmanız mümkün. Uygulamalarımız sırasında Proteus ve Keil uVision programlarını kullanacağız.

Keil uVision’da Yeni Proje Oluşturmak

1) Program açıldıktan sonra üst tarafta bulunan “Project” menüsünden “New uVision Project” ‘e tıklıyoruz.
2) Açılan pencereden istediğimiz bir dizinde “Yeni Klasör” oluşturarak projemizi açıyoruz.
3) Projemizi açtığımız anda gelen “Select Device” penceresinden “Atmel – 89C51” işlemcisini seçiyoruz ve “Tamam” butonuna basıyoruz.
4) “Startup Code” için açılan pencerede “Hayır” butonuna basıyoruz.
5) Sol üst tarafta yer alan “Create a New File” butonuna basıyoruz. (Boş bir sayfa açılması gerek)
6) Açılan pencereyi yine yukarıdaki menüden “Save” butonu ile kaydediyoruz.
7) Kayıt penceresinde varsayılan olarak “Text1” ismi yazılıdır. Bu dosya adının sonuna “.c” koyarak kaydediyoruz. Burada unutulmaması gereken en önemli nokta, bu işlemi projeyi oluşturduğumuz dosyanın içerisinde gerçekleştirmemiz.
8) Sol tarafta “Target” penceresini açtıktan sonra, alt dal olan “Source Group 1” sekmesine sağ tıklıyoruz ve açılan pencereden koyu renkli “Add Files to Group ..” ibaresine tıklıyoruz. Karşımıza gelen pencereden “.c” uzantılı dosyamızı bularak projemize ekliyoruz.
9) Simülasyon’da kullanmamız için “.hex” uzantılı dosya oluşması gerekmektedir. Bunun için sol taraftaki “Target” penceresine sağ tıklayıp “Options for Target” penceresini açıyoruz. Buradan “Output” sekmesine gelerek “Create HEX File” kutucuğunu işaretleyip “Tamam” butonuna tıklıyoruz.

Evet, bu adımları sırasıyla gerçekleştirdiyseniz artık C dilinde program yazmaya hazırsınız demektir.

Buton ile Led Yakma Uygulaması

Başlangıç için güzel bir uygulama. Devrenin çalışma mantığı kısaca, butona her basışta Led’i yakma ve söndürme işlemidir. Aşağıda uVision ile C dilinde yazılmış olan kodları bulabilirsiniz.

/* Buton ile LED Kontrolü - 8 Mart 2015 - Eren UYANIK */

#include <89c51rd2.H> //kütüphanemizi ekliyoruz

#define Buton P1_0 // P1.0 pini Buton degiskenine ataniyor
#define Led P2_0 // P2.0 pini Led degiskenine ataniyor

void main()
{
   Buton=1; // Giris için 1
   Led=0; // Çikis için 0 yapiliyor

   while(1)
    {
      while(Buton); // Buton'un basildigini kontrol eder. Basilana kadar döner
      while(!Buton); // Buton'un birakildigini kontrol eder. Birakilana kadar döner
      Led=!Led; // Led çikisini tersliyor
    }
}

Proteus üzerinde kurulan devre ise aşağıdaki gibidir.

proteus

Uygulama içerisinden örnek bir video

Sorularınızı gerek konuyu cevaplayarak gerekse iletisim@erenuyanik.com adresine mail atarak sorabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir