Hi-Tech C Kullanımı ve İlk Pic Uygulamamız

Pic için kullanabileceğiniz 2 kaliteli derleyici bulunmakta ve bunlar;;  Hi-Tech C ve CCS C. Ben yazılarımda Hi-Tech C kullanacağım. Hi-Tech C, Microchip firmasının derleyicisidir. Bildiğiniz gibi Picleri üreten firmada Microchip’tir. Bu derleyiciyi tek başına çalıştıramazsınız. Bu derleyici yazılım editörlerine ihtiyaç duyar ve bunlar; MPLAB ve Hi-Tide‘dır. Ben MPLAB üzerinden yazılarımı yazacağım ve kullanımı gayet rahat ve normal bir assembly derleyicisidir. Ancak eklentilerle Hi-Tech C’yi MPLAB’a bağlayacağız. Kurulum ile ilgili videoya göz atabilirsiniz.

İllegal yüklemeler için buradaki videolara göz atabilirsiniz ve kesinlikle programları buradan paylaşmayacağım. Kurulumla ilgili takıldığınız yer olursa buradan yardımcı olurum.

Programları yükledikten ve gerekli işlemleri yaptıktan sonra MPLAB’ı açıyoruz ve sonra Project » Project Wizard diyoruz.


Daha sonra aşağıdaki pencere açılıyor ve Next diyoruz.

Daha sonra pic modelini seçeceğimiz ekran geliyor ve kullanacağımız modeliseçip Next‘e tıklıyoruz.

Daha sonraki gelen ekranda Active ToolSuite kısmından HI-TECH Universal ToolSuite‘i seçiyor ve başka birşeye dokunmadan Next‘e tıklıyoruz.

Daha sonra projemizin dosyalarının barınacağı klasörü seçiyor ve projemizin adını girip Save diyoruz ve sonra Next’e tıklıyoruz.

Daha sonra hiçbir şeye dokunmadan tekrar Next diyoruz.

ve daha sonra özeti kontrol edip Finish diyoruz.

Projemizi oluşturmuş olduk. Son görüntümüz aşağıdaki gibi olacaktır.

Şimdi kaynak dosyalarımızı projemize ekleyelim. Aşağıdaki resimdeki gibi ekliyoruz.

İlk uygulamamız için kullanacağımız gecikme kütüphaneleri delay.c ve delay.h aynı şekilde ekleyiniz. İlk uygulamamız karaşimşek olacak.

Eklemeleri yaptığımız proje panelinden Main.C‘ye çift tıklayarak kod yazmaya başlayalım. Simülasyon için ISIS 7 Professional kullanacağım.

Devre şeması aşağıdaki gibidir.

Kodlarımızda aşağıdaki gibidir.


#include // pic.h kütüphanesi programın kütüphanesinde saklı olduğu için "<" ve ">" arasına yazıyoruz.
#include "delay.h" // delay.h kütüphanesi projemizin bulunduğu dizinde olduğu için çift tireler arasına yazıyoruz.

void main(){
unsigned char deger=1; // "deger" adında değeri 1 olan değişken tanımladık.
unsigned char sure=40; // "sure" adında değeri 40 olan değişken tanımladık.
TRISC = 0; // C portunu çıkış yaptık.
PORTC = 0; // C portundaki tüm çıkışları sıfırladık.

while(1){ // Sonsuz döngü açtık.
PORTC = deger; // PortC yi 1 e eşitledik. Yani 0b00000001 yaptık. Bu demek oluyorki RC7=1 .
DelayMs(sure); // Gözle görmemiz için sure kadar milisaniye gecikme oluşturduk.
deger = deger<<1; // degerdeki 1 i yani 0b00000001 bir sola kaydırdık (shift) ve sonuç 0b00000010 oldu. Sonsuz döngü içinde olduğu için sürekli sol kayacaktır.
if(PORTC==128){ // En soldaki durum 0b10000000 olacaktır ve işlem devam etmeyecektir. O yüzden en solda olma durumunu kontrol edeceğiz.
deger=128;
for(;;){ // Tekrar sonsuz döngü açtık.
PORTC = deger;
DelayMs(sure);
deger = deger>>1; // Bu sefer 0b10000000 dan saga dogru 1i kaydırdık.
if(PORTC==1){ // 0b00000001 olduğunda da break komutu ile döngüden çıktık ki en baştaki döngü ile devam edelim.
deger=1;
break;
}
}
}
}

}

Kodlarımızı yazdıktan sonra ana araç çubuğundaki build butonuna tıklıyoruz.

Output penceresi altında Build successful! yazısını görürsek derlememiz başarılı birşekilde tamamlanmış demektir ve Hex dosyamız proje klasöründe oluşturulmuştur. Proteus ISIS simülasyon programında test etmek için Hex dosyasına ihtiyacımız vardır. ISIS i açıp devreyi çizdikten sonra pice çift tıklıyoruz. Karşımıza gelen pencerede (aşağıdaki resimdeki gibi) program file kısmından hex dosyamızın yerini seçip OK diyoruz.

Daha sonra klavyeden “F12” ye basarak simülasyonu çalıştırabilirsiniz.

Tüm proje dosyalarını, isis dosyalarını buradan indirebilirsiniz.

12544 Total Views 3 Views Today

2 ping

Yorumu formunu geç

    • ömer on 24 Mart 2011 at 16:16
    • Cevapla

    Hocam öncelikle teşekkür ederim, çok açık bir şekilde anlattığınız için. Ben PIC programlamaya yeni başladım, hatta teknik aksaklıklardan dolayı başlayamadım. Yukarıdaki örnekte, delay.c ve delay.h’ ı ekleyemiyorum. “C:\Program Files\HI-TECH Software\PICC\9.80\samples\delay” içerisinde, daha doğrusu hiçbiryerde delay.c ve delay.h’ ı bulamıyorum. Yardımcı olursanız çok sevinirim.

  1. Hi-tech te delay kutuphanesi default olarak eklenmemis durumda. O yuzden yukarida anlattigim gibi proje klasorunuze delay.h ve delay.c yi kopyalayacaksiniz. Daha sonra projeden header ve source kisimlarina ekleyeceksiniz. Delay.c ve delay.h icin yukarida link verdim.

    • ömer on 25 Mart 2011 at 19:51
    • Cevapla

    İlginize ve sabrınıza ne kadar teşekkür etsem az hocam, takipteyim…

    • Ercan on 24 Haziran 2012 at 19:21
    • Cevapla

    Turgay hocam hi-tech yeni başladım. Gerekli programları kurdum. Derleme olayında da bi sıkıntım yok fakat vermiş olduğunuz karaşimşek kodu sadece sola doğru kayıyor ve 8.led yandıktan sonra ledlerin hepsi sönük kalıyor. Sağa doğru tekrar karaşimşek efekti olmuyor. Uzunca uğraştım, kodları değiştirdim ama beceremedim. Acaba bi yerde yanlış mı yapıyorum diye vermiş olduğunuz dosyayı indirmeye çalıştım ama silinmiş. Tekrar yükleme yaparsanız kendi devremle karşılaştırma imkanım olur. Unutmadan Picbasic seviyem oldukça iyi. İkinci dil olarak Hi-tech ile CCS C arasında seçimin hi-tech oldu. İnşallah beni yarı yolda bırakmaz

    1. Tekrar yükledim. İndirebilirsiniz…

      CCS C’yi öğrenmek ve kullanmak çok daha kolay. Ancak Pic’i iyi biliyorum diyorsan Hi-Tech’te zorlanmazsın. Hi-Tech ile yazılıma daha fazla müdahale imkanın oluyor. Daha fazla ayrıntıyla uğraşıyorsun 🙂 Bence daha iyi olur Hi-Tech öğrenmen…

    • Ercan on 28 Haziran 2012 at 10:56
    • Cevapla

    Tugay hocam Hi-Tech’te karar verdim. Ama ilk önce C diline bakmaya başladım. Sizinde dediğiniz gibi pek zorlanacağımı zannetmiyorum. Anlamadığım yerler oluyor ama zamanla onlarda çözüme kavuşur. İlginiz için teşekkürler.

    • serkan on 12 Kasım 2014 at 14:09
    • Cevapla

    hocam ben c++ da yazdığım programı mikrodenetleyiciye yükleyebilirmiyim?

    1. Evet ancak c++ uyumlu compiler kullanmalısınız. Yeni nesil pic compiler seçeneklerinde c++ destekli olanlar var.

  1. […] Eğer kütüphane eklemeyi, projede kullanmayı bilmiyorsanız; Buraya bakınız. […]

  2. […] Eğer kütüphane eklemeyi, projede kullanmayı bilmiyorsanız; Buraya bakınız. […]

Bir cevap yazın

E-Posta adresiniz yayınlanmayacaktır.

This site uses Akismet to reduce spam. Learn how your comment data is processed.