Digital

   Mikrodenetleyiciyi projelerde etkin bir şekilde kullanabilmeyi öğrenebilmenin temel aşaması dijital elektroniğin mantığını öğrenmekle başlar.  Dijital elektronik, binary sayı sistemi ile ifade edilen makina dilini kapsar. Burada kullandığımız operatörler,  binary,desimal ve hexadesimal tabandaki sayıların atanması,iletilmesi ve  kıyaslanması ile ilgilidir.  Sinyalleri oluşturan voltaj ve akım değerleri, dijital elektronikte matrix formunda kodlanmış binary,desimal ve ya hexedesimal tabandaki sayılar ile ifade edilir. Bu yüzden programlama mantığını elektronikle bir bütün olarak düşündüğümüzde çevresel her faktörün(Isı, ışık  vb) dijital elektronikte karşılığı sayısal olarak verilir.  

   Aslında elektroniği dijital ve analog olmak üzere iki ana başlığa ayırsak benim açımdan bir sıkıntı olmaz. Mesela oluşturacağımız bir sistemin çevredeki ışık miktarını ölçmesini istiyoruz. Eğer bu sistemi dijital elektronik tabanlı yapmak istiyorsak çevresel bilgiyi dijital bilgiye çevirmemiz gerekecektir. Bunun için de ilk önce çevresel bilgiyi analog bilgiye(sinyale) daha sonra ise bu analog bilgiyi dijitale çevirmemiz gerekiyor.  Analog bilgi çevresel bilginin akım ve voltaj değerlerine dönüştürülmesi ile elde edilir. Bu işlem için genellikle duyarlı hale getirilen bir direnç(Işığa Duyarlı) ve ya  OPAMP lardan, transistörlerden oluşan tümleşik devreler kullanılır. Bu sayede. öyle bir devre oluşturduğumuzu hayal edin ki; ışık fazla olduğunda oluşturduğumuz devredeki voltaj yükselecek, az olduğunda devremizdeki voltaj değerimiz de düşecek.  Ve böylece bir analog bilgi(sinyal) elde etmiş oluyoruz. Gelelim bu analog bilgiyi dijitale çevirmeye.  Bu işlem için ise genellikle özel entegreler kullanılır. Böyle entegrelerin içerisinde zamanlayıcı özelliğine sahip  devreler mevcuttur.Bu devrenin saniye de bir aktif olduğunu ve aktif olduğunda kendisine gelen analog sinyalin değerlerini kaydettiğini düşünün. Böylece Discrete edilmiş bir sinyal elde etmiş olduk.  Bu sinyalin her saniyede kaydettiğimiz değerlerine binary tabanda bir sayı değeri atanır. Ve artık analog bilgi digitale çevrilmiş olur. Böylelikle her voltaj değerinin bir sayısal karşılığı olmuş olur. Mikrodenetleyici kullanarak bir sistem oluşturmak istiyorsak  çevresel faktör bilgilerini digital bilgiye çevirmek zorundayız. Çünkü mikrodenetleyici içerisinde İşlemcisi, RAM’i ve I/O Üniteleri olan dijital bir gömülü sistemdir

Digital 2

    Sırada dijital bilgiyi işleme var. İşte bunun için mikrodenetleyici kullanıyoruz. Mikrodenetleyici ile istediğiniz , hayatınızı kolaylaştırabilecek bir çok sistem oluşturabilirsiniz.  Bilmeniz gereken biraz dijital elektronik ve programlama temel mantığı.

    Microdenetleyiciyi bir bilsayar gibi düşünün.  Bilgisayarın İşlemcisi, Ram’i ve I/O üniteleri vardır. En basit bir örnekle bilgisayarda masa üstüne sağ tıkladığımızda açılan menünün nasıl açıldığını elektronik düzlemde açalım.   Biz bilgisayara yaptırmak istediğimiz bu işlemi herhangi bir input ünitesinden( mouse den)  dijital bilgi ile göndeririz.  Bilgisayarın işlemcisine gönderdiğimiz bu dijital bilgi, Ram de bulunan geçici program komutlarla, kıyaslanır, işlenir ve istediğimiz sonuç output ünitesine( Monitör) verilir. Mikrodenetleyici de yaptırmak istediğimiz işlemi yapmak için aynı işlem sırasını izler. Mikrodenetleyicinin İşlemcisi, RAM’ i ve I/O ünitelerin portları kendi içerisinde gömülüdür. Bizim yapmamız gereken bir I/O ünitesi tanımlamak(yani bir devre dizaynı),  istediğimiz programı yazmak ve mikrodenetleyicinin istediğimiz  işlemini yapmasını izlemektir. 🙂  Mikrodenetleyiciler hakkında biraz daha detaylı bilgi içeren bir konu yazmıştım;  buradan ulaşabilirsiniz;

 http://elektronikhobi.net/kisaca-mikrodenetleyici-nedir-nasil-calisir/

    Mikro denetleyici programlamak için bir derleyiciye ve bir de bilgisayarda yazdığınız programı pic’e atmanız için programlayıcıya ihtiyacımız olacak. Derleyici için Assembly,  Pic Basic, Pic CCS C, Cod Composer Studio gibi çeşitli programlar mevcuttur. Benim kullandığım derleyici Pic CCS C. Çünkü geniş kütüphaneye sahiptir ve C++ dersi almış biri olarak öğrenmekte çok zorlanmadım.  Programlayıcı olarak ise pickit in programlayıcıları mevcuttur. İnternetten pickit diyerek aratırsanız karşınıza bir çok programlayıcı çıkacaktır. 

Pickit2 (programlayıcı)
Pickit2 (programlayıcı)
Pic CCS C (Görünüm)
Pic CCS C (Görünüm)

  Pic CCS C derleyicisini google de aratıp bulabilirsiniz.

  Pic’i etkin kullanabilmenin diğer bir aşaması ise Proteus ve Pspice gibi programların etkin kullanabilmektir. Bu aşamada biraz elektronik bilgiye ihtiyacınız olacak.  Proteus ise devre dizayn programıdır. Bu program ile istediğiniz devreyi çizebilir ve similasyonunu yaptırabilirsiniz. Böylece devrenizin çalışıp çalışmadığını similasyon ortamında anlayabilmek mümkündür.  

Proteus

  İsterseniz  Mikro denetleyicinin nasıl çalıştığı ile alakalı çok basit bir uygulama yapalım.  Bunun için ilk önce Proteus Programımızı çalıştırıyoruz…