74HC595的使用

介绍

  74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7’输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。
  其实595不一定支持三态输出。针对自己的应用,确定下自己需要输出哪些状态。需不需要输出高电平。比如这款就可以输出高电平、低电平、高阻态:
在这里插入图片描述
但是这款就只能输出低电平、高阻态:
在这里插入图片描述
别像我一样,被坑了一次。

引脚

在这里插入图片描述

真值表
在这里插入图片描述

内部逻辑图

在这里插入图片描述
从逻辑图可以得到几个信息:
1、拉低SCLR(10脚)会复位移位寄存器,值全为0。正常工作时应该拉高。
2、移位寄存器有8位,SCK(11脚)给一个上升沿,移位寄存器就会往前移动1位。比如此时状态为
在这里插入图片描述
SI(14脚)为低电平,OH(9脚)为高电平,则SCK(11脚)来一个上升沿,就会变为:
在这里插入图片描述
3、移位寄存器中的8位值不会影响输出引脚状态,输出引脚的状态是由存储寄存器中的8位值决定的,给RCK(12引脚)一个上升沿,移位寄存器中的8位值才会赋值给存储寄存器。假如要让QA~QH输出(1,0,0,1, 0,1,1,0),要首先控制SI、SCK把值赋给移位寄存器,最后给RCK一个上升沿,值才真正输出。
4、G(13脚)是输出控制脚,拉高QA~QH会输出高阻态,拉低才会输出有效值。

时序图

在这里插入图片描述
从时序图可以知道74HC595的使用流程为:
1、拉高SCLR(10脚)。如果不用,设计原理图时可以直接拉高。
2、控制SI(14引脚)、SCK(11脚)把移位寄存器的值赋好(使用8个上升沿)。
3、给RCK(12引脚)一个上升沿。
4、拉低G(13脚)。

给个参考程序:

/**********************************************************************************************************
*	函 数 名:HC595_Out1Byte
*	功能说明:HC595输出一个字节
*	形    参:
*	返 回 值:
**********************************************************************************************************/ 
void HC595_Out1Byte(uint8_t dat)
{
	unsigned char i; 
        
	HC595_LATCH_LOW();           
	Delay_us(1); 
	for(i=0;i<8;i++)
    {
       	HC595_SRCLK_LOW();	    //先将串行时钟输入端SRCLK置成低电平
		Delay_us(1);
		if(dat&0x80)
			HC595_SER_HIGH();	//每次只取一位
		else
			HC595_SER_LOW();
       	dat<<=1;	            //每次只取一位进行左移
       	HC595_SRCLK_HIGH();	    //数据在串行时钟输入端SRCLK的上升沿输入到移位寄存器中
		Delay_us(1);            //空指令
    }
	
	HC595_LATCH_HIGH();         //LATCH上升沿并行数据输出	
	Delay_us(1); 
	HC595_LATCH_LOW();  
}

常见的原理图
在这里插入图片描述

级联使用

把前一个的OH(9脚)接到下一个的SI(11脚)就可以级联使用了。
在这里插入图片描述

  • 11
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【ql君】qlexcel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值