MİKROC’ye GİRİŞ
Merhaba elektronik severler. Daha önceki yazılarımda kullandığım MikroE firmasının derleyicisi MikroC ile PIC programlamayı bilgilerimin el verdiği ölçüde anlataya çalışacağım.
Yazılarımı bir aksilik olmadığı taktirde onargün ara ile yayınlamayı planlıyorum ve okullarda olduğu gibi kendi hazırladığım plan dahilinde işleyeceğim.Bu plan kolaydan zora doğru ilerleyen yapıda olacak ve konular çeşitli örneklerle desteklenip ödevler şeklinde ilerleyecektir.
Şimdi gelelim dersimize!
PIC (programmable intelligent computer ) Programlanabilen akıllı bilgisayarlar.Son yıllarda popüler hale gelen PIC diğer denetleyicilerden ATMEL, 8051, MSP430 gibi işlemci ailelerine kullanımda açık ara fark atmıştır.
Pıc programlama için kullanılabilecek dilin başında assembly gelmektedir fakat assembly ile program yazmak oldukça zor ve zaman alıcıdır. Bu yüzden PIC için oluşturulmuş yüksek seviyeli bir C dili kullanacağız.
Kullanacağımız mikroC derleyicisi ile temel işlevlerden Analog işlemlere,PWM den grafik LCD ekrana , RF kontrolden pic ile internet kontrole kadar bir çok uygulama yapmak mümkün olacaktır.Fakat biz derslerimizde bukadar ileriye gidecekmiyiz Hayır tabikide. Ama sizleri orta seviye bir pıc programlama bilgisine ulaştırmayı umarım.
İlk dersimizde Çalışmamız için gerekli olan şeyleri Listeleyelim.
1.MikroC Compiler: Program C dosyası elde etmek,C kodlarını derlemek ve .hex kodudosyasını elde etmek için kullanacağız.
2.Proteus ISIS-ARES: yazdığımız programların simulasyonunu yapıp yazdığımızın porgramın denenmesi için ve tasarlanan projelerin hayata geçirilmesi için baskı devre çizmek için kullanacağız.
Not: Dersleri takip etmek için MikroC programını kurup Derslerde yapacağınız projeleri klasör klasör kaydetmenizi öneririm. Programı edinmek için; mikroe.com/eng/downloads/get/29/mikroc_pro_pic_2011_v460_setup.zip
1-MikroC derleyicisinin Kullanımı
İlk olarak mikroC derleyicisinin kullanımına proje oluşturmayı ve derlemeyi gözden geçireceğiz ve bunun için basit bir uygulama yapacağız.
MikroC yi açalım ve Project sekmesinden new Project i seçelim ve sonrasında açılan proje sihirbazını takip edelim gerekli ayarları yapalım.
Nexti tıklayın
Kullanılacak olan denetleyici seçilir.
Osilatör frekansı seçilir
Sonrasında gelecek akran projenizi nereye ve ne adla kaydedeceğinizdir (ilk uygulama ledBlink led yak söndür). (step3/6) (step4/6) eğer hazırlanmış bir C dosyası varsa Dosyayı projeye dahil etme akranı Sonrasında gelecek iki adımı NEXT diyerek proje dosyalarını oluşturalım.
Proje dosyaları oluşturulunca derleyici açılacak ve main fonksiyonu ile baslayan bir c kitapı görülecektir. Bu aşamada Proje PIC varsayılanlarıyla oluşturulmuştur ve eğer PIC in bazı özellikleri açılıp kapatılacaksa Project sekmesinden edit Project tıklanarak açılan ekrandan bazı özel ayarlar yapılabilir.
Programda ilk olarak yapmamız gereken şeyler PIC in portlarını ayarlamak.Eğer programda değişkenler kullanılacaksa değişkenler tanımlanır ve programa gidilir.
Not: (ilk olarak yazılacak program mikroCyi tanıtmak için yazılacaktır ve sorgulama yapılmaksızın ders dinlenecektirve yazılım kodları kopyalanmaksızın tek tek yazılacaktır aksini yapan Dinlemeyeni atarım dersten 🙂 …
void main() { PORTB=0; /*portb yi temizle*/ TRISB=0; /*TRISB ye 0 değerini yükler ve PORTB yi çıkış yapar*/ for(;;){/*sonsuz döngü yapısı for ile bu şekil yapılır*/ PORTB.B0=1; / *PORTB nin 0. BİTini bir yapar*/ delay_ms(1000); /*1000mili saniye(1SN)bekler*/ PORTB.B0=0; DELAY_MS(1000); } }
MikroC de program parçacıklarına Açıklama yazmak için /*Buraya Açıklama yazınız*/ şeklinde bir yapı kullanılır.
Programı yazdıktan sonra derlemeye sıra geldi
Resimde görülen sekmelerden programı derleyin.
Eğer kodları hatasız yazdıysanız program penceresinin alt tarafında
Derleme başarılı uyarıları alacaksınız Fakat bir yerlerde yanlış varsa aşağıdaki gibi bir uyarı alacaksınız.
Eğer bunun gibi bir ekran görüyorsanız programı gözden geçirin yazım hatalarını giderin ve tekrar BUILD edin. Başarılı bir şekilde derleme bittikten sonra projenizi kayıt ettiğiniz dosyaya proje adında hex uzantılı bir dosya oluşturulmuş olacaktır. Artık ilgili devreyi Proteus ta kurup çeşitli gözlemlerde bulunabilirsiniz.
Proteus programının kullnımına ilişkin kapsamlı konu anlatım modülüne BURDAN ulaşabilirsiniz.
İlk çalışmanın isis ile denenmesinin yanı sıra breadboard üzerinde kurulup çalıştırılmasını daha uygun bulunuyorum malzemeler ile ne kadar çok pratik yaparsanız daha hızlı ilerlersiniz
İlk çalışmanın proteus isis simülasyon, breadboard yerleşim ve basit devre şeması ek olarak breadboard yapısını anlamanız için bağlantı noktalarının belirtildiği (siyah çizgili bölümler bütündür kısa devredir) breadboard resimleri aşağıda bulunuyor. Ayrıca PIC16F628 Hakkında Türkçe bilgiler için BURAYA bakınız.
İlk devremizde kullanılan malzemeler;
Not: Uygulama devresinde pic16f628a mikrodenetleyicisinin 14 numaralı besleme bacağına en yakın bölgeye 100nf kondansatör bağlamayı unutmayın bu kondansatör parazitleri, gürültüyü bastırır bir çok devre şemasında bulunmaz fakat uygulamada kullanılır sadece PIC için değil diğer mikrodenetleyiciler, entegreler içinde durum aynıdır. Kullanacağınız kıristalin değeri 4 mhz olabilir.
DEĞERLENDİRME
Yukarıdaki konu anlatımını dikkatlice okuyun.
Kısa program parçasını kopyalamadan proje dosyasına yazınız.
Derleme işlemini yapınız.
Proteusa çalışınız.
Bütün bunları sorunsuz yaptıysanız ve çalıştığınız desi anladıysanız Artık ikinci derse hazırsınız.
Diğer derste görüşmek üzere .
Yayım tarihi: 2011/01/02 Etiketler: breadboard, kılavuz ders, mikroc derleyicisi, mikroc dersleri, mikroc kullanımı, mikroc programlama
Aytaç abi ellerine sağlık pik programlamaya başlıyorum ilk mikroc olacak tam olmasada anlıyorum 🙂 ilk bölüm biraz kısa ama bildiğiniz vardır diye düşündüm şemalar benim gibi bilmeyenler için çok iyi olmuş
Güzel bir anlatım olmuş teşekkürler ama PIC16F628A 18 bacağı varken siz resimde 20 ayaklı bir entegre koymuşunuz…
@Hasan hocam ilginiz için teşekkürler resimler düzenlendi tamamen benim hatam kusura bakmayın umarım şimdi bir sorun yoktur 🙂
iyi çalışmalar
faydalı bir yazı tebrikler emeği geçen arkadaşla sonsuz teşekkürler ben el attığımda böyle bir kaynak ile karşılaşamamıştım 🙂 ileri seviye bölümleri sabırsızlık ile bekliyorum
Saygılarımla
Bu yazının görsel ögelerle desteklenmesinde site yazarımız GEW in büyük katkıları olmuştur. Kendisine çok teşekkür ediyorum.
İlk yazı giriş mahiyetinde olup ilerleyen derslerde çeşitli örneklerle açıklamaya çalışacağız.
Umarız faydalı olur.
İlgilenenlere kolay gelsin.
ilgili konulara forumda tarışmaya açabilirsiniz.
Derslerde görüşmek üzere
Öncelikle emeğinize sağlık diyerek başlıyayım arkadaşlar. Bu arada pic programlamayla uğraşmak istiyorum, aynı zamanda mühendisimde fakat geçmişte pek ilgilenme fırsatım olmadı ve bu aralar özellikle bol bol vaktim var ve sürekli takipteyim.
Bu boş vaktide en iyi şekilde değerlendirmek istiyorum. Pic programlama için assembly öğretildi zamanında bizlere oda yüzeysel olarak tabi. Eğer tavsiye edebileceğiniz daha açıklayıcı, daha detaylı kaynaklar varsa c dili için yol gösterirseniz sevinirim. Ayrıca bu kullandığımız ccs tam olarak c diliyle aynımı programlamada entegreye ait yada lcd kullanıyosak örneğin ona ait ayarları tam olarak nasıl yapıyoruz bi kısaca değinip yol gösterirseniz sevinirim arkadaşlar. Çalışmalarınızın devamını merakla bekliyorum sadık takipçinizden şimdiden teşekkürler…
Elinize sağlık çok istifade ediyorum yeni başlayan biri olarak devamının gelmesini ısrarla istiyorum iyi çalışmlar….
umarım ilerleyen derslerde biraz daha ileri düzey anlatımlar yaparsınız derslerin devamını diliyorum. emeğiniz için çok sağ olun mikro c yi anlatan başka kaynak yok 🙂
sizden ricam bu adc ve kesme işlemlerine gelince detaylı anlatırsanız çok sevineceğim. yüreğinize sağlık allah kolaylık versin
Bu Board Üzerine yapılan çizimler hangi programla yapılıyor merak ettim Paylaşabilirmisiniz program ismini
Hocam emeğinize sağlık…
hocam 1. dersin örneğini eksiksiz yazdım undeclared identifier ‘PORTB’ in expression hatası veriyor.Daha sonra belki yanlışımı göremiyorum diye örneği kopyala yapıştır yaptım gene de olmadı.Hatan neden kaynaklanmaktadır?Şimdiden teşekkür ederim…
hocam ben derslere yeni başladım ve
“internal exception access violation in module 0,000005000”
hatası alıyorum ne yapabilirim
.hex i oluşturdum ve led in proteusda yanıp sönmesi beni mutlu etti 🙂 ms ile oynayarak hızı değişiyor falan. Teşekkürler.
Hocam gerçekten çok güzel olmuş elinize sağlık. Burdan öğreneceğim bende. Çok sağ olun
@Doruk : kolay gelsin umarım faydalı olur
hocam,paylaşmış olduğunuz bilgiler için teşekkur ederim. emeginiz saglık.
benim sorum ,portb yi sıfırladıktan sonra trisb yi neden sıfırlıyoruz ?
Pıc programlamayı yeni öğreniyorum. Verdiğiniz bilgiler için teşekkürederim o küçük ledin yanmasını görmek amatör kullanıcı için güzel bir duygu. Derslere devam.
Emeğinize sağlık hocam.
hocam öncelikle teşekkürler ders için. programı bi 5-6 kere baştan yazdım her seferinde hatalara da baktım ama bir türlü çözemedim. 5. ve 7. PORTB.B0’lı satırda operator isn’t applicated to this operands hatası alıyorum çözümü nedir.??
arkadaşlar . hex dosyasında bır sıkıntı yaşıyorum . her yazdıgım programı nereye kaydedersem oraya build yaptk dan sonra hex dosyasını yuklemesı gerekıyor fakat save çalışmıyor sadece save as var ve onu da yapıyorum olmuyor.
1-programi yazdiktan sonra BUILD butonu ile derle
2-kaydetmene gerek yok C:UsersPublicDocumentsMikroelektronikamikroC PRO for PICExamples
dosyasinin icerisine derledikten sonra otomatik olarak .hex olusturuyor
UltraEdit Document (.hex) (.hex)uzantili dosya
hocam cok teşekkür ederim .. söylediklerinizi adım adım yaptım 10 numara oldu fakat başta ısıs semasına baktım semada 100nf capasitor olmadığı için devre bir türlü çalışmadı daha sonra,elemanları koyarak göstermiş olduğunuz semayı tekrar ısıs’te denedim tek seferde oldu emeğinize sağlık 5 yıl sonra denedik biraz geç oldu ama çok faydalı tekrar teşekkürler 😀