你的这个不是乱码就有问题了!~
你仔细理解一下这段
void wr595(uchar dat)
{
uchar a;
for(a=8;a>0;a--)
{
SH_CP=0;
DS=dat&0x80;
dat<<=1;
SH_CP=1;
_nop_();
_nop_();
SH_CP=0;
_nop_();
_nop_();
SH_CP=1;
}
}
你的for循环是有问题的
以为你的每个字节移了多次
所以就乱码了
void wr595(uchar dat)
{
uchar a;
for(a=8;a>0;a--)
{
SH_CP=0;
DS=dat&0x80;
dat<<=1;
SH_CP=1;
_nop_();
_nop_();
}
}
你看看下面的
去掉一个
注意数码管共阴还是共阳