如何用1个HC595做流水灯,我是初学者,请各位大神指点一下
{
unsigned char a;
disableInterrupts();
CLK_Configuration();
GPIO_Configuration();
TIME2_Init();
enableInterrupts();
while(1)
{
//KEY_Demo();
//KEY_Demo2();
//KEY_Demo1();
for(a=0;a<8;a++)
{
LED_HC595( );
}
delay_ms(100);
}
}
{
//volatile unsigned char LED_data=0x0f;
volatile unsigned char LED_data[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
//数据传输//
unsigned char c,b,num;
num= LED_data[8];
for(b=0;b<8;b++)
delay_ms(100);
{
CLR_HC595_RCK;
delay_us(500);
for(c=0;c<8;c++)
{
CLR_HC595_SCK;
delay_us(500);
if((num&0x80)==0x80)
SET_HC595_DS;
else
CLR_HC595_DS;
delay_us(500);
num<<=1;
SET_HC595_SCK;
delay_us(500);
}
SET_HC595_RCK;
delay_us(500);
}
}
{
volatile unsigned char LED_data[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
unsigned char c,b,num;
//数据传输//
for(b=0;b<8;b++)
{
delay_us(5);
num= LED_data[b];
CLR_HC595_RCK;
delay_us(5);
for(c=0;c<8;c++)
{
CLR_HC595_SCK;
delay_us(5);
if(num&0x80)
SET_HC595_DS;
else
CLR_HC595_DS;
delay_us(5);
num <<= 1;
SET_HC595_SCK;
delay_us(5);
}
SET_HC595_RCK;
delay_us(5);
}
}
评分
查看全部评分
已经解决问题了,感谢兄弟的回复