级联怎么编程,我这推送过去都还是8个一组同时独立运行,。怎么让3个595一起执行1个595的指令。同图中这样的效果,程序该怎么修改
#include<reg52.h>
#include <intrins.h>
#include"delay.h"
#define nop() _nop_()
sbit shcp =P2^0;
sbit ds =P2^1;
sbit stcp =P2^2;
void LED595(unsigned int date);
unsigned char i,j,z,k;
void main() //主函数
{
while(1)
{
for(j=8;j>0;j--)
for(i=0;i<j;i++)
{
led595(0x01<<i);
delayxms(200);}
}
}
void led595(unsigned int date) //往595输送数据函数
{
for(k=0;k<8;k++)
{
if((date<<k)&0x80)
ds=1;
else
ds=0;
shcp=0;
nop();
nop();
shcp=1;
}
stcp=0;
nop();
nop();
stcp=1;
}
|