极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4393|回复: 0

无事做的我分享Arduino16*16点阵

[复制链接]
发表于 2013-10-20 22:59:57 | 显示全部楼层 |阅读模式
http://v.youku.com/v_show/id_XNjI0MDEwMzY0.html
#define DS 2        
#define SHCP 3        
#define STCP 4      
#define AB 5  
#define CLK 6      

unsigned char date[32];               
unsigned char i=0,j=0;
  unsigned char code1[32]={//welcome
  0xAB,0xA3,0xAA,0xA4,0xAB,0xA4,0xAA,0x24,0xFB,0xBB,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x73,0xEF,0x8A,0xA8,0x8A,0xAF,0x8A,0xA8,0x72,0xAF,0x00,0x00};
  unsigned char code2[32]={//back
0x00,0x00,0x00,0x00,0x00,0x02,0xE0,0x02,0x90,0x02,0x93,0x1A,0x94,0xA3,0xF4,0xA2,
0x94,0xA2,0x94,0xA3,0x94,0xA2,0xE3,0xDA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  unsigned char code3[32]={//huan
0x00,0x80,0x00,0x80,0xFC,0x80,0x04,0xFC,0x45,0x04,0x46,0x48,0x28,0x40,0x28,0x40,
0x10,0x40,0x28,0x40,0x24,0xA0,0x44,0xA0,0x81,0x10,0x01,0x08,0x02,0x0E,0x0C,0x04};
unsigned char code4[32]={//ying
0x00,0x00,0x41,0x84,0x26,0x7E,0x14,0x44,0x04,0x44,0x04,0x44,0xF4,0x44,0x14,0xC4,
0x15,0x44,0x16,0x54,0x14,0x48,0x10,0x40,0x10,0x40,0x28,0x46,0x47,0xFC,0x00,0x00};
unsigned char code5[32]={//hui
0x00,0x00,0x00,0x04,0x7F,0xFE,0x40,0x04,0x40,0x44,0x47,0xE4,0x44,0x44,0x44,0x44,
0x44,0x44,0x44,0x44,0x47,0xC4,0x44,0x44,0x40,0x04,0x7F,0xFC,0x40,0x04,0x00,0x00};
unsigned char code6[32]={//lai
0x01,0x00,0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x21,0x10,0x19,0x30,0x09,0x44,
0xFF,0xFE,0x03,0x80,0x05,0x40,0x09,0x30,0x31,0x1E,0xC1,0x04,0x01,0x00,0x01,0x00};
unsigned char code7[32]={//zi
0x01,0x00,0x02,0x00,0x04,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,
0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10};

unsigned char code8[32]={//ran
0x10,0x20,0x10,0x20,0x10,0x28,0x1E,0x24,0x22,0x20,0x33,0xFE,0x4A,0x20,0xA4,0x50,
0x14,0x50,0x08,0x88,0x11,0x0E,0x22,0x04,0x40,0x00,0x24,0x48,0x24,0x46,0x40,0x02};
  unsigned char code9[32]={//zhi
0x02,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x7F,0xF8,0x00,0x10,0x00,0x20,0x00,0x40,
0x00,0x80,0x01,0x00,0x02,0x00,0x0C,0x00,0x30,0x00,0x48,0x06,0x07,0xFC,0x00,0x00};
unsigned char code10[32]={//dao
0x02,0x08,0x41,0x10,0x37,0xFC,0x10,0x80,0x01,0x08,0x03,0xFC,0xF2,0x08,0x13,0xF8,
0x12,0x08,0x12,0x08,0x13,0xF8,0x12,0x08,0x12,0x08,0x2B,0xF8,0x44,0x06,0x03,0xFC};

void setup(){
  pinMode(DS,OUTPUT);
  pinMode(STCP,OUTPUT);
  pinMode(SHCP,OUTPUT);
  pinMode(CLK,OUTPUT);
  pinMode(AB,OUTPUT);
}

void loop( )
{


                for(i=0;i<32;i++)
                        date[i]=code1[i];
                display_time(1);        

                for(i=0;i<32;i++)
                        date[i]=code2[i];
                display_time(1);      

                for(i=0;i<32;i++)
                        date[i]=code3[i];
                display_time(1);     

                for(i=0;i<32;i++)
                        date[i]=code4[i];
                display_time(1);      
  for(i=0;i<32;i++)
                        date[i]=code5[i];
                display_time(1);      

                for(i=0;i<32;i++)
                        date[i]=code6[i];
                display_time(1);        

                for(i=0;i<32;i++)
                        date[i]=code7[i];
                display_time(1);      

                for(i=0;i<32;i++)
                        date[i]=code8[i];
                display_time(1);      
    for(i=0;i<32;i++)
                        date[i]=code9[i];
                display_time(1);      

                for(i=0;i<32;i++)
                        date[i]=code10[i];
                display_time(1);        

}


void display()
{        
        unsigned char i,ia,j,tmp;               
        digitalWrite(AB,LOW);                                                      
        for(i=0;i<16;i++)                           
        {               
      digitalWrite(CLK,LOW);              
    digitalWrite(STCP,LOW);                              
                           
     for(ia=2;ia>0;)                     
    {        
      ia--;                                /
      tmp=~date[i*2+ia];
      

      shiftOut(DS,SHCP,LSBFIRST,tmp);

    }                                       
    digitalWrite(CLK,HIGH);
    digitalWrite(STCP,HIGH);
    digitalWrite(AB,HIGH);
                                            
        }                                                                  
        j=64;
        while(j--);               
       digitalWrite(CLK,LOW);                        
    digitalWrite(CLK,HIGH);                    /
}

&#8203;
void display_time(unsigned int timer)      
{
  unsigned char i;        
  while(timer--)
        {               
                i=13000;               
                while(i--)
                        display();
        }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 14:52 , Processed in 0.034823 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表