我的板子要过群脉冲,能不能使用SN74HC595

发布网友 发布时间:2022-04-24 04:47

我来回答

1个回答

热心网友 时间:2023-10-29 11:55

这个,首先根据595的数据手册把各个管脚处理好,之后写595驱动程序程序思路如下:
1,首先拉低存储器时钟输入,
2,之后拉低移位寄存器时钟输入,
3,之后由高位开始片段数据位1或0从数据线移入一位
4,之后拉高一位寄存器始终输入管脚,
5,如此循,2,3,4直到8位数据全部移入
6,拉高存储器时钟输入引脚
一个数据显示完成
程序例程:(仅供参考)
#define u8 unsigned char
#define u16 unsigned int
sbit MR=P1^6; //寄存器清0,避免数据错位
sbit RCK=P1^5; //并行输出时钟
sbit DS=P1^4; //数据线
sbit CLK=P1^3; //移位输入时钟
void writ_595(u8 dat)
{
u8 i;
MR=0; //寄存器清0,避免数据错位
MR=1;
for(i=0;i<8;i++)
{
CLK=0;
if((dat0x80) == 0x80)
DS = 1; //串行数据输入
else
DS = 0;
CLK=1; //移位输入时钟,上升沿输入
dat<<=1;
}
RCK=0; //并行输出时钟
RCK=1;
}
该子函数可以直接调用,比如writ_595(0xfe);Q0-Q7脚则输出对应的二进制码

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com