Pic e nerden başlamalıyım?

Pic dünyası çok yönlü bir olay. Yalnızca pic’i bilmeniz yetmiyor. Çünki yalnız başına pic bir şey ifade etmiyor. Onunyanında diğer lojik entegreleri, transistörlü devreleri, röleleri, ledleri besleme devrelerini kısaca elektroniği içine alan bütün sistemleri az çok bilmeniz gerekiyor.
Olayı bukadar kapsamlı tutupda şevkinizi de kırmak istemem. İşin bir yerinden tutmak gerekiyor elbette. Ancak şayet digital elektronik bilginiz yok ise yada çok az ise önce onu geliştirmenizde yarar var. Neler öğrenmeniz gerekir onları sıralayayım.

1. Binary sayılar ve matematiğini bu sayıların desimal sisteme çevriliş mantığını

2. Hexadesimal sayılar ve bunların desimal sisteme çeviriliş mantığını.

3. Lojik kapıları ki bunlar çok önemli.Her gün karşınıza çıkacaklardır.

Tabiiki yalnızca kapıları değil lojik mantık mekanizmasınıda öğrenmeniz gerekir. Özellikle iki sayının birbirleri ile AND – OR – NOR – NOT – XOR yapılmasını ve sonucun neler olduğunu öğrenmeniz gerekir.

Pic ailesi genelde 5V ile çalışır. Sıkça karşılaşılan sorunlardan biriside 5 volt ile 12 volt yada diğer voltajlardaki elemanların nasıl sürüleceği (çalıştırılacağı) konusudur. Bu nedenle transistörlü sürme devreleri konusunda biraz araştırma yapmanızı öneririm. Pic ailesi çıkışta 20 ma kadar bir akım verebilir be bu akım pek çok elemanı direk çalıştırmaya yetmez. Bu nedenle bu çıkışın kuvvetlendirilmesi gerekir. Transistörlü kuvvetlendirme devreleri burada çok işe yarar.

Diğer bir öğrenmeniz gereken konuda pic ile birlikte çalışacak yardımcı elemanlarıdır. Nedir bunlar , optocoupler – röle – triac – ısı sensörleri gibi elemanlar. Birazda bu konuyu incelerseniz iyi olacaktır. Bu elemanların pic ile birlikte kullanılmalarını bulacağınız örneklerden de kolaylıkla öğrenebilirsiniz. Bu nedenle bu konuyu biraz geriye atsanız da olabilir.

Bu kadar çalışmayı yaptıktan sonra gelelim pic meselesine. Pic denile alet belirli sayıda komut seti (makine dili komutları) ile çalışan bir programlanabilir entegredir. Temel çalışma dili Makine dili dediğimiz rakamlardan oluşan komut seti ile oluşturulan bir dildir. Ancak rakam karşılıklarının anlaşılması çok zor olduğu için her bir rakama karşılık gelen komutlara harf kodları verilerek Assembly dediğimiz dil oluşturulmuştur.

Bu dil kısıtlı olanakları ile yinede anlaşılması çok kolay olmayan yada iyi programlar yazabilemek için epeyce zaman harcamanız gereken bir dildir.

Tabiiki pic üzerinde çalışan dillerin en hızlısıdır. Aynı amaca yönelik yazılmış programlardan ASM olanı en hızlı çalışandır her zaman. Ancak programlama işine çok kısa zamanda girmenizi sağlayacak ve nisbeten daha kolay öğrenebileceğiniz diğer dillerde mevcut. Bunlardan birisi BASIC dilidir. Ayrıca C dili dediğiğimiz dilde mevcut.

Herkesin merakla öğrenmek istediği konu ise hangisinden başlayayım.

Bu tamamen sizin bilgi ve becerinize bağlı bir olay. Bu konuya karar verirken bazı programların basicde yada diğer diller de yazılmasının mümkün olmadığını hemen belirteyim. Kısaca Basic yada C dilini bilsenizde biraz olsun ASM de bilmenizde yarar var. Çünki diğer dillerin içinde program yazarken programların arasına ASM de yazılmış bölümler de koyabilmeniz mümkün. Özellikle zamanlamaya bağlı işlemlerde diğer diller sınıfta kalırlar. Bu konudaki işlemler yalnızca ASM ile çözümlenir.

Bu dillerde mutlaka zaman konusunda komutlar vardır ama hassas zaman işlemleri yalnızca ASM de yapılabilir. Bu bir eksiklikmidir. Tabiiki hayır. Zaman içinde bilginiz geliştikçe sizde ASM hakkında bilgi edinir ve ufak ufak kullanmaya başlayabilirsiniz. Yada kendinize güveniyorsanız direk ASM den başlayabilirsiniz. Benim edindiğim tecrübelerden gördüğüm kadarı ile ASM en başta anlaşılması ve uygulaması gerçekten zor olan bir dil. Kısa yoldan bu işe başlamak isterseniz Basic yada C delini tercih ediniz.

Programcılıkta öğrenmenin en iyi yollarından birisi bol bol örnek incelemektir. Başka birisi bir işi nasıl yapmış görüp anlarsanız bu bilgi kafanızda daha iyi kalır. Aynı işi tarif ederlerse fazla akılda kalıcı olmaz. Bu nedenle bol bol örnek incelemeye bakın.

Dilleri bu şekilde açıkladıktan sonra gelelim size neler lazım. Bu aşamada tercih ettiğiniz dillere bağlı olarak size neler lazım olacak onları açıklamaya çalışayım.

Diyelimki ASM (Assembly) öğrenmeye karar verdiniz,

– Önce piyasadan bir veya iki kitap alın. Komut setini ve fonksiyonlarını iyice öğrenmeye çalışın.

– Programları yazabilmeniz için bir editör programına ihtiyacınız olacak. Bu işi MPASM denilen bir programla yapabileceğiniz gibi her hangi bir editörlede text formatında yazabilirsiniz programları.

– Sonra bu yazılan ASM formatındaki programın pic in anlayacağı HEX file formatına dönüştürülmesi (derlenmesi) gerekir. Aynı işi MPASM programı yapmaktadır. Programı internette arama yaptırarak bulabilirsiniz.

– Elinizde şimdi HEX formatında bir dosya var. Bu dosyayı artık pic’e aktarmaya sıra geldi. Bunun çin piyasadan 1 adet USB den çalışan bir programlayıcı satın alın. Yada forumlarda şeması verilen K128 veya Brenner programlayıcılardan birini kendiniz yapın.

Her iki programlayıcı için yazılmış arayüz programları vardır. Bu arayüz programları HEX dosyanızı alır ve programlayıcı üzerine taktığınız Pic’e yazar. Sonuç olarak birde ara yüz programını bulmanız gerekiyor. Bunların hepside internette mevcut. Yada programlayıcıyı satın aldığınız zaman size arayüz programınıda vereceklerdir zaten.

Şimdi BASIC de çalışmak isterseniz ne yapmanız gerekecek onu izah edeyim. Bu açıklamalarım Pic Basic Pro (PBP) içindir.

– Bu konuda da yazılmış kitaplar mevcut. Onlardan birini alacaksın. Ayrıca yazılmış dersler var bu konuda internetten arayıp bulacaksın onları. Benim derler var 11 derten oluşuyor bu forumda ararsan bulabilirsin.

– İnternet den Micro Code Studio isimli editör programını yükleyeceksin. Mechanique isimli sitede free olarak vardır.

– Yine internette PBP2.47 yada PBP2.50 sürümleri olan Basic derleyicisini bir yerlerden bulacaksın . Bu derleyiciyi C ana klasörüne kuracaksın.

– MCS yi çalıştırıp view menüsünde bir seçenekde PBP derleyicisinin adresini MCS ye göstereceksin. Sonra artık programlarını yazabilirsin. Yukarıda derle butonuna basınca da programın derlenecek ve aynı yerde HEX dosyası oluşturulacaktır. Hata bulunursa ekran altında sana gerekli açıklamalar verilecektir.

Piyasada birde PrOton yada Pic Basic Plus isimli bir basic derleyicisi daha var. Onun kendi editörü ve derleyicisi bulunmaktadır. Bu programı internetten bulursan yükleyip aynı şekilde önce programı yazıp sonra derleme butonuna tıklayarak programlarını Hex formatına çevirebilirsin.

Elde edilen Hex dosyasının Pic’e yazılması işlemi yine aynı. Arayüz programınızı çalıştırıp, hex dosyasını yükleyecek ve sonra yaz butonuna basıp programı pic e yazdıracaksınız.

Son olarak da C dili ile ilgili programlardan biraz bahsedeyim. Bir kaç tane C dili derleyicisi var. Bunlar derleyiciyi yazan firmalara göre değişik isimler almaktadırlar. Hepsinin kendi editörleri ve derleyicileri mevcuttur.

Programcılıkta bazı işlemlerin yaptırılması özel fonksiyonlara bağlanmıştır. Örneğin LCD ekranına bir şey yazdırılması yada bir sıcaklık sensörünün okunması gibi işlemler için uzun program parçacıkları yazılmış ve bunlar derleyici kütüphanesine atılarak başka programlarda da kullanılması sağlanmıştır. C dilini tercih ettiğinizde bu çeşit kütüphanesi bol olan dili tercih etmenizde yarar var. Yoksa epeyce zorluk çekersiniz.

Son olarak programlama işine girdiğinizi var sayarak zaman zaman buradan yada başka forumlardan yardım isteyebileceğinizi belirtmek isterim. Ancak hiç bir zaman bir şeyler karalamadan şunu nasıl yaparım diye sormayın. Kısaca hazır’a konmaya çalışmayın. Kendiniz bir şeyler yapın tıkandığınız yerlerde yardım istyin. Mutlaka beklediğiniz yardımı alacaksınız.
Epeyce açıklama verdim sanırım. Umarım size bir yol gösterebilmişimdir.

Benzer Yazılar

YAZAR : Admin

Elektronik Mühendisi / E.Üni. Kalibrasyon Lab. Sorumlusu / Biyomedikal Kalibrasyon Laboratuvarı Sorumlu Müdürü (Sağ.Bak.) / X-Işınlı Görüntüleme Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) / Ultrason-Doppler Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) - Hatalı veya kaldırılmasını istediğiniz sayfaları diyot.net@gmail.com bildirin

BU YAZIYI DA İNCELEDİNİZ Mİ ?

PICKAT – PIC Deneme Geliştirme Kartı

Pickat ekibi tarafından geliştirilen Pickat 1, açık kaynaklı, PIC 18f2550 MCU barındıran, bütün PIC derleyicileri …

Bir cevap yazın