自己研究的点阵,希望得到高手指点

来源:互联网 发布:淘宝充值话费怎么投诉 编辑:程序博客网 时间:2024/05/17 23:55

      自己根据16*16静态点阵写出来的16*64点阵,虽然不是很好,用的也是常见的算法,但是总归是自己做出来的,很开心!还做出了PRETEAUS仿真。

      但好像要做真正的成品点阵技术蛮困难的,因为一些商店的门口的大点阵,字体很粗而且多行字,是不是用到多片像74HC154之类的译码器啊?

     希望高手能指点一下双色点阵方面的技术,有资料的也希望共享一下。

 

 

 #include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define SCAN P2 //行驱动接到P2
sbit DS=P3^0; //595 DATAS
sbit SHCP=P3^1; //595 CLK
sbit STCP=P3^2; //595 STR
uint word;  //字模计数器
uchar move;  //列指针
uchar line;  //行指针
uchar speed=1; //设定移动速度
uint stay=2500; //设定停留时间
uchar BUFF[12]; //缓存数组
uchar code disp[]; //字模数组
void delay()
{
 uchar i;
 for(i=0;i<50;i++);
}

void out_rxd(uchar x)   //从串口发送数据
{
 SBUF=x;
 while(TI==0);       //等待发送完毕
 TI=0;
}

//装载一线点阵数据
void loadline()
{
 uchar s;                      
 for(s=0;s<6;s++) //s为要显示的字数+1(显示4字+1=5)
 {
  BUFF[2*s]=disp[word+32*s+2*line];
  BUFF[2*s+1]=disp[word+1+32*s+2*line];
 }
}
//发送一线移动数据
void sendline()
{
 char s;

 uchar inc,temp,tempcol;

 if(move<8) inc=0;
 else inc=1;

 for(s=9+inc;s>=0+inc;s--)
 {
  if(move<8) tempcol=move;
  else tempcol=move-8;

  temp=(BUFF[s]<<tempcol)|(BUFF[s+1]>>(8-tempcol)); //字模左边字节左移tempcol位,
               //右边字节右移8-tempcol位,2者相或
  SBUF=temp;  //把BUFF中的字节从右到左移位、相或 后发送输出
  while(TI==0); //等待发送完毕 while(!TI);
  TI=0;
 }
}

void main()
{


 uchar sp;
 move=0;
 word=0;
             SCON=0;  //设置串口为工作方式0(同步通信方式,TxD输出同步脉冲)

 while(1)
 {
  while(word<288)  
  {
   while(move<16) //数据移位
   {
    for(sp=0;sp<speed;sp++) //移动速度
    { 
     for(line=0;line<16;line++) //行扫描
     {
      loadline(); //装载一线点阵数据
      sendline(); //发送一线移动数据

      SCAN=line; //显示第line行

      STCP=1;  //锁存为高,595锁存信号
      STCP=0;

      delay(); //延时,等待一段时间,产生视觉暂留
     }
    }
    move++;  //移动一步(一位)
   }
   move=0;
   word=word+32; //下一个字
            
               }
  
  if(word>=288) word=0; 
  }

}

uchar code disp[]={

 

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,  


 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//


0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//


0xE0,0x0F,0xEF,0xEF,0xE0,0x0F,0xEF,0xEF,0xE0,0x0F,0xFF,0xFF,0xC0,0x07,0xDF,0xFF,
0xD0,0x0F,0xDF,0xFB,0xC0,0x01,0xDA,0xF7,0xBB,0x6F,0xBB,0x9F,0x78,0xE1,0xFB,0xFB,//晨

0xFF,0xEF,0xC0,0x07,0xDF,0xEF,0xD7,0xAF,0xDB,0xAF,0xDD,0x6F,0xDD,0x6F,0xDE,0xEF,
0xDE,0xEF,0xDD,0x6F,0xDD,0x6F,0xDB,0xAF,0xD7,0xAF,0xCF,0xED,0xBF,0xF5,0x7F,0xF9,//风

0xFF,0xFF,0xFF,0xF7,0x80,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,
0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFF,0xFF,0xFF,0xFF,//工

0xF6,0xFF,0xF6,0xFF,0xF6,0xFB,0xEE,0x01,0xED,0x7F,0xCD,0x7F,0xAB,0x6F,0x67,0x07,
0xEF,0x7F,0xEF,0x7F,0xEF,0x77,0xEF,0x03,0xEF,0x7F,0xEF,0x7F,0xEF,0x7F,0xEF,0x7F,//作

0xFD,0xFF,0xFE,0xFF,0x80,0x01,0xBF,0xFD,0x7F,0xEB,0xC0,0x07,0xFB,0xFF,0xF7,0xDF,
0xE0,0x0F,0xFE,0xEF,0xFE,0xFF,0xE0,0x0F,0xFE,0xFF,0xFE,0xF7,0x80,0x03,0xFF,0xFF,//室
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

 

};

原创粉丝点击