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);
}
}
}
MikroC üzerindeki hazır örnekleri incelersen senin kodundaki fuse ve diğer hazır fonksiyonları hangi fonksiyonlarla değiştirmen gerektiğini kolayca anlayabilirsin.
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?
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
bunlar sanırım ccs c ye ait kodlar.
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.
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?
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.