MikroC Dersleri 1

| Aralık 16, 2019 Tarihinde güncellendi
MikroC Dersleri 1

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.

mikroc-project-new-mikro-c-build

mikroc-yeni-proje-olusturma

Nexti tıklayın

mikroc-islemci-secimi-device-name-pic16f628

Kullanılacak olan denetleyici seçilir.

mikroc-osilator-secimi-setup-clock-8mhz

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

mikroc-derleme-mikro-c

Resimde görülen sekmelerden programı derleyin.

Eğer kodları hatasız yazdıysanız program penceresinin alt tarafında

mikroc-derleme-mikro-c-2

Derleme başarılı uyarıları alacaksınız Fakat bir yerlerde yanlış varsa aşağıdaki gibi bir uyarı alacaksınız.

mikroc-kod-hata-code-error

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.

led-yak-proteus-sis-semasi-mikroc mikroc-breadboard-led-yak-2 mikroc-ilk-proje-led-yak-devresi-basit2 breadboard-plan-tenplate

İlk devremizde kullanılan malzemeler;

pic-devresi-malzemeler-10k-100-22pf-100nf-kiristal-led

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: , , , , ,



22 Yorum “MikroC Dersleri 1

  1. mesutmesut

    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ş

    CEVAPLA
  2. HasanHasan

    Güzel bir anlatım olmuş teşekkürler ama PIC16F628A 18 bacağı varken siz resimde 20 ayaklı bir entegre koymuşunuz…

    CEVAPLA
  3. gevvgevv

    @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

    CEVAPLA
  4. yunusyunus

    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

    CEVAPLA
  5. aytac durgenaytac durgen

    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

    CEVAPLA
  6. Fearless828Fearless828

    Ö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…

    CEVAPLA
  7. kaankaan

    Elinize sağlık çok istifade ediyorum yeni başlayan biri olarak devamının gelmesini ısrarla istiyorum iyi çalışmlar….

    CEVAPLA
  8. HakanHakan

    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

    CEVAPLA
  9. EloElo

    Bu Board Üzerine yapılan çizimler hangi programla yapılıyor merak ettim Paylaşabilirmisiniz program ismini

    CEVAPLA
  10. furkan rıza aytaçfurkan rıza aytaç

    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…

    CEVAPLA
  11. ahmetahmet

    hocam ben derslere yeni başladım ve

    “internal exception access violation in module 0,000005000”

    hatası alıyorum ne yapabilirim

    CEVAPLA
  12. SinanSinan

    .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.

    CEVAPLA
  13. DorukDoruk

    Hocam gerçekten çok güzel olmuş elinize sağlık. Burdan öğreneceğim bende. Çok sağ olun

    CEVAPLA
  14. sırrısırrı

    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 ?

    CEVAPLA
  15. ERSİNERSİN

    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.

    CEVAPLA
  16. oğuzhanoğuzhan

    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.??

    CEVAPLA
  17. furkanfurkan

    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.

    CEVAPLA
    1. ahmetahmet

      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

      CEVAPLA
  18. fatihfatih

    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 😀

    CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir