Adım Adım PIC Öğreniyorum – 4
Bu PIC nasil bir şeydir nasıl öğrenilir diyenler için, PIC doktoru yazıyor kaçırmayın! Pic nasıl programlanır bir bakalım.
Pic programlamak için gereken temel şeyler şunlardır.
1-) Pic programlamak için pic Assembly dilini bilmek ve program yazarak bunu hex dosyası haline getirmek
2-) Pic programlayacak donanıma sahip olmak, bunlar bilgisayar ve gerekli yazılımlardır.
Assembler veya Compiler:
MS-DOS/Edit
WİNDOWS/notepad
MPLAB/Pfe
Gibi bir text editöründe Pic Assembly dili ile yazılmış programı derlemeye yani HEX file haline getirmeye yarayan programdır.Bu iş için biz Microchip firmasının MPLAB içinde gelen MPASM programını kullanacağız.
Pic Assembly: Pic'in yapmasını istediğimiz işlemleri, pic'in anlaması için, kısa komutlardan oluşturulmuş bir dildir. Bu dil ile yazılan program ASM dosyası olarak kaydedilir daha sonra MPASM ile HEX dosyası haline getirilip,pic içine yazılır.
Bir pic'i programlamak için yapmamız gerekenler sırası ile şöyledir:
1-) Bilgisayarımıza gerekli Software'i yüklemek
2-) Pic Assembly dilinin genel kurallarını öğrenmek
3-) 16F84'ün 35 komut setini öğrenmek
4-) Program yazıp ASM olarak kaydetmek
5-) Programı hatasız yazıp Compile edebilmek
6-) Compile edilip HEX haline gelmiş dosyayı EASYPİC ile pic'e aktarmak.
SOFTWARE: Microchip firmasının sitesinden ücretsiz olarak indirilen program MPLAB v5.20, file manager içinde MP520ful 10.659 Kb Application dosyası şeklinde görülür. Bu dosyanın yeni versiyonunun adı ve boyu değişik olabilir. Burada zip file olarak verilen dosya budur ve internetten indirebilirsiniz.
Program kendisini C /Program Files/MPLAB /altında install eder. Burada oluşan Mpasmwin ve Mplab application dosyalarını kısayol olarak masa üstüne taşıyınız.
Masaüstünden MPLAB'ı tıklayarak File /new altından yeni bir sayfa açınız. Bu sayfaya artık pic assembly komutlarını kullanarak programınızı yazabilirsiniz. Bu programı sonu ASM olacak şekilde kaydetmeniz gerektiğini tekrar söyleyelim. Programdan
çıkmadan Project/build ile dosyayı HEX haline getirebilirsiniz ve ASM dosyası ile aynı yerde, aynı isimde HEX dosyanız açılmış olur. Bu işlem sırasında yazdığınız program doğru ise, başarılı olduğuna ilişkin, hatalı ise hatalı olduğuna dair bir mesaj verilir. MPLAB içinde yazıp ASM olarak kaydettiğiniz dosyayı ,masa üstünden MPASM'ı açarak ve dosyanızı "source file name" penceresinden bularak compile edebilirsiniz. Bu sırada başarılı ise yeşil, başarısız ise kırmızı uyarı işareti verilir.
Başarısız ise , oluşturulmuş bulunan err dosyasını editörde açarak,hatanızın nerede olduğunu görebilirsiniz.Bu iş için şekilde görülen dosyalar içinde error file kısmının işaretli olması gerekir.
Başarı ile compile edilmiş dosyayı, pic'e aktarmak için kullanılan program pigprog dur, 16f84 için başka programlar da mevcuttur. Programlayıcılar da paralel veya seri porttan çalışabilirler. Biz burada pigprog ve seri porttan çalışan Easypic programlayıcısını kullanacağız.
Pigprog küçük bir dosyadır bu dosyayı uygun bir klasör altına koyabilirsiniz, bu program 331 Kb lık bir application dosyasıdır. Bu dosyayı da masa üstüne taşıyınız. Elinizde bir HEX file varsa pigprog penceresinden o file'ı bulunuz ve önce Com port ayarını (bu ayar bir kez yapılırsa hep aynı kalır) yapınız. Daha sonra gerekli ayarları yaparak pic'i programlayınız.
Com port genelde bilgisayarınızın konfigürasyonuna bağlı olarak Com1 veya Com 2 dir. Konu ile ilgili bilgi daha detaylı olarak ileride tekrar verilecektir. Bizim şimdi esas konumuz program yapmayı öğrenmek olduğu için bu konuyu burada noktalıyoruz.
Pigprog program penceresinden hex file bulunur. xt işaretlenir ve program butonuna basılır. Programlama hardware'i ne ileride tekrar döneceğiz.
Pic Assemlby genel kuralları:
Genel kurallara geçmeden önce son olarak şu konuya da dikkatinizi çekelim. Bir program yazıldıktan sonra compiler'in bunu tanıması için ASM olarak kaydedilen bu dosya, compiler'in yani mpasmwin'in bulunduğu direktörde olmalıdır. Eğer program yazımında inc dosyası kullanılmış ise o da burada olmalıdır. Inc dosyası program içinde yazılı font ile klasör altında bulunmalıdır, aksi halde compiler tarafından tanınmaz.
PROGRAM FİLES / MPLAB/
Pigprog
mplab
mpasmwin
deneme.asm
deneme.hex
deneme. Err
deneme.lst
16f84.inc
gibi bir düzen ortaya çıkar.
Noktalı Virgül:
; bir program yazılırken derlenmeyen satırların başına konur , bizi veya programı inceleyeni bilgilendirecek bir bilgiyi ; işaretinden sonra yazarız ,yine bu işaretten sonra çeşitli şekiller ve süslemeler yapabiliriz.
;===========================================
; Bir deneme programıdır TA2FR
;===========================================
; —————–ooooooooooooooooooo—————————
program içine bir satır yazıldıktan sonra satır yanına açıklayıcı bilgi (;) işaretinden sonra yazılır.
SAYAC EQU h'0D' ; h'0D ' adresinde sayac diye bir register tanımla
BSF STATUS,5 ; bank 1 ' e geç
Buradada compiler noktalı virgül den sonraki açıklamaları görmez, bu sebeple buraya istediğimiz açıklamaları yazabiliriz.