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.
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.
----------
![]()
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.
alt programda okadar uzun döngü ve şart olması sorun çıkartmaz inşallah. Deneyeceyim dediğinizi.Teşekkür ederim.
kodu komple verirsen kontrol ediyim...
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 ?
#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.
#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 ilkfonsiyonumtipsiz(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() ;
}
}
}
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...
----------
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...
ccs c dili hangi dile daha yakindir ? c#,c++,vb vs.. ??
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.
ansı c ve c++ccs c dili hangi dile daha yakindir ? c#,c++,vb vs.. ??
arkaşımız fonksiyon kullanımına örnek vermiş sen bu bilgiyle güzel bir algoritma oluşturursan daha az komutlatruvadc hocam siz galiba iflerdeki komutların hepsini aynı sandınız
program bellegini doldurmadan yapmak istedikelrine ulaşabilrsin
Böyle bir if kullanımı var mıdır? Bu kullanımda if ile kontrol edilen nedir?if(kelime[a]='0')
Sanki kontrol değil de atama yapılıyor gibi.
Şeklinde mi kullanılmalıydı?if(kelime[a]=='0')
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.
Güce ve Geleceğe Güvenle...
yerine bu komuttaki koşul nedir? sorusu olmalıBu kullanımda if ile kontrol edilen nedir ?
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
Şu anda 1 kullanıcı bu konuyu görüntülüyor. (0 kayıtlı ve 1 misafir)