Com port ile Pic hafızasına yazma ve test etme

Başlatan Macera, 27 Ekim 2005, 15:17:13

Macera

RS232 ile pic'in program hafızasına yazma ve programı deneme:

Programımızı derledikten sonra çıkan hex dosyamızı pic'imize iletmemiz gerekmektedir.Bu işlemi genelde programlayıcı kartlarımızla yapmaktayız.
Pic'imizi orijinal kartdan söker programlayıcı kartımıza takar programlar ve sonra tekrar orijinal kartımıza entegreyi takar programımızı tekrar deneriz.Derlediğimiz program bazen istediğimizi yapmaz yada yapsada ek özellikler isteriz bundan dolayı programımızı devamlı değiştiririz.
Bu iyileştirme isteğimizden dolayı devamlı Pic'imizi çıkartır takarız ve sonunda zavallı Pic'in bacakları eğilmeye ve aynı zamanda bizede epey zahmet vermeye başlar.
Burda bahsedeceğim Boatloader denilen program ise picin  program hafızasına bilgisayarımızdan yazma ve test etme imkanını bize verir.
Pic'imize bir kereye mahsus olmak üzere bir program yükler ve bu program bizim PC ile Pic bağlantısının Pic'e düşen kısmını sağlar . Bu programı yükledikten sonra (bunun için en az bir kere programlayıcı kartına ihtiyacımız olacaktır) pic'i orijinal devreden çıkartmadan rs232 bağlantısıyla pc den yolladığımız hex dosyalarını pic'in program hafızasına direkt yükleriz.Benim bu konuda sizlere tavsiye edebileceğim bloader denilen pic programı ve screamer denilen PC bağlantı programıdır.

Screamer'in son versiyonu :
http://www.sparkfun.com/tutorial/Bloader/code/Screamer-v17.zip

Bloader'ı screamerin eski versiyonundan indireceksiniz:
http://www.sparkfun.com/tutorial/Bloader/code/BloaderScreamer-v14.zip

Screamerin 1.4 versiyonundaki zip'ini açtığınız takdirde içinde bir kaç çeşit pic için klasörler göreceksiniz.Boatloader Pic'lerin 16 serisinde sadece 16F873A , 16F876A , 16F877A vede 16F88 ile çalışır.Size tavsiyem 16F877A bulup denemelerinizi yapmanızdır.
Picinizin bağlantı şeması aşağıdaki gibi olacaktır.



Breadboard aşağıdaki gibi olacaktır.



Kristalinizi 22pf kapasitörlerinizi ve reset düğmenizide eklemeyi unutmayın.Devrenize 5 volt elektrik verdiğiniz takdirde pic'in herhangi bir çıkışına koyacağınız bir seri led ve 220 ohm bağlantısında ledinizin yanıp söndüğünü göreceksiniz.Yükleyeceğiniz kendi programınızı hazırlayın.

Yazdığınız programın başına (#pragma origin 4) yazmanız gerekmektedir.
Bu komut sizin yükleyip deneceğiniz programın 4 byte kadar ötelendiğini derleyiciye anlatır.İlk üç hafıza birimi Bloader programına ayrılmıştır.

Aşağıdaki örnek programdaki ikinci satıra dikkat edin.



Programımızı derledikten sonra içinde Bloader programı bulunan rs 232 bağlantılı pic devremizi hazırlar PC ile kablo bağlantımızı kurar picli devremizi 5 Volt ile beslenmesini sağlarız.
Bilgisayarımıza döner ve Screamer programımızı çalıştırırız.
Screamer programımızı ilk çalıştırdığımızda bir takım ayarlar yapmamız gerekmektedir.
Setup kısmından Comportumuzu iletişim hızımızı Pic cinsini frekansını vede yükleyeceğimiz hex dosyasını seçmemiz gerekmektedir.Yükledikten sonra haberleşme terminalini açacaksak orayıda tıklamamız gerekmektedir.Haberleşme terminalini kullanacaksak haberleşme parametrelerinide yazmamız ve pic programı bu haberleşmeyi sağlayacak şekilde olması gerekir.Bu örnekde 9600 , 8 , 1 değerleri kullanılmaktadır.Bütün bu işlemleri yaptıkdan sonra Screamer ara yüzü aşağıdaki gibi olacaktır.



Screamer ara yüzündeki yollayacağınız programın yanındaki Download düğmesini tıkladıktan sonra pic devrenizdeki reset düğmesine bastığınız takdirde hex dosyanız pic'in program hafızasına yüklenir.Hatasız yükleme olduktan sonra ekranınız aşağıdaki gibi olacaktır.



Haberleşme terminalinin açılmasını istediğimiz takdirde başarılı program yüklemesinden sonra terminalimiz programı test etmek amacıyla açılır ve pic ile haberleşmeye başlar



Terminal programında heksadesimal sayıların nasıl terminal penceresine yazıldığını görüyorsunuz.

Böylelikle yukardaki örnekde gördüğünüz gibi kolayca programınızı deniyebiliyorsunuz.
Pic'deki Bloader programını programlama kartıyla silmediğiniz takdirde devamlı pic hafızasında kaldığı için ikinci bir programınızı rahatça yapabilir yükleyebilir ve deniyebilirsiniz.
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

Macera

Elimdeki 16F877 ye bloader programını yüklediğim zaman sorunsuz bir şekilde PC ile haberleştiğini gördüm.
Yani Bloader için sadece 16F877A gerekmemektedir.
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts