Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi ile PIC Programlama (P16F628A)
#1
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 Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol 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 @Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ve donanımsal (PIC ve diğer devre elemanları) ve mikro elektronik bilgileri ile yardımcı olan @Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol 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 Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol videosundan öğrenebilirsiniz.

İyi çalışmalar...
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#2
Ellerine sağlık güzel kardeşim. Devamını da bekleriz.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi'de Dökümantasyon Nasıl Yapılır uparlayan 21 398 17-07-2018, Saat: 16:54
Son Yorum: uparlayan
  Kitap İnceleme ( Algoritma ve Delphi 2005 ) #1 boreas 0 89 02-06-2018, Saat: 15:39
Son Yorum: boreas
  Delphi'de Indy SMTP ile e-mail gönderme. (GMail, Yandex, Yahoo vb.) csunguray 6 614 09-04-2018, Saat: 02:34
Son Yorum: dkadir
  Delphi Direktif Kullanımı narkotik 3 307 12-03-2018, Saat: 00:44
Son Yorum: mcuyan
  Delphi'de AES şifreleme (AES128, AES192, AES256) csunguray 1 320 20-02-2018, Saat: 13:50
Son Yorum: klavye



Konuyu Okuyanlar: 1 Ziyaretçi