为什么我的16X48点阵 总是不能稳定。... 延时调了又调。
会不会我这种思路就不行?行扫描列扫描全部都用595
16X32点阵是没问题,延时设置500us 左右都可以,可是16X48 怎么设置延时都不行。。。
这是我的部分程序:
zi3()
{
uint h,a,b,c=0,k=0,p=0,y;uchar j=0;
SH=0;ST=1;
for(a=0;a<(16*zishu2);a++) //控制滚动次数
{ for(p=0;p<1;p++)
{
for(j=0;j<48;j++)//循环数值为LED灯数
{ temp=SS2[y];y++;
WR_595(8);
temp=SS2[y];y++;
WR_595(8);
temp=SS2[y];y++;
WR_595(8);
temp=SS2[y];y++;
WR_595(8);
temp=SS2[y];y++;
WR_595(8);
temp=SS2[y];y++;
WR_595(8);//一个8X8 输入一次8位
OUT_595();
for(h=0;h<2;h++)
{ temp1=DAT2[k] ;
k++;
WR_1(8) ;
}
b++;
if(b==48){b=0;k=c;}//b值为LED灯数
OUT_1() ;
delay2();
if(y==(48*6))y=0;//数组内总的个数
}
}
k=k+2;c=c+2; }
}
|