74HC595

这里写图片描述
由真值表可以看出,我们在这里,当SER(串行数据输入端)是低电平的时候,并且SCK是上升沿的时候,并且SCLR(取非)是高电平的时候,数据输入端的值也就是低电平,同理当SER是高电平的时候,SCK是上升沿,SCLR(取非)是高电平的时候,数据输入端的值是高电平,这个就是我们需要去写的数据的方法,

再去看看那个RCK(数据输出时钟线),这个时钟线是用来使串行数据的数据并行输出的一个时钟线,当RCK是上升沿的时候,这里就直接通过8个并行口输出出去,当是下降沿的时候,这里就是寄存器保持所存状态,就是输出上一次的数据(锁存当前数据,输出上一次的数据,跟上一次的数据结果是一样的)

void my595_Out(void)//上升沿产生
{
    Duan_RCLK = 1;//数据输出时钟线
    _nop_();//这里需要1us左右的时间去等待它
    Duan_RCLK = 0;//数据输出时钟线
}

void SendData(unsigned char Byte)
{
    int i;
    for(i=0;i<8;i++)
    {
        Duan_SRCLK = 0;//
        Duan_SER = Byte&0x80;//这里我们是用来去将我们的数据一位位传给锁存器,所以这样传输
        Byte<<=1;
        Duan_SRCLK = 1;
    }

}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值