天健装饰材料城老板:595级连的led点阵程序 - mingrihuiyi的日志 - 网易博客

来源:百度文库 编辑:偶看新闻 时间:2024/05/06 13:45:25
理图:16×64单色点阵参考程序:#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={
0xEF,0xFF,0xCF,0xFF,0xEF,0xFF,0x07,0xC0,0xF7,0xEF,0x7B,0xF7,0x7D,0xFB,0x7E,0xFF,
0xBF,0xFE,0xBF,0xFE,0xDF,0xFD,0xDF,0xFD,0xEF,0xF3,0xF3,0x87,0xFC,0xEF,0xFF,0xFF,//欠0
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0x01,0x80,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//一1
0x7F,0xFF,0x7F,0xFF,0xBF,0xFE,0xBF,0xFD,0xDF,0xFB,0x6F,0xE7,0x77,0x8F,0x79,0xDF,
0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0xFF,0xFF,//个2
0x7F,0xFF,0x7F,0xFE,0x61,0xFF,0x6D,0x80,0xAD,0xB5,0xAD,0xB5,0xCD,0xB6,0xED,0xB6,
0x6D,0xBB,0x61,0xBB,0xBD,0xBD,0xDF,0xBD,0xFF,0xBE,0x7F,0xDF,0x9F,0xD7,0xFF,0xEF,//吻3
};
sbit DS=P3^0;      //74HC595的数据串行输入端口
sbit ST=P3^5;      //74HC595并行输出使能
sbit SH=P3^1;      //74HC595移位寄存器移位使能
sbit G=P3^6;
//******延时子程序******//
void delay(uint a)  
{
   uint i,j;
   for(i=0;i       for(j=0;j<4;j++);
}
/*将1个字节数据送到74HC595的移位寄存器,但未输出*/
void SendByte(uchar date)  
{
uchar i;
for(i=0;i<8;i++)
   {
SH=0;
if(date&0x80)   //将date最高位移到74HC595的移位寄存器
DS=1;
else
DS=0;
SH=1;     //SH上升沿时移位
date=date<<1;   //左移一位,将送出第二位数据
}
}
void main(void)
{
uchar k,t,j;
uchar i;
while(1)
{
   G=1;
   for(k=0;k<=0;k++)         //翻动的屏数
   {
     for(t=0;t<=200;t++)     //翻动速度
        {
          for(i=0,j=0;i<16;i++,j+=2)   //扫描
             {
      SendByte(table[64*k+j+97]);
              SendByte(table[64*k+j+96]);
     SendByte(table[64*k+j+65]);
     SendByte(table[64*k+j+64]);
     SendByte(table[64*k+j+33]);
              SendByte(table[64*k+j+32]);
            SendByte(table[64*k+j+1]);
           SendByte(table[64*k+j]);
              ST=0;
     G=0;
     P1=i;     
     ST=1;
              delay(30);
     G=1;
              }
        }
       }
}
}