Kayan Yazı - 256 Karakter

Başlatan Anakhin74, 15 Temmuz 2011, 22:26:03

serdararikan

@SERRO EFE     
ilgin için teşkler.
Gerçekten güzel çalışma olmuş.Logan arkadaşımızı şahsım adına tebrik ederim.18F8720 ile 40Mhz hızında adreslemeli olarak bütün pixelllere ulaşmış.
gerçekten güzel çalışma.

Gökhan BEKEN

@SERRO EFE hocam font tablolarını eeproma kaydederek yapmamın sebebi sadece karakter değil resim veya farklı fontlarıda yükleyebilmek için. Mesela kullanıcı arapça bir metinde girebilir, resim dosyasıda girebilir, hatta kendisi arayüz programında tek tek tıklayarak istediği şekli oluşturarak gönderebilir. Bunun böyle bir avantajı var.

Diğer türlü, yani 30 harflik bir cümle için sadece 30 harf kaydetmek eepromu çok rahatlatır sadece 30byte harcar güzel, ben bunuda yapabiliyorum.  Aşağıdaki dediğiniz gibi yaptım daha önce.
a:
değişken1 = 0b00101010
değişken2 = 0b01101100
değişken3 = 0b10110110
b:
..
c:
..


Fakat şu an için 2 yöntemde benim için fark etmiyor önemli olan pic teki ram kapasitesini verimli kullanmak benimn sorunum bu işte. Hangi yöntemi kullanırsam kullanıyım sonuçta ram de 0 ve 1 ler ile işlem yapmam gerekiyor. 1 yöntemde 1 ve 0 ları eepromdan okuyoruz, sizin dediğiniz yöntemde ise abcd şeklinde kaydedilmiş verileri 1 ve 0 a picteki program ile çeviriyoruz, benim sorunum çevirme işlemini yaptıktan sonra. Sorunumun kaynağı @t1 hocam ve sizin dediğiniz gibi dizi değişken kullanmam. Fakat dizi kullanmadan nasıl yapabilirim bilmiyorum. Tablo olayını araştıracağım CCS C kullanıyorum inşallah çözümü vardır. Kayan yazıda çok sorun yaşamam ama ileride daha güzel şeyler yapacağım ekran felan onlarda çok büyük sorun olur.
İlginiz için hepinize teşekkür ederim.

Sizin dediğiniz yöntemle yani eeproma sadece karakter girdiğimiz yöntemle yaptığım programın bazı kısımlarını yazayım.

char kelime[32]={'m','u','s','t','a','f','a',' ','g','ö','k','h','a','n',' ','b','e','k','e','n'}; //eepromdan alınan bilgiler buraya yazılır



char const karakter[50][7] = {                             
   {0b01110,0b10001,0b10001,0b10001,0b10001,0b10001,0b01110}//sıra=0  harf=0
   {0b00100,0b01100,0b00100,0b00100,0b00100,0b00100,0b01110}//sıra=1  harf=1   
   {0b01110,0b10001,0b00010,0b00100,0b01000,0b10000,0b11111}//sıra=2  harf=2
   {0b01110,0b10001,0b00001,0b01110,0b00001,0b10001,0b01110}//sıra=3  harf=3
   {0b00010,0b00110,0b01010,0b10010,0b11111,0b00010,0b00010}//sıra=4  harf=4
   {0b11111,0b10000,0b10000,0b11110,0b00001,0b00001,0b11110}//sıra=5  harf=5
   {0b0011,0b0100,0b1000,0b1110,0b1001,0b1001,0b0110}       //sıra=6  harf=6
   {0b11110,0b00010,0b00100,0b01000,0b10000,0b10000,0b10000}//sıra=7  harf=7
   {0b01110,0b10001,0b10001,0b01110,0b10001,0b10001,0b01110}//sıra=8  harf=8
   {0b0110,0b1001,0b1001,0b0111,0b0001,0b0001,0b1110}       //sıra=9  harf=9
   {0b00000,0b00000,0b00000,0b00000,0b00000,0b00000,0b00000}//sıra=10 harf=boşluk 
   {0b00100,0b01010,0b10001,0b11111,0b10001,0b10001,0b10001}//sıra=11 harf=a               
   {0b11110,0b10001,0b10001,0b11110,0b10001,0b10001,0b11110}//sıra=12 harf=b
   {0b01110,0b10001,0b10000,0b10000,0b10000,0b10001,0b01110}//sıra=13 harf=c     
   {0b01110,0b10001,0b10000,0b10000,0b10000,0b10001,0b01110}//sıra=14 harf=ç   
   {0b1110,0b1001,0b1001,0b1001,0b1001,0b1001,0b1110}       //sıra=15 harf=d
   {0b11111,0b10000,0b10000,0b11111,0b10000,0b10000,0b11111}//sıra=16 harf=e
   {0b1111,0b1000,0b1000,0b1111,0b1000,0b1000,0b1000}       //sıra=17 harf=f
   {0b01110,0b10001,0b10000,0b10111,0b10001,0b10001,0b01110}//sıra=18 harf=g
   {0b01110,0b10001,0b10000,0b10111,0b10001,0b10001,0b01110}//sıra=19 harf=ĞĞĞĞĞ
   {0b1001,0b1001,0b1001,0b1111,0b1001,0b1001,0b1001}       //sıra=20 harf=h               
   {0b111,0b010,0b010,0b010,0b010,0b010,0b111}              //sıra=21 harf=I
   {0b010,0b000,0b111,0b010,0b010,0b010,0b111}              //sıra=22 harf=i                 
   {0b001,0b001,0b001,0b001,0b001,0b001,0b110}              //sıra=23 harf=j   
   {0b10001,0b10010,0b10100,0b11000,0b10100,0b10010,0b10001}//sıra=24 harf=k
   {0b11100,0b01000,0b01000,0b01000,0b01000,0b01001,0b11111}//sıra=25 harf=L
   {0b10001,0b10001,0b11011,0b10101,0b10101,0b10101,0b10101}//sıra=26 harf=M
   {0b10001,0b10001,0b11001,0b10101,0b10011,0b10001,0b10001}//sıra=27 harf=N               
   {0b01110,0b10001,0b10001,0b10001,0b10001,0b10001,0b01110}//sıra=28 harf=O
   {0b01010,0b00000,0b01110,0b10001,0b10001,0b10001,0b01110}//sıra=29 harf=ö               
   {0b11110,0b01001,0b01001,0b01110,0b01000,0b01000,0b11100}//sıra=30 harf=P 
   {0b11110,0b01001,0b01001,0b01110,0b01010,0b01001,0b11101}//sıra=31 harf=R
   {0b01110,0b10001,0b10000,0b01110,0b00001,0b10001,0b01110}//sıra=32 harf=S
   {0b01110,0b10001,0b10000,0b01110,0b00001,0b10001,0b01110}//sıra=33 harf=ŞŞŞŞ
   {0b11111,0b10101,0b00100,0b00100,0b00100,0b00100,0b01110}//sıra=34 harf=T
   {0b10001,0b10001,0b10001,0b10001,0b10001,0b10001,0b01110}//sıra=35 harf=U
   {0b0110,0b1001,0b1001,0b1001,0b1001,0b1001,0b0110}       //sıra=36 harf=ü 
   {0b10001,0b10001,0b10001,0b10001,0b10001,0b01010,0b00100}//sıra=37 harf=V                   
   {0b10001,0b10001,0b01010,0b00100,0b00100,0b00100,0b00100}//sıra=38 harf=Y 
   {0b00001,0b00010,0b00100,0b01000,0b10000,0b11111}        //sıra=39 harf=Z 
   {0b10001,0b01010,0b00100,0b01010,0b10001,0b10001}        //sıra=40 harf=X
   {0b10101,0b10101,0b10101,0b10101,0b11011,0b10001,0b10001}//sıra=41 harf=W
   {0b00000,0b00000,0b00000,0b00000,0b00000,0b00000,0b00000}//sıra=42 harf=Q         
};





karakterleri 1 ve 0 a çevirmek için aşağıdaki kısmı kullanıyorum

            m=0;
            for (k = 0; k < 7; k++)//satırlardaki veriler tek tek çıkartılır
            {                                                     
                for (j = 0; j<harf_sayisi;j++)
                {                                                           
                                                                                                     
                  switch (kelime[j])
                  {
                     Case '0': { m = 0;}  Break;
                     Case '1': { m = 1;}  Break;
                     Case '2': { m = 2;}  Break;
                     Case '3': { m = 3;}  Break;
                     Case '4': { m = 4;}  Break;
                     Case '5': { m = 5;}  Break;
                     Case '6': { m = 6;}  Break;
                     Case '7': { m = 7;}  Break;
                     Case '8': { m = 8;}  Break;
                     Case '9': { m = 9;}  Break;
                     Case ' ': { m = 10;} Break;
                     Case 'a': { m = 11;} Break;
                     Case 'b': { m = 12;} Break;
                     Case 'c': { m = 13;} Break;
                     Case 'ç': { m = 14;} Break;
                     Case 'd': { m = 15;} Break;
                     Case 'e': { m = 16;} Break;
                     Case 'f': { m = 17;} Break;
                     Case 'g': { m = 18;} Break;
                     Case 'ğ': { m = 19;} Break;
                     Case 'h': { m = 20;} Break;
                     Case 'ı': { m = 21;} Break;
                     Case 'i': { m = 22;} Break;
                     Case 'j': { m = 23;} Break;
                     Case 'k': { m = 24;} Break;
                     Case 'l': { m = 25;} Break;
                     Case 'm': { m = 26;} Break;
                     Case 'n': { m = 27;} Break;
                     Case 'o': { m = 28;} Break;
                     Case 'ö': { m = 29;} Break;
                     Case 'p': { m = 30;} Break;
                     Case 'r': { m = 31;} Break;
                     Case 's': { m = 32;} Break;
                     Case 'ş': { m = 33;} Break;
                     Case 't': { m = 34;} Break;
                     Case 'u': { m = 35;} Break;
                     Case 'ü': { m = 36;} Break;
                     Case 'v': { m = 37;} Break;
                     Case 'y': { m = 38;} Break;
                     Case 'z': { m = 39;} Break;
                  }                                                             
                 
                   switch (k)
                   {
                        Case 0: {satir0[j]=karakter[m][k];}Break;
                        Case 1: {satir1[j]=karakter[m][k];}Break;
                        Case 2: {satir2[j]=karakter[m][k];}Break;
                        Case 3: {satir3[j]=karakter[m][k];}Break;
                        Case 4: {satir4[j]=karakter[m][k];}Break;
                        Case 5: {satir5[j]=karakter[m][k];}Break;
                        Case 6: {satir6[j]=karakter[m][k];}Break;
                   }                                     
                }                                               
            }



Geriye bitek kaydırmak veya kaydırmadan göstermek kalıyor.
Özel mesaj okumuyorum, lütfen göndermeyin.