74hc595级联双色点阵消影问题,请高手帮忙.以下是程序:

#include <reg52.H>#include <intrins.H>#define uchar unsigned char#define uint unsigned intsbit stcp=P1^0;sbit shcp=P1^1;sbit ds=P1^2;sbit stcp_vcc=P0^0;sbit shcp_vcc=P0^1;sbit ds_vcc=P0^2;
void sh595vcc(uchar l){ uchar k,num; num=l; for(k=0;k<8;k++) { shcp_vcc=0; ds_vcc=num&0x80; num<<=1; shcp_vcc=1; } stcp_vcc=0; _nop_(); _nop_(); stcp_vcc=1;}
void sh595(uchar h){ uchar k,num; num=h; for(k=0;k<8;k++) { shcp=0; ds=num&0x80; num<<=1; shcp=1; }}
void out595(){ stcp=0; //_nop_(); //_nop_(); stcp=1;}void send2byte(uchar dat1,uchar dat2){ sh595(dat1); sh595(dat2); }
void delayms(uint i)//延时函数{ unsigned int j; for(;i>0;i--) for(j=100;j>0;j--);}
void main(){ uchar i; while(1) { for(i=0;i<8;i++) { sh595vcc(0x08); send2byte(~0x08,0xff);out595(); delayms(10); send2byte(0xff,0xff);out595(); delayms(10); } }}

运行结果如上图
如果不要 send2byte(0xff,0xff);out595();这句的运行结果如下图

请高手帮忙解决一下这是什么问题;
以下是电路图

可能是太亮了,适当串接电阻,限制流过LED的电流。或者类似跑马灯轮询方式控制,
不要一直停留在同一点上。追问

我试过点亮4个角也是一样的.动态扫描就会出现,静态就不会出现这种情况..

温馨提示:答案为网友推荐,仅供参考
相似回答