Mikro Denetleyiciler ve Programlama Dilleri
Mikroişlemci Nedir?
Mikro işlemciler insan hayatında oldukça yaygın bir şekilde yer almaktadır. Eğer bilgisayar kullanıyorsanız zaten adını pek çok kez duymuşsunuzdur. İşlemciler, bilgisayarda yapmak istediğimiz tüm işlemlerin denetlendiği ve gerçekleştirildiği yerdir. Bundan dolayı işlemciler, merkezi işlem birimi (CPU- Central Processing Unit) olarak da bilinmektedir. Kısacası bir bilgisayarın beyni görevindedir ve bilgisayarda olmazsa olmaz parçalarından biridir.
Mikrodenetleyici Nedir?
Mikrodenetleyici, içerisinde minik bir bilgisayar bulunan programlanabilir bir entegre modelidir. Mikro denetleyici isminin dışında mikrocontroller veya mikrokontrolcü gibi isimlerle ifade edilir.
Mikrodenetleyici, iç yapısında yer alan hafıza ve giriş/çıkış birimleri sayesinde gömülü sistemlerde kolayca programlanabilir. Ayrıca minik bir bilgisayar olduklarından gömülü sistemlerin kontrolünde sıkça bu denetleyiciler kullanılmaktadır.
Mikroişlemci ile Mikrodenetleyici Arasındaki Farklar:
Üst bölümde mikroişlemci ve mikrodenetleyiciyi açıkladıktan sonra sırada bu iki elemanları birbirinden ayıran özelliklerini açıklayacağım.
1. Mikroişlemci, merkezi işlem birimidir. Sadece işlemleri yönetir ve karar verir fakat işlemleri gerçekleştiremez. Mikrodenetleyici ise içinde işlemci, hafıza, giriş/çıkış, rom, ram gibi birimleri taşıyan küçük yapıda bir bilgisayardır. Bundan dolayı tek başına işlemleri denetler ve gerçekleştir.
2. Mikroişlemci, karmaşık sistemleri kontrol etme amaçlı kullanılırken mikrodenetleyici daha basit devrelerde tercih edilir.
3. Mikroişlemcinin, programlanması karmaşıkken mikrodenetleyicinin programlanması daha basittir.
4. Mikroişlemci fiyatı pahalıyken, mikrodenetleyici fiyatı oldukça düşüktür. Bu yüzden maliyet kriterlerine bakılarak basit sistemlerde denetleyici kullanılırken daha karmaşık sistemlerde ise işlemci kullanılmaktadır.
Mikrodenetleyici Çeşitleri
Mikrodenetleyici, iki farklı mimaride üretilirler. Bunlar, azaltılmış komut seti ( RISC – Reduced Instruction Set
Computer) ve karmaşık komut seti ( CISC – Complex Instruction Set
Computer) mimarileridir. Bu iki denetleyici mimarisini aşağıda kısaca açıklayalım.
CISC Mimarisi
Geleneksel bilgisayar işlemci mimarisidir. Bu mimari ile işlemciye ait tüm komutların saklandığı komut kümeleri vardır. Bu komut kümeleri farklı uzunluklarda olabilir. Fakat bu yapı ile bellekten tasarruf sağlanır.
CISC mimarisi gelişen teknoloji ile karmaşık hale gelmiş ve yeni üretilen işlemcilerde kullanılmayan komut kümelerinin de saklanmasından dolayı istenilen hızlı işlemci modelleri üretilememiştir.
RISC Mimarisi
CISC mimarisinin bellekten çalıştırılması yapılan işlemlerin uzamasına sebep olmaktaydı. Ayrıca bellekte sürekli kullanılmasa da saklanan kodların yer alması işlemci boyutlarının artmasına sebep olmasından dolayı ilk olarak IBM mühendisleri tarafından RISC işlemci mimarisi geliştirilmeye başlanmıştır. Artan rekabet ile Apple, Intel gibi firmalarında dahil olması ile RISC mimarisi oluşturulmuştur.
RISC mimarisi ile komut kümeleri bellekten kaldırılmış ve iç yapılar oluşturulmuştur. Bu sayede bellekteki yük azaltılmıştır. Ayrıca CISC mimarisinde farklı uzunluklardaki komut kümeleri belirli boyutlar haline getirilmiştir. Tüm bunların dışında belleğe erişim sadece yazma ve okuma (Load – Store) amaçlı olabilir.
Mikrodenetleyici Üreten Firmalar ve Modelleri
Mikrodenetleyici piyasasına hakim olmuş ve bu piyasanın gelişmesine yardımcı olmuş firmalar ve ürünlerine değineceğiz. İlk olarak bu firmaları sıralayalım. Microchip, Atmel, Intel, Motorola bu firmalar içerisinde en popüler olanlarıdır. Bunların dışında Maxim-Dallas, Parallax, Philips ve Zilog firmaları da mikrodenetleyici üreticileridir.
Microchip PIC Mikrodenetleyici Modeli
Microchip firmasının ürettiği ve adına çevresel ünite denetleme ara birimi (PIC – Peripheral Interface Controller) olarak tanıttığı denetleyici ailesidir. PIC modelleri ülkemizde fiyatı ucuz ve kolay ulaşılabilir olmasından dolayı denetleyiciler içerisinde en çok kullanılan üründür. Bu kullanım sıklığı yüzünden oldukça fazla kaynak bulunmaktadır.
Mikrodenetleyici İçin Programlama Dilleri
Eğer mikrodenetleyici çalıştırmak istiyorsanız becerebilmeniz gereken en önemli şey mikrodenetleyici programlamaktır. Mikrodenetleyicilerin programlama dilleri yardımı ile komut dizileri yazılır sonrasında derleyici arayüz programı yardımıyla denetleyiciye gönderilir.
Aşağıda mikrodenetleyici programlama için kullanılan programlama dillerini tanıtacağım.
Makine Dili
Mikrodenetleyicinin işlemci biriminin anlayabildiği tek dildir. Mikrodenetleyici için geliştirilen bir program hangi dilde yazılırsa yazılsın bir derleyici program yardımı ile makine diline çevrilir. Makine dili sadece hexadecimal sayılardan oluşmaktadır. Bundan dolayı dosya uzantısı .hex dir.
Assembly Dili
Assembly dili, makine diline en yakın programlama dilidir. Bizden önceki nesiller mikrodenetleyici programlanması için bu dili kullanırlardı. Fakat şuan başta C dili ve sonrasında Basic dili yaygın olarak kullanılır. Bu dillerin yetersiz kaldığı yerlerde ise Assembly dili ile devam edilir.
C Programlama Dili
C dili, dünyada kullanılan en yaygın programlama dili olduğu gibi mikrodenetleyici programlanmasında da oldukça sık kullanılır. B dilinden türetildiği için adı C dili olmuştur. Ayrıca C dili dolaylı yoldan pek çok programlama dilini etkilemiştir. C dilini kullanarak mikrodenetleyici programlamak istiyorsanız Keil, Pic C gibi arayüz programlarını kullanmanız gerekir.
Basic Programlama Dili
Mikrodenetleyici programlamak için C dili dışında öğrenebileceğiniz bir başka programlama dili Basic dilidir. Bu dil C diline göre daha kolay bir dildir. C dilinden sonra en sık kullanılan dildir.