74HC595实战篇

1.74hc595的级联电路

上篇文章中指出引脚13不是什么情况下都可以链接gnd的,在单片机复位时,到初始化等配置完成,这个时候时mcu对电路控制的真空期,这时候若13引脚若直连gnd,那么595默认输出高电平,这时候就需要评估595上电输出高电平是否会对项目产生影响。比如,若你控制的是一些柜门(高电平开门)上电时柜门会全打开显然不合理,此时13引脚OE需用IO控制并加上拉电阻,在让595在不受控制时输出高阻态。

2.595的输出函数

原理参考上一篇文章中的:4.595的工作和使用流程。

/****************************************************************************
* 名称:HC595_INIT()
* 功能:595初始化函数
* 入口参数:无
* 出口参数:无
****************************************************************************/
	void HC595_INIT()
	{
        OE_L=1;//使能关闭
		SCK_L=0;
		RCK_L=0;
    }



/****************************************************************************
* 名称:HC595_In_L
* 功能:595输入函数
* 入口参数:j:
* 出口参数:无
* 说明:完成一个字节8位的输入,数据进入595存储寄存器
****************************************************************************/
void HC595_In_L(unsigned char j)   //完成一个字节8位的输入 
{
	int i;   
	for(i=0;i<8;i++)   
	{     
                if((j<<i)&0x80)//只取最高位
                {
                        DATA_DS_L=1;      
                }
                else
                {
                        DATA_DS_L=0;
                }
								SCK_L=0;    //上升沿
                CLK_SysTickLongDelay(10);   //延时10us
								SCK_L=1; 
                CLK_SysTickLongDelay(10);  //延时10us
	}    
}

/****************************************************************************
* 名称:HC595_Out_L
* 功能:595输出函数
* 入口参数:无
* 出口参数:无
* 说明:完成并出数据功能,寄存器中的数据被输出
****************************************************************************/
void HC595_Out_L(void)      //完成并出数据功能
{ 
	OE_L =0;    //使能输出,不使用OE引脚就注释掉
	RCK_L=0;    //上升沿
	CLK_SysTickLongDelay(10);//延时10us
	RCK_L=1; 
}

3.可能的问题

 理论上595可以无限级联但需注意595在5v电压下的驱动能力为6ma。

工业现场也会受到外界的干扰,如交流接触器等;

级联的电路如果线束过长信号会产生衰减,产生时序问题。

当信号通过长线束传输时,导致电压下降;由于线束的电阻和电感,信号的波形可能会发生失真

在单步调试时,信号的传输速度较慢,因此电压下降的影响相对较小,可能不容易被察觉。
解决办法(仅供参考):

1. 使用更粗的导线:通过增加导线的截面积,可以降低线束的电阻和电感,从而减少信号传输时的电压下降、使用传输介质更好的线材

2.使用屏蔽线束:屏蔽线束可以减少外界电磁干扰对信号传输的影响,从而提高信号的稳定性和可靠性。

3.调整信号驱动能力:如果线束过长导致信号下降严重,考虑增加信号源的驱动能力,以补偿信号传输过程中的损耗。

4.增加补偿电路: 在接收端添加补偿电路,如电压补偿电路或放大器,可以对信号进行补偿。

5.确定特性阻抗:首先需要确定线束的特性阻抗。根据线束材料和几何形状等参数,计算出特性阻抗值.安装终端匹配电阻:根据特性阻抗值选择合适的终端匹配电阻并安装在信号线的终端,以确保信号质量(这个需要自己多做几次实验);

6.时序优化:
考虑时钟频率,确保信号线能够满足时钟频率要求。
控制时钟上升/下降时间: 控制时钟信号的上升/下降时间,避免信号过渡过快导致反射和干扰。

增加电容:你可以通过在74HC595的时钟线上添加一个电容来延迟时钟信号的上升和下降时间,从而低时钟速度。

软件延时:在控制74HC595的代码中添加软件延时来减慢时钟速度,你可以在每次时钟脉冲之间插入适当的延时,以控制数据传输速度。

7.595对毛刺干扰特别敏感,若不是线束过长导致的问题可以尝试在595的第11,12,14脚接102电容到地。

8.线束建议不超过60cm

参考文章:

74HC595级联介绍篇(一)_壹二叁的博客-CSDN博客

74HC595级联电路篇(二)_壹二叁的博客-CSDN博客

74HC595级联电路编程篇(三)_hc595 连级_壹二叁的博客-CSDN博客

74HC595级联电路编程篇(四)_sn74hc595 spi控制程序_壹二叁的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值