8x8 Dot matris arttırma

Başlatan ziyaretci, 27 Ocak 2012, 00:16:19

ziyaretci

Aşağıdaki kod 8x8 displayle yapılmış kayan yazı buna ben 4 tane daha 8x8 dot matrris eklemek istiyorum ne yapmam lazım bunun için yani 8 sütundan 40 sütuna çıkarmak için ?

Dahada anlamadığım olay soldan sağa doğru gelen yazı diğer dot matrixle nasıl ve hangi fonksiyonla bağlayacağımız elimde 74hc154 kod çözücüsü var.



#include <16F628A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection

#use delay(clock=4000000)


int b,i,a; //döngüler için gerekli değişkenler
signed kayma;
int yazi_sutun;//yazının sütün sayısı
int matris_sutun; //matris sutun

char metin[]={
0x81, 0x42, 0x24, 0x18, 0x81, 0x42, 0x24, 0x18, // sola çift ok
0x00,
0x03, 0x07, 0x0E, 0xFC, 0xFC, 0x0E, 0x07, 0x03, //y
0x00,
0xFC, 0xFE, 0x13, 0x11, 0x11, 0x13, 0xFE, 0xFC, //a
0x00,
0x83, 0xC3, 0xE3, 0xF3, 0xDB, 0xCF, 0xC7, 0xC3, //z
0x00,
0xFF, 0xFF, 0x18, 0x3C, 0x66, 0xC3, 0x83, 0x00, //k
0x00,
0x00, 0x00, 0x88, 0xFB, 0xFB, 0x88, 0x00, 0x00, //i
0x00,
0x18, 0x24, 0x42, 0x81, 0x18, 0x24, 0x42, 0x81, // sağa çift ok
};

char kayan[8]; //kayan adında 16 elemanlı sahte dizi oluşturuldu.


void main()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

yazi_sutun=62;//yazinin toplam sutun sayısı belirleniyor
//yazi1_sutun=64; //diğer yazının sutun sayısı belirleniyor
matris_sutun=8;//kullanılan matrisin sutun sayısı

 
 for(;;)// sonsuz döngü oluşturluyor
 {
 
    for(kayma=-8;kayma<yazi_sutun;kayma++) // sütün sayısı kadar kayma işlemi gerçekleştiriliyor.
  {
      for(b=0;b<matris_sutun;b++)  //kayan adlı dizinin elemanlarını döngü  //sayesinde buluyoruz.
    {     
       kayan[b]=metin[kayma+b]; // kaydırma işlemi hesaplanıyor
          if(kayma+b<0)  // şartlar
           kayan[b]=0;
            if(kayma+b>yazi_sutun)
             kayan[b]=0;
    }

      for(a=0;a<30;a++) //tarama sayısı
    {
        for(i=0;i<matris_sutun;i++) //bulunan değerler teker teker portlara gönderiliyor.
     {  
         output_a(i);
         output_b(kayan[i]);
         delay_us(6000); //kayma hızı
         
  }   //kaydırma işlemi sonu
   }  // portlara gönderme sonu
    } //tarama sayısı sonu
 }     //sonsuz döngü sonu
}      // ana program sonu



Yukarıda tek 8x8 dot matrix li kayan yazı kodunu aşağıdaki 5x8*8 dot matrix için ne yapmak lazım.Ve elimde de 74HC154 kod çözücüsü var.Gerekli kod değişimini açıklamalarıyla verirseniz minnettar kalırım. Not:Bu isteğim tamamen hoby ve kendimi geliştirmek içindir.

"matris_sutun=8;//kullanılan matrisin sutun sayısı " 16 yaptığımda 74 hc 154 ün 16 bacağına bilgi gidiyor ve ve 2 dot matrix kullanılıyor 2. 74hc154 ü kullanırsam nasıl bir bağlantı yapmam gerekiyor soldan sağa kayan yazı düşünürsek 1<2<3<4<5<6<7<8<9<..... 1 bacaktan 1. 74 hc154 ün  16. bacağına nasıl geçiş yapılır????



Kabil ATICI

toprağa bağladığın uçlar entegre seçme uçlarıdır. Bu uçları kllanarak hangi ucun atif olarak kullanılacağını belirlersin. Entegrenin veri kağıdına bak.
Entegre secme ucunu ya kod çözücü yada işlemci ile seçerek kullanabilirsin..

Yazı kaydırma için doğrudan tüm yazını ram üzerinde ekranda gösterilecek şekilde aç. Sadece göstermek istediğini  ekrana aktar. RAMdeki göstereceğin adresi değiştirdiğinde ekranda gösterdiğin yazıda değişir. Hızını sen ayarla.
ambar7

ziyaretci

#2
biraz daha ayrıntılı bir şekilde açıklarsanız memnun olurum. (yani net bir şekilde ne yapmam gerekiyor)
yeniyim bu işlerdede .