16f628 ile 8x32 dot matrix ile yapılmış kayan yazı

                  8x32 dot matrix ile kayan yazı devresi sütün kaymalı olarak gerçekleştirdim 74hc595 ile kaydırma işlemini gerçekleştirdim.Yazı yazmak kolaydı ama kaydırmak için neredeyse 2 güne yakın uğraştım 74hc595 yapabilmek için uğraştım özellikle yaptığım uygulamada en yakın zamanda gerçek uygulamasını devresini gerçekleştireceğim.

                                            İNDİRME LİNKİ : http://yadi.sk/d/VrZ_lIsmSotVS

işte bitirdim ve  çalışıyor. :) biraz sıkıntıları var ama en yakın zamanda düzelteceğim :)
devreyle ilgilenenler iletişme geçerseniz yardımcı olabilirim yardımcı olabilirim

KODLARI:
#include   <16f628.h>
#use Delay (clock=4m)

#define    Sh_Cp Pin_A0
#define    Sh_Ct Pin_A2
#define    Ds    Pin_A1
int say=0,i=0,e=0,k=0,f=0,c,d;
const char dizi[]={112,168,168,144,0//e
,127,128,128,0//l
,112,168,168,144,0//e
,255,32,80,136,0//k
,8,127,136,128,64,0//t
,240,8,8,16,0//r
,112,136,136,112,0//o
,56,64,128,64,56,0//v
,112,136,136,112,0//o
,127,128,128,0//l
,8,127,136,128,64,0//t
192,192,0//.
127,144,144,96,0//b
,127,128,128,0//l
,112,136,136,112,0//o
,144,168,168,112,0//g
,192,192,0//.
,112,136,136,80,0//c
,112,136,136,112,0//o
,248,16,32,16,248,0//m
,192,192,0//.
,8,127,136,128,64,0//t
,240,8,8,16,0//r
};
void Clock()
{
 output_high(Sh_Cp);
 output_low (Sh_Cp);
 output_high(Sh_Ct);
 output_low (Sh_Ct);
}
void Tarama()
{
 for(say=0;say<32;say++)
 {
 output_high(Ds);
 Clock();
 }
}
void Main()
 {
  output_b(0x00);
  Tarama();
    While(True)
      {  
    if(k==0)
    {
 for(e=32;e>0;e--)
{
 for(f=0;f<5;f++)
 {
 for(i=0;i<32;i++)
 {
  if(i==0)
  output_low(ds);
  else
   output_high(ds);
   clock();
   if(i>=e)
   output_b(dizi[i-e]);
   else
   output_b(0x00);
    Delay_us(500);
   }
        }
   }
     k=1;
    }
    else
    {  
        for(f=0;f<5;f++)
        {
        d=c;
        for(i=0;i<32;i++)
         {
                    d++;
          if((i==0)||(i==32))
          output_low(Ds);
          else
          output_high(Ds);
          Clock();
         if(d>=110)
         output_b(0x00);
         else
         output_b(dizi[d]);
          Delay_us(500);
         }
        }  
        if(d==32)
        d=0;
        if(c==110)
       { c=0;
        d=0; k=0;}
        else
        c++;
      }
      }    
 }


3 yorum :

  1. S.A. Öncelikle tüm işlerinde kolaylıklar diliyorum. Harika bir çalışma olmuş. Bende 8x8 led matrix yaptım. proteusta çizimi yaptım. Taramada sorun yok ama kaydırma yapamıyorum. Programlayıcı olarak picbasic pro kullanıyorum. Microdenetleyici olarak pic16f628a ve sürücü olarak 74hc595 kullandım. Taramayı da bitirince olacak.

    YanıtlaSil
    Yanıtlar
    1. iyi günler size nereden ulaşabilirim bu projeyş yapmam lazım yardıma ihtiyacım var

      Sil
  2. +905314705670 whatsapp üzerinden iletişime geçebilirsiniz

    YanıtlaSil