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?
University of Idaho                                  Postdoctoral Fellow

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.
University of Idaho                                  Postdoctoral Fellow

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.
University of Idaho                                  Postdoctoral Fellow