求一个C语言程序,5个74hc595级联驱动40个LED跑马灯的简易程序
答案:1 悬赏:10 手机版
解决时间 2021-03-11 02:08
- 提问者网友:趣果有间
- 2021-03-10 16:25
求一个C语言程序,5个74hc595级联驱动40个LED跑马灯的简易程序
最佳答案
- 五星知识达人网友:三千妖杀
- 2021-03-10 17:26
40个LED其实可以把LED做成矩阵方式连接,就没必要用5片595驱动了啊,你这样感觉硬件电路有点累赘。不过呢你这样做呢程序简单点,是吧。
手上只有2片联级使用的,给你个参考吧,有问题再说
//**********************************
//写595两个字节 行数据
//*****data_A为高字节,data_B是低字节
void WRITER_595A(data_A,data_B)
{
uint i,n;
// data1=datt; //赋值显示数据
for(i=0;i<8;i++) //写入第一字节
{
n=data_A & 0x80;
if(n==0x80)
LS595_DATA_A=1;
else
LS595_DATA_A=0;
LS595_CLOK_A=0;
LS595_CLOK_A=1;
data_A=data_A<<1;
}
for(i=0;i<8;i++) //写入第二字节
{
n=data_B & 0x80;
if(n==0x80)
LS595_DATA_A=1;
else
LS595_DATA_A=0;
LS595_CLOK_A=0;
LS595_CLOK_A=1;
data_B=data_B<<1;
}
LS595_SCLK_A=0;
LS595_SCLK_A=1;
LS595_SCLK_A=0;
}
手上只有2片联级使用的,给你个参考吧,有问题再说
//**********************************
//写595两个字节 行数据
//*****data_A为高字节,data_B是低字节
void WRITER_595A(data_A,data_B)
{
uint i,n;
// data1=datt; //赋值显示数据
for(i=0;i<8;i++) //写入第一字节
{
n=data_A & 0x80;
if(n==0x80)
LS595_DATA_A=1;
else
LS595_DATA_A=0;
LS595_CLOK_A=0;
LS595_CLOK_A=1;
data_A=data_A<<1;
}
for(i=0;i<8;i++) //写入第二字节
{
n=data_B & 0x80;
if(n==0x80)
LS595_DATA_A=1;
else
LS595_DATA_A=0;
LS595_CLOK_A=0;
LS595_CLOK_A=1;
data_B=data_B<<1;
}
LS595_SCLK_A=0;
LS595_SCLK_A=1;
LS595_SCLK_A=0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯