Mikroc'de derleyemiyorum (YARDIM)

Başlatan 98ork98, 18 Aralık 2014, 02:15:12

98ork98

Merhaba arkadaşlar aşağıdaki CCS C de yazılmış 1 buton, 1 displayli elektronik zar programını Mikroc'de derlemem gerekiyor ama hata alıyorum nereleri düzeltmem gerekiyor acaba?

#include <16f887.h>

#include<stdlib.h>

//***********Denetleyici konfigürasyon ayarları************
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay(clock=4000000)


#use fast_io(a)
#use fast_io(b)


char birler=0;

// Ortak katot display için veri değerleri

const int eda[6]={0x20,0x10,0x08,0x04,0x02,0x01,};
const int recep[6]={0x01,0x02,0x04,0x08,0x10,0x20};
const int nihat[6]={0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D,};
int i,a=0;

   #int_timer0
void timer_kesme(void)
{
      set_timer0(0);

   if(input(pin_a0)){ delay_ms(5);while(input(pin_a0));
   for(i=0;i<=5;i++){
         output_b(recep[i]);
         delay_ms(50);
   }

for(i=0;i<=5;i++){
         output_b(recep[i]);
         delay_ms(100);

}

for(i=0;i<=5;i++){
         output_b(recep[i]);
         delay_ms(150);
}

for(i=0;i<=5;i++){
         output_b(recep[i]);
         delay_ms(200);
}

     birler =rand()%6;

      output_b(nihat[birler]); // displaye bilgi gönderiliyor

             delay_ms(1000);
   }
}
void main ()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1|T0_8_BIT);
   setup_spi(SPI_SS_DISABLED);     // SPI birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı


set_timer0(0);

   enable_interrupts(int_timer0);
   enable_interrupts(global);

   set_tris_a(0x01);
   set_tris_b(0x00); // B portu tümüyle çıkış olarak yönlendiriliyor
    output_b(0x00);  // B portu çıkışları sıfırlanıyor
 output_a(0x02);
   while(1)
   {

   for(i=0;i<=5;i++){
         output_b(eda[i]);
         delay_ms(100);
   }
}

  }

erpay

MikroC üzerindeki hazır örnekleri incelersen senin kodundaki fuse ve diğer hazır fonksiyonları hangi fonksiyonlarla değiştirmen gerektiğini kolayca anlayabilirsin.

Firzen

Alıntı yapılan: 98ork98 - 18 Aralık 2014, 02:15:12
Merhaba arkadaşlar aşağıdaki CCS C de yazılmış 1 buton, 1 displayli elektronik zar programını Mikroc'de derlemem gerekiyor ama hata alıyorum nereleri düzeltmem gerekiyor acaba?

#include <16f887.h>

#include<stdlib.h>

//***********Denetleyici konfigürasyon ayarları************
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay(clock=4000000)


#use fast_io(a)
#use fast_io(b)


char birler=0;

// Ortak katot display için veri değerleri

const int eda[6]={0x20,0x10,0x08,0x04,0x02,0x01,};
const int recep[6]={0x01,0x02,0x04,0x08,0x10,0x20};
const int nihat[6]={0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D,};
int i,a=0;

   #int_timer0
void timer_kesme(void)
{
      set_timer0(0);

   if(input(pin_a0)){ delay_ms(5);while(input(pin_a0));
   for(i=0;i<=5;i++){
         output_b(recep[i]);
         delay_ms(50);
   }

for(i=0;i<=5;i++){
         output_b(recep[i]);
         delay_ms(100);

}

for(i=0;i<=5;i++){
         output_b(recep[i]);
         delay_ms(150);
}

for(i=0;i<=5;i++){
         output_b(recep[i]);
         delay_ms(200);
}

     birler =rand()%6;

      output_b(nihat[birler]); // displaye bilgi gönderiliyor

             delay_ms(1000);
   }
}
void main ()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1|T0_8_BIT);
   setup_spi(SPI_SS_DISABLED);     // SPI birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı


set_timer0(0);

   enable_interrupts(int_timer0);
   enable_interrupts(global);

   set_tris_a(0x01);
   set_tris_b(0x00); // B portu tümüyle çıkış olarak yönlendiriliyor
    output_b(0x00);  // B portu çıkışları sıfırlanıyor
 output_a(0x02);
   while(1)
   {

   for(i=0;i<=5;i++){
         output_b(eda[i]);
         delay_ms(100);
   }
}

  }

Bu kodu mu yazıyorsun mikroC de de?
Kararsız...

98ork98

#3
Alıntı yapılan: Firzen - 19 Aralık 2014, 00:12:31
Bu kodu mu yazıyorsun mikroC de de?

Bu kod ccs c de yazılmış benim mikroc de yapıp derlemem lazım

tekosis

bunlar sanırım ccs c ye ait kodlar.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

Firzen

Alıntı yapılan: 98ork98 - 19 Aralık 2014, 01:00:57
bu kod ccs c de yazılmış benim mikroc de yapıp derlemem lazım
Öncelikle MikroC de kod yazma kurallarını biliyor musunuz?
Biliyorsanız zaten bu işlem bunun için çok basit.
Kararsız...

98ork98

Alıntı yapılan: Firzen - 19 Aralık 2014, 19:08:15
Öncelikle MikroC de kod yazma kurallarını biliyor musunuz?
Biliyorsanız zaten bu işlem bunun için çok basit.

Hangi işlemi yapmam gerekiyor?

Firzen

Ben hala nasıl bir yardım istediğinizi anlamadım?

1- MikroC de kod yazmasını biliyor ama takıldığınız yer mi var ?

2- MikroC de kod yazmasını hiç bilmiyor ve bizim mi yazmamızı istiyorsunuz ?

1. ise bize son yazdığınız hali atın bakalım eksik yanlış var mı ? AMA 2. ise hiç boşuna forumdan medet ummayın KİMSE size yardımcı olmaz. Gidin bir mikroC başlkanıç kitabı alıp okumaya başlayın.
Kararsız...