PDA

Orijinalini görmek için tıklayınız : CCS C de sağlam kod derlenemiyor(kodlar fazla) Yardım!


meftun
23 Ocak 2010, 02:17
ledli pano için program yazdım
altta yazdığım komutlar fazla geliyor galiba bir kısmını silince derliyor ama fazlasını derlemiyor hata veriyor.Kodların sağlam olduğundan eminim. Bu sorunu nasıl alaşabilirim? Yardıma ihtiyacım var daha öncede bir kaç projede böyle olmuştu ama kodları kısaltabilme şansım vardı bü sefer kodlardan tasarruf edebileceğimi sanmıyorum.
(0-9 a-z w,x,z,q) bütün karakterler için if şartı yapmam lazım.

----------

[Link Görmek ve Forumumuzdan Yararlanmak İçin Üye Olmasınız] ([Link Görmek ve Forumumuzdan Yararlanmak İçin Üye Olmasınız])

muhhendis
23 Ocak 2010, 06:59
yazdığın programda ana program döngüsü çok uzun ondan hata veriyor.devreni programlarken alt program kullanıp gerektiği yerde alt programı çağırırsan ana program kısa olmuş olur sorunun hallolur.

meftun
23 Ocak 2010, 14:35
alt programda okadar uzun döngü ve şart olması sorun çıkartmaz inşallah. Deneyeceyim dediğinizi.Teşekkür ederim.

truvadc
23 Ocak 2010, 14:39
kodu komple verirsen kontrol ediyim...

rck8942
23 Ocak 2010, 18:33
Truvadc hocam elinizde PC ile PIC rs232 den haberlesmesi icin tutorial veya döküman varmidir ? bu arayuzleri programlamak icin sizce hangi dil secilmelidir ? siz hangi dili kullaniyorsunuz ?

meftun
23 Ocak 2010, 22:17
#include "16f877.h" //Mikrodenetleyici seçilir
#fuses XT,NOWDT,NOPROTECT,PUT //Sigortalar seçilir
#use delay (clock=4000000)


int i=0,a=0,m=0,bekle=2;
int sutun_sayisi=24;
int tarama[8]={0b11111110,0b11111101,0b11111011,0b11110111,0b11101111,0b11011111,0b10111111,0b01111111};

int ekranim0[30];
int ekranim1[30];
int ekranim2[30];
int ekranim3[30];
int ekranim4[30];
int ekranim5[30];
int ekranim6[30];
int ekranim7[30];


char kelime[]={'1','0','a','1','0'};
char harf[];
byte harf_sayisi=5;

void main(void)
{
output_a(0b00000000);

for(a=0;a<harf_sayisi;a++)// hafler kelime değişkeninden tek tek okunup 0 1 şeklinde ekranim değişkenlerine yazdırılıyor
{
if(kelime[a]='0')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=1; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; i=m;
ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=0; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i++; i=m;
ekranim3[i]=1; i++; ekranim3[i]=0; i++; ekranim3[i]=0; i++; ekranim3[i]=0; i++; ekranim3[i]=1; i++; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i++; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i++; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i++; i=m;
ekranim7[i]=0; i++; ekranim7[i]=1; i++; ekranim7[i]=1; i++; ekranim7[i]=1; i++; ekranim7[i]=0; i++; i=m;
m=m+6;
}

if(kelime[a]='1')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; i=m;
ekranim1[i]=1; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; i=m;
ekranim2[i]=0; i++; ekranim2[i]=1; i++; ekranim2[i]=0; i++; i=m;
ekranim3[i]=0; i++; ekranim3[i]=1; i++; ekranim3[i]=0; i++; i=m;
ekranim4[i]=0; i++; ekranim4[i]=1; i++; ekranim4[i]=0; i++; i=m;
ekranim5[i]=0; i++; ekranim5[i]=1; i++; ekranim5[i]=0; i++; i=m;
ekranim6[i]=0; i++; ekranim6[i]=1; i++; ekranim6[i]=0; i++; i=m;
ekranim7[i]=1; i++; ekranim7[i]=1; i++; ekranim7[i]=1; i++; i=m;
m=m+4;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='2')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='3')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='4')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='5')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='6')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='7')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='8')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='9')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]=' ')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

if(kelime[a]='a')
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; ekranim0[i]=0; i=m;
ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; ekranim1[i]=0; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i=m;
ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i++; ekranim3[i]=1; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i=m;
ekranim7[i]=1; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=0; i++; ekranim7[i]=1; i=m;
m=m+6;//bir sonraki harfin kaçıncı sutundan başlayacağını bulur
}

}



do{


for(a=0;a<1;a++)//oyalama
{
//harfler oluşturuluyor

output_b(tarama[0]);
for(i=0;i<sutun_sayisi;i++)
{
if(ekranim0[i]==0) {output_a(0b000); output_a(0b001); output_a(0b000); output_a(0b100); output_a(0b000);}
if(ekranim0[i]==1) {output_a(0b010); output_a(0b011); output_a(0b010); output_a(0b110); output_a(0b000);}
}delay_ms(bekle);

output_b(tarama[1]);
for(i=0;i<sutun_sayisi;i++)
{
if(ekranim1[i]==0) {output_a(0b000); output_a(0b001); output_a(0b000); output_a(0b100); output_a(0b000);}
if(ekranim1[i]==1) {output_a(0b010); output_a(0b011); output_a(0b010); output_a(0b110); output_a(0b000);}
}delay_ms(bekle);

output_b(tarama[2]);
for(i=0;i<sutun_sayisi;i++)
{
if(ekranim2[i]==0) {output_a(0b000); output_a(0b001); output_a(0b000); output_a(0b100); output_a(0b000);}
if(ekranim2[i]==1) {output_a(0b010); output_a(0b011); output_a(0b010); output_a(0b110); output_a(0b000);}
}delay_ms(bekle);

output_b(tarama[3]);
for(i=0;i<sutun_sayisi;i++)
{
if(ekranim3[i]==0) {output_a(0b000); output_a(0b001); output_a(0b000); output_a(0b100); output_a(0b000);}
if(ekranim3[i]==1) {output_a(0b010); output_a(0b011); output_a(0b010); output_a(0b110); output_a(0b000);}
}delay_ms(bekle);

output_b(tarama[4]);
for(i=0;i<sutun_sayisi;i++)
{
if(ekranim4[i]==0) {output_a(0b000); output_a(0b001); output_a(0b000); output_a(0b100); output_a(0b000);}
if(ekranim4[i]==1) {output_a(0b010); output_a(0b011); output_a(0b010); output_a(0b110); output_a(0b000);}
}delay_ms(bekle);

output_b(tarama[5]);
for(i=0;i<sutun_sayisi;i++)
{
if(ekranim5[i]==0) {output_a(0b000); output_a(0b001); output_a(0b000); output_a(0b100); output_a(0b000);}
if(ekranim5[i]==1) {output_a(0b010); output_a(0b011); output_a(0b010); output_a(0b110); output_a(0b000);}
}delay_ms(bekle);

output_b(tarama[6]);
for(i=0;i<sutun_sayisi;i++)
{
if(ekranim6[i]==0) {output_a(0b000); output_a(0b001); output_a(0b000); output_a(0b100); output_a(0b000);}
if(ekranim6[i]==1) {output_a(0b010); output_a(0b011); output_a(0b010); output_a(0b110); output_a(0b000);}
}delay_ms(bekle);


output_b(tarama[7]);
for(i=0;i<sutun_sayisi;i++)
{
if(ekranim7[i]==0) {output_a(0b000); output_a(0b001); output_a(0b000); output_a(0b100); output_a(0b000);}
if(ekranim7[i]==1) {output_a(0b010); output_a(0b011); output_a(0b010); output_a(0b110); output_a(0b000);}
} delay_ms(bekle);
}



}while(TRUE);

}

----------

bu kodlar sadece bir kısmı yani bütün harfler için if kullanmam gerekiyor ama bu kadarını bile çalıştırmadığı için hazırlamadım diyer harfleri.Birde ccs c için fonksiyon konusunda bilgim yok nasıl oluşturuluyor ccs c de.

MURSEL
23 Ocak 2010, 23:43
#include "16f877.h" //Mikrodenetleyici seçilir
#fuses XT,NOWDT,NOPROTECT,PUT //Sigortalar seçilir
#use delay (clock=4000000)


int i=0,a=0,m=0,bekle=2;
int sutun_sayisi=24;
int tarama[8]={0b11111110,0b11111101,0b11111011,0b11110111,0b11 101111,0b11011111,0b10111111,0b01111111};

int ekranim0[30];
int ekranim1[30];
int ekranim2[30];
int ekranim3[30];
int ekranim4[30];
int ekranim5[30];
int ekranim6[30];
int ekranim7[30];


char kelime[]={'1','0','a','1','0'};
char harf[];
byte harf_sayisi=5;


void ilkfonksiyonum() // fonsiyonun ismi ilkfonsiyonum :) tipsiz(void) bir fonksiyon
{
i=m;
ekranim0[i]=0; i++; ekranim0[i]=1; i++; ekranim0[i]=1; i++; ekranim0[i]=1; i++; ekranim0[i]=0; i++; i=m;
ekranim1[i]=1; i++; ekranim1[i]=0; i++; ekranim1[i]=0; i++; ekranim1[i]=0; i++; ekranim1[i]=1; i++; i=m;
ekranim2[i]=1; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=0; i++; ekranim2[i]=1; i++; i=m;
ekranim3[i]=1; i++; ekranim3[i]=0; i++; ekranim3[i]=0; i++; ekranim3[i]=0; i++; ekranim3[i]=1; i++; i=m;
ekranim4[i]=1; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=0; i++; ekranim4[i]=1; i++; i=m;
ekranim5[i]=1; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=0; i++; ekranim5[i]=1; i++; i=m;
ekranim6[i]=1; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=0; i++; ekranim6[i]=1; i++; i=m;
ekranim7[i]=0; i++; ekranim7[i]=1; i++; ekranim7[i]=1; i++; ekranim7[i]=1; i++; ekranim7[i]=0; i++; i=m;
m=m+6;

}


void main(void)
{
output_a(0b00000000);

for(a=0;a<harf_sayisi;a++)// hafler kelime değişkeninden tek tek okunup 0 1 şeklinde ekranim değişkenlerine yazdırılıyor
{
if(kelime[a]='0')
{
ilkfonksiyonum() ; /*artık sadece bu komutla yani fonsiyonu cagırarak aynı komutları sürekli yazmaktan kurtulmus olurusun problemin de bu zaten ;)*/
}
if(kelime[a]='1')
{
ilkfonksiyonum() ;
}
if(kelime[a]='2')
{
ilkfonksiyonum() ;
}
}
}

truvadc
24 Ocak 2010, 03:33
burda kullandığın 16f877 nin hafızası yetmiyor... eğer aynı komutları sürekli yazman gerekiyorsa fonksiyon oluşturup ordan çağırırsan belki yeter.... ama tavsiyem 18f4620 kullan... 64kb hafızası ile gayet iyi...

ayrıca.,
ccs de normalde fonksiyon main in üstünde olması gerekiyor.

void fonksiyon()
{

}

void main()
{
fonksiyon();

}

ama main in altında yapcam diyosan bu şekilde çağırabilirsin...

void fonksiyon();
void main()
{
fonksiyon();

}

void fonksiyon()
{

}

kolay gelsin...

----------

Truvadc hocam elinizde PC ile PIC rs232 den haberlesmesi icin tutorial veya döküman varmidir ? bu arayuzleri programlamak icin sizce hangi dil secilmelidir ? siz hangi dili kullaniyorsunuz ?

rs232 ile fazla uğraşamadım... vb.net yada c# ı kullanabilirsin... yeni başlayacaksan vb.net kulanırsan hızlı ilerlersin bi yere kadar götürür. c# kullanıyım dersen yavaş ilerlersin sonu yok onun... birde programlamada iyi olmak için ingilizce şart...
ben vb.net i kulanıyorum hobi olarak...

rck8942
24 Ocak 2010, 20:17
ccs c dili hangi dile daha yakindir ? c#,c++,vb vs.. ??

meftun
24 Ocak 2010, 21:13
c++ pek kullanmadım gördüğüm kadarı ile visual c# ile aynı pic komutları dışında

----------

truvadc hocam siz galiba iflerdeki komutların hepsini aynı sandınız ama öyle değil.Zaten öyle olsa if yazmaz direkt komutu yazardım.Her harf için if var her if için ayrı komutlar var. Sanırım dediğiniz gibi daha geniş hafızası olan bir pic seçmeliyim.Yada komutlar için başka bir yöntem geliştirmeliyim.Teşekkür ederim ilginiz için.

MURSEL
25 Ocak 2010, 03:33
ccs c dili hangi dile daha yakindir ? c#,c++,vb vs.. ?? ansı c ve c++

truvadc hocam siz galiba iflerdeki komutların hepsini aynı sandınız arkaşımız fonksiyon kullanımına örnek vermiş sen bu bilgiyle güzel bir algoritma oluşturursan daha az komutla
program bellegini doldurmadan yapmak istedikelrine ulaşabilrsin

a.a.sezen
14 Şubat 2010, 18:56
if(kelime[a]='0')

Böyle bir if kullanımı var mıdır? Bu kullanımda if ile kontrol edilen nedir?
Sanki kontrol değil de atama yapılıyor gibi.

if(kelime[a]=='0')

Şeklinde mi kullanılmalıydı?

meftun
15 Şubat 2010, 03:55
eğer yapılacak iş
"kelime[a] nın değeri 0 a eşit mi?"
şartını sağlamak ise
if(kelime[a]=='0')
kullanılmalıdır
== yerine = gelseydi dediğiniz gibi atama yapardı.

a.a.sezen
16 Şubat 2010, 01:09
eğer yapılacak iş
"kelime[a] nın değeri 0 a eşit mi?"
şartını sağlamak ise
if(kelime[a]=='0')
kullanılmalıdır
== yerine = gelseydi dediğiniz gibi atama yapardı.

Sayın meftun,
Hata bende sanırım. Üslubumdan kaynaklanıyor.
if kullanım alıntısını yukarıda verdiğiniz koddan yaptım.
Probleminizle doğrudan ilgili değildi belki ama yanlış if kullanımlarına işaret etmek istemiştim. Dolayısıyla bu yazılımın yapacağı işi yapmayacağını vurgulamak istemiştim.

MURSEL
16 Şubat 2010, 03:59
Bu kullanımda if ile kontrol edilen nedir ? yerine bu komuttaki koşul nedir? sorusu olmalı


if(kelime[a]=='0') kelime dizisinin a nıncı elamanı 0 karekteriyle eşitmidir?


kontrol edilen bu kosula baglı yapılan işlemlerdir kosul dogruysa(1) birinci işlem degisle(0) ikinci işlem gibi gibi

for example

if(kelime[a]=='0')
output_high(pin_b0);
else
output_low(pin_b0);


kolay gelsin

meftun
16 Şubat 2010, 13:57
Sayın meftun,
Hata bende sanırım. Üslubumdan kaynaklanıyor.
if kullanım alıntısını yukarıda verdiğiniz koddan yaptım.
Probleminizle doğrudan ilgili değildi belki ama yanlış if kullanımlarına işaret etmek istemiştim. Dolayısıyla bu yazılımın yapacağı işi yapmayacağını vurgulamak istemiştim.

haklısınız == yerine = yazmışım :D ama bu programı değiştirdiğimden bu komutlar silindi.
Bu if te genelde bu hataya düşüyorum alışkanlıktan olsa gerek bazen = yazıyorum sonra ara allah ara hata nerde diye :D