LED点阵屏只能一次亮一列

#include
#include
sbit sjw=P3^4;//数据位
sbit yw=P3^6;//移位
sbit cs=P3^5;//传送
void _74hc595(unsigned char Byte)
{
int i;
for(i=0;i<8;i++)
{
sjw=Byte&(0x80>>i);
yw=1;
yw=0;
}
cs=1;
cs=0;

}
void Delay(unsigned int xms) //@11.0592MHz
{
while(xms)
{
unsigned char i, j;

_nop_();
i = 2;
j = 199;
do
{
    while (--j);
} while (--i);

}
xms--;
}
void LED8x8(unsigned char col,Data)
{

_74hc595(Data);
 P0=~(0x80>>col);
Delay(1);
P0=0xFF;

}

void main()
{
yw=0;
cs=0;
while(1)
{
LED8x8(0,0x3C);
LED8x8(1,0x42);
LED8x8(2,0xA9);
LED8x8(3,0x85);
LED8x8(4,0x85);
LED8x8(5,0xA9);
LED8x8(6,0x42);
LED8x8(7,0x3C);
}
}

大部分点阵屏一次都只可以亮一列的,需要快速的扫描他们,快到肉眼无法识别就好了