MikroC'de CCS Kodu

Başlatan dijital74, 09 Temmuz 2012, 19:56:01

dijital74

Merhaba Arkadaşlar.

Bir şekilde C öğrenmeye çalışıyorum. Ama her derleyicide ufak tefek sıkıntılar oluyor. Serdar Çiçek'in CCS C kitabındaki dotmatriks display kullanımı ile ilgili CCS kodu yazıp MikroC'de derlemeye çalıştım.

Bana diyebilirsiniz ki "CCS'yi CCS editöründe MikroC'yi MikroC editöründe kullan, ikisini birbirine neden karıştırıyorsun ?"

Amacım nihayetinde MikroC'yi kullanmak; fakat Hitech ve CCS kodları arasındaki farkları algılayıp diğer alandaki yazılan projeleri MikroC'ye uyarlamak. Bu bağlamda örnek kodları aşağıya yazıyorum. Sizin de desteğinizle şu işi masaya yatıralım. MikroC'nin derleyemeyeceği CCS kodları ve bunun MikroC kod karşılıklarını yazalım. Hitech kodlarının MikroC'ye çok benzediğini biliyorum. O nedenle Hitech de kod yazan arkadaşlar da bu olaya katılabilirler.

#include <16f877.h>
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVF, NOPUT, NOWRT, NODEBUG, NOCPD
#use delay(clock=4000000)

#use fast_io(b)
#use fast_io(c)

int A[]        =  {0x03,0x75,0x76,0x75,0x03};
int B[]        =  {0x00,0x36,0x36,0x36,0x49};
int C[]        =  {0x41,0x3e,0x3e,0x3e,0x5d};
int D[]        =  {0x00,0x3e,0x3e,0x3e,0x41};
int E[]        =  {0x00,0xb6,0xb6,0xb6,0xbe};
int arti[]     =  {0x77,0x77,0x41,0x77,0x77};
int cift_ok[]  =  {0x6b,0x5d,0x00,0x5d,0x6b};

int sutunsec   (char s)
{
    switch (s)
    {
           case 0: return(0x10);break;
           case 1: return(0x08);break;
           case 2: return(0x04);break;
           case 3: return(0x02);break;
           case 4: return(0x01);break;
    }
}

void matris_karakter_gonder (char k[], int tekrar)
{
     int i,j;
     for (i=0;i<tekrar;i++)
         {
                           for (j=0;j<5;j++)
                           {
                               output_c(sutunsec(j));
                               output_b(k[j]);
                               delay_ms(10);
                           }
         }
}


void main() {
             setup_psp(PSP_DISABLED);
             setup_spi(SPI_SS_DISABLED);
             setup_timer_1(T1_DISABLED);
             setup_timer_2(T2_DISABLED,0,1);
             setup_adc_ports(NO_ANALOGS);
             setup_adc(ADC_OFF);
             setup_CCP1(CCP_OFF);
             setup_CCP2(CCP_OFF);
             
             TRISB=0X00;
             trisb(0x00);
             set_tris_c(0x00);
             
             while(1)
             {
                     matris_karakter_gonder(A,25);
                     matris_karakter_gonder(B,25);
                     matris_karakter_gonder(C,25);
                     matris_karakter_gonder(D,25);
                     matris_karakter_gonder(E,25);
                     matris_karakter_gonder(arti,25);
                     matris_karakter_gonder(cift_ok,25);
             }
}

LukeSkywalker

MikroC, CCS C'ye göre daha basittir.
İmzamdan mikroC öğrenmek için ilk adımı atabilirsiniz.

skara1214

aynı kodu derlemek istiyorsan her derleyicide yazdığın kodun asm karşılığı var onu bul sonra asm yi nasıl diğerine çeviririmi  düşün
Herkes ölür ama herkes gerçekten yaşamaz

dijital74

Elimde her iki programlama diline ait kitap mevcut. Amacım biraz daha kodlara hakim olmak, bir kitaptaki projeyi diğer derleyicide de yapabilmektir.

LukeSkywalker

O halde iki derleyiciye de hakim olmanız gerekmekte.

dijital74

#5
Alıntı yapılan: maytere - 09 Temmuz 2012, 20:22:16
O halde iki derleyiciye de hakim olmanız gerekmekte.

Sayfanızı inceledim. Yararlanacağımdan eminim.

Aslında ben bir sinerji oluşturmak istemiştim. CCS'de yazılan MikroC'de nasıl yazılıyor ya da aynı kod HitechC de nasıl yazılıyor diye. Bu tarz meselelerin incelendiği konu başlıklarına rastlamıştım çünkü forumda. Basic bilenler için C alıştırmaları gibi ...