位的话还得自己写程序实现,没有直接实现循环移位的语句的,我刚做过74ls595的,这两个芯片应该完全一样的吧,都是实现串转并,你参考一下吧,程序是控制数码管0到9循环显示,电路如图
#include
sbit sclk=P2^0;
sbit sda=P2^1;
sbit slck=P2^2;
int tab[10]=;
void delay()
{
int i,j;
for(i=0;i<255;i++)
for(j=0;j<80;j++);
}
void bit_dat(bit i)
{ sclk=0;
sda=i;
sclk=1;
}
void dat(char i)
{
slck=0;
bit_dat((bit)(tab[i]&0x80));
bit_dat((bit)(tab[i]&0x40));
bit_dat((bit)(tab[i]&0x20));
bit_dat((bit)(tab[i]&0x10));
bit_dat((bit)(tab[i]&0x08));
bit_dat((bit)(tab[i]&0x04));
bit_dat((bit)(tab[i]&0x02));
bit_dat((bit)(tab[i]&0x01));
slck=1;
}
main()
{ int i;
while(1)
{
for(i=0;i<10;i++)
{dat(i);
delay();
}
i=0;
}
}
联系我
这个还要看你用的什么数码管这个很简单的!
参考:
http://zhidao.baidu.com/question/173259266.html