Arkadaşlar, C programlama diliyle PIC mikrodenetleyici programlama derslerimizin sonuna gelmiş bulunmaktayız. Sizlere tam 20 adet ders yazdım. Artık orta derece şekliyle C dili ile PIC programlamayı öğrenmiş olmalısınız.

MikroC diliyle başladığımız Macerayı PIC CCS C ile sonlandırdık. HITECH veya C51 gibi compilerlarla hiç girmedik. Ama MikroC ve CCS C compiler ile programlamayı öğrendiysek diğer derleyicileri de öğrenebiliriz.

Bir okyucumuz, MikroC derleyici ile yazılan bir programı CCS C ye çevirmek için ne yapılması gerektiğini sordu. MikroC ve CCS C derleyicileri temelde aynı dili kullanırlar. ikisi de C diliyle programlandığından birbirlerine çevirebiliriz. Dikkat etmemiz gereken şey CCS de PIC ın SFR leri (özel kaydedicileri) direk tanıyamadığıdır. Ne demek istedik? bir örnekle açıklayalım. İlk Programımızı MikroC ile yazalım:

void main()
{
TRISC=0x00;
TRISB=0xff;

PORTC=0;
PORTB=0;
while(1)
{
if(PORTB.F5==1)
PORTC=0xFF;
delay_ms(1000);
PORTC=0x00;
}
}

Yukarıdaki MikroC Programı PORTB nin 5. bitini birer saniye aralıklarla kontrol ediyor 1 ise PORTC ye bağlı ledleri yakıp söndürüyor. Şimdi Aynı Programı CCS C ile yazalım:

#include "main.h"

#byte PORTC = 0x07
#byte PORTB = 0x06
#byte TRISC =0x87
#byte TRISB=0x86

#bit F5 = PORTB.5


void main()
{
TRISC=0x00;
TRISB=0xff;

PORTC=0;
PORTB=0;
while(1)
{
if(F5==1)
PORTC=0xFF;
delay_ms(1000);
PORTC=0x00;
}
}

Gördüğünüz gibi fazla bir farklılık yok! CCS C de kullandığınız özel registerleri tanımlanız gerekir. bunun için datasheet i inceleyeceksiniz. 16f877A nın SFR haritasında PORTB nin 0x06, PORTC nin 0X07, TRISB nin 0x86 ve TRISC nin 0x87 olduğu yazıyor. Bunları programımızın en başına tanımlamamız gerekir. Birde MikroC de bit erişimi için; mesela PORTB nin 5. biti için PORTB.F5 ifadesi kullanılıyor, CCS de ise bitleri de tanımlamamız gerekiyor. #bit F5 = PORTB.5 diyerek onu da tanımlamış olduk.

Sözün kısası, C dili yapısını biliyorsak, gerisi ayrıntılar. Evet, sevgili arkadaşlar Böylece Yazı dizimizi bitirmiş olduk. Yazı dizimiz boyunca yaptığımız hatalardan dolayı özür dileriz. Talep gelirse ya da soru sorulursa cevaplamaya hazırız. Bir başla yazı dizisiyle görüşmek üzere.

İyi günler.


TAGS: mikroc dilinin CCS C ye çevirmek.

Anahtar Kelimeler: Mikrodenetleyici, mikroc ile ccs farkı

peynir6 suyu tozu , 12/10/2008-18:56 Facebook'ta Paylas