Delphi Can

Orjinalini görmek için tıklayınız: Delphi ile PIC Programlama (P16F628A)
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhaba,
Tamamen Delphi (Pascal) kodu ile PIC programlama yapılabilir mi? Zamanında bu soruyu kendime çok sormuştum. Çevremde bu konuda danışabileceğim birileri de olmayınca açık kaynaklardan bir çok defa araştırma yaptım. Fakat tatmin edici bir örneğe rastlamadım. 

Daha önce @engerex arkadaşımız, Akıllı Otomasyon Sistemleri ve İletişimleri (Arduino & Raspberry PI)  bölümünde MikroPascal, MikroC, MikroBasic başlıklı bir konu içerisinde Delphi ile bu işin nasıl kolayca yapılabileceğinin ipuçlarını vermişti.
Bu aşamadan sonra gerçek cihaz olmadan, MikroPascal ve Proteus (Görsel Elektronik devre tasarlama yazılımı) kullanarak testler yaptım. Daha sonra gerçek bir PIC üzerine yazarak, PIC programlamanın MikroPascal ile ne kadar kolay olduğunu gördüm.

Burada bir çok arkadaşımıza örnek ve klavuzluk edecek makalemin hazırlanmasında bana fikir veren platformumuzun ilk üyesi @engerex ve donanımsal (PIC ve diğer devre elemanları) ve mikro elektronik bilgileri ile yardımcı olan @Halildev arkadaşlarıma teşekkür ederim.

Makalemizde, birer saniye aralıklarla sürekli olarak yanıp-sönecek bir LED uygulamsı yapacağız.  

Gerekli olan yazılımsal araçlar;
  • MikroPascal
  • Proteus (isteğe bağlı, Elektronik devreye ihtiyaç duymadan, yazılan kodları grafiksel olarak simüle etmenizi sağlar.)
Gerekli olan donanımsal araçlar;
  • 1 Adet PIC P16F628A
  • 1 Adet 330 R direnç
  • 1 Adet Led
  • 1 Adet Güç Kaynağı
14.jpg

Öncelikle MikroPascal uygulamasından File > New > New Project menüsünden yeni bir proje oluşturalım. 

Açılan ilk ekranda aşağıda belirtilen alanları dolduralım ve Next butonuna tıklayalım.
Project Name (Proje Adı), 
Project folder (Oluşturulacağı yer),
Device name (kullanacağımız PIC sürümü),
Device clock (PIC İşlem hızı)

01.png


Aşağıdaki ekranda daha önceden var olan bir kaynak dosyanızı (.mpas = MikroPascal) doğrudan ekleyebilirsiniz. Yeni bir programlama yapacağımızdan bu ekranı Next butonu ile geçelim.

02.png


Aşağıdaki ekranda, yine varsayılan seçeneklerle Finish butonuna tıklayalım.

03.png

Son aşamadan sonra, asıl kodlamayı yapacağımız MikroPascal kod editörü açılacaktır. Kod editöründe begin-end direktifleri arasına aşağıdaki kodları yazalım. 

 TRISA := 0;   {Port A çıkış olarak tanımla}
 while TRUE do
   begin
     PORTA.RA0 := 0;  {Port A değerini 0 yap / Kapalı}
     Delay_ms(1000);  {1000 ms. bekle}
     PORTA.RA0 := 1;  {Port A değerini 1 yap / Açık}
     Delay_ms(1000);  {1000 ms. bekle}
   end;

Birer saniye (1000 milisaniye) aralıklarla yanıp-sönen, PIC programımızın kodları da hazır olduktan sonra, MikroPascal IDE'sinde Build > Build menüsünü seçerek kodların derlenmesini ve programımıza ait HEX dosyasının oluşmasını sağlayalım.

05.png

Derleme işi tamamlandıktan sonra proje adı ile aynı isimde bir HEX dosyası üretilmiş olacaktır.

06.png

HEX dosyasını ister gerçek bir devre üzerinde isterseniz sanal olarak simüle edebilirsiniz.
Gerçek bir devre üzerinde test etmek için HEX dosyasını PIC'in  Flash hafızasına yazmak için harici bir cihaza ihtiyacınız olacaktır. 

Bu örneğimizde MicroChip marka US-BURN (BRENNER 8) kullandım.
  
04.png


US-BURN USB ile bilgisayara bağladığınızda muhtemelen tanınmayacaktır. 
Aşağıdaki gibi bir uyarı simgesi görüyorsanız cihazınız ile iletişim kuramazsınız demektir.

07.png

Cihazın driver'ını ilgili üretici firmanın web sitesinden indirebilirsiniz. 
Sürücü kurulumu tamamlandıktan sonra Aygıt Yöneticisinde çalışabilir durumda görünecektir.

08.png

Cihazı USB ile bilgisayara bağlayıp Driver'ı tanımladıktan sonra PIC Flash hafızasına HEX dosyasını yazabilmek için cihazınızın desteklediği bir ara yazılım kullanmak zorundasınız. 
Örneğimizde US-BURN'ün kendi yazılımı olan USBurn14a1'yı kullanacağız. 


Cihaz uygulamasını çalıştırdığımızda ilk sekmede yer alan Identify PIC in Programmer butonu ile PIC doğrulamsı yapalım.

09.png


PIC üzerine daha önceden yüklediğiniz bir program var ise Erase PIC ile silelim.

10.png


Aynı ekranda yer alan write HEX-File into PIC butonu ile daha önce MikroPascal ile derleyip oluşturduğumuz HEX dosyasını seçelim. 

11.png


Başka bir işlem yapmadan kısa bir süre içerisinde HEX'in PIC hafızasına yazıldığına dair bilgilendirme göreceksiniz. 

12.png

Yukarıda yer alan işlem adımlarını doğru bir şekilde tamamladıysanız, devrenizin çalışmaması için herhangi bir neden yoktur. 
Yeni programladığınız PIC'i alarak Led, direnç ve güç kaynağının yer aldığı devre üzerine yerleştirerek, Led'in yanıp sönme durumunu kontrol edin.


Yaptığımız PIC programının gerçek devre üzerinde çalışma görüntüsü:

13.jpg 


Yaptığımız PIC programının gerçek devre üzerinde çalışma videosu: 





Aynı işlemi elektronik devre olmadan nasıl yapabileceğinizi Delphi ile PIC Programlama - Görsel Eğitim videosundan öğrenebilirsiniz.

İyi çalışmalar...
Ellerine sağlık güzel kardeşim. Devamını da bekleriz.