HC595
如何用一个HC595做流水灯,我是初学者,请各位大神指点一下。最好有代码来看一下,多谢了。这个网上很多的呀,建议先看595数据手册。。。 你的 595 是怎么接的?595 可以作为 SPI 从设备用,也可以直接操纵 GPIO。如果接成 SPI 从设备的话,直接向 SPI 写字节就可以了。GPIO 的话那照着数据手册里面的时序操纵 I/O。
void LED_HC595(void)
{
//volatile unsigned char LED_data=0x0f;
volatile unsigned char LED_data={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
//数据传输//
unsigned char c,b,num;
num= LED_data;
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);
}
} void main()
{
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);
}
} 各位大神帮忙看一下,这个程序做流水灯有什么问题 maxtch 发表于 2019-8-8 01:45
你的 595 是怎么接的?595 可以作为 SPI 从设备用,也可以直接操纵 GPIO。如果接成 SPI 从设备的话,直接向 ...
我发了一个程序上来,麻烦大哥有时间帮忙看一下哪里出问题 zcl201207 发表于 2019-8-7 21:58
这个网上很多的呀,建议先看595数据手册。。。
我发了一个程序上来,麻烦大哥有时间帮忙看一下哪里出问题 给你一个参考程序
#define nop _nop_
sbit RCLK1=P1^2;//控制位信号
sbit DAT=P1^5; //数据输出
sbit SRCLK=P1^4;//左移时钟
sbit ENC=P1^3; //芯片使能
//发送字节
void SendByte(uchar num)
{
uchari;
for(i=0;i<8;i++)
{
SRCLK=0;
DAT=num&0x80;
num=num<<1;
SRCLK=1;
}
}
//输出控制信号
void OutCtrl595(void)
{
RCLK1=0;
nop();
RCLK1=1;
}