展开全部
移位输入的
用三个口,控制16个,而且还可以连接另外的74hc595
void in(unsigned char Data)//串行数据输入
{
unsigned char i;
for(i = 0; i < 8; i++)
{
srclk= 0; //CLOCK_MAX=100MHz
ser = Data & 0x80;
Data <<= 1;
srclk= 1;
}
}
void out(void)//并行数据输出
rclk= 0;
rclk= 1;
}
如果要在程序中用的话,假设用同时根据电路给16个io口赋值的话,那么就这么用
in(0x80);
in(0xff);
out();
用三个口,控制16个,而且还可以连接另外的74hc595
void in(unsigned char Data)//串行数据输入
{
unsigned char i;
for(i = 0; i < 8; i++)
{
srclk= 0; //CLOCK_MAX=100MHz
ser = Data & 0x80;
Data <<= 1;
srclk= 1;
}
}
void out(void)//并行数据输出
rclk= 0;
rclk= 1;
}
如果要在程序中用的话,假设用同时根据电路给16个io口赋值的话,那么就这么用
in(0x80);
in(0xff);
out();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询