赞
踩
上篇文章中指出引脚13不是什么情况下都可以链接gnd的,在单片机复位时,到初始化等配置完成,这个时候时mcu对电路控制的真空期,这时候若13引脚若直连gnd,那么595默认输出高电平,这时候就需要评估595上电输出高电平是否会对项目产生影响。比如,若你控制的是一些柜门(高电平开门)上电时柜门会全打开显然不合理,此时13引脚OE需用IO控制并加上拉电阻,在让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;
- }
理论上595可以无限级联但需注意595在5v电压下的驱动能力为6ma。
工业现场也会受到外界的干扰,如交流接触器等;
级联的电路如果线束过长信号会产生衰减,产生时序问题。
当信号通过长线束传输时,导致电压下降;由于线束的电阻和电感,信号的波形可能会发生失真。
1. 使用更粗的导线:通过增加导线的截面积,可以降低线束的电阻和电感,从而减少信号传输时的电压下降、使用传输介质更好的线材。
2.使用屏蔽线束:屏蔽线束可以减少外界电磁干扰对信号传输的影响,从而提高信号的稳定性和可靠性。
3.调整信号驱动能力:如果线束过长导致信号下降严重,考虑增加信号源的驱动能力,以补偿信号传输过程中的损耗。
4.增加补偿电路: 在接收端添加补偿电路,如电压补偿电路或放大器,可以对信号进行补偿。
5.确定特性阻抗:首先需要确定线束的特性阻抗。根据线束材料和几何形状等参数,计算出特性阻抗值.安装终端匹配电阻:根据特性阻抗值选择合适的终端匹配电阻并安装在信号线的终端,以确保信号质量(这个需要自己多做几次实验);
6.时序优化:
考虑时钟频率,确保信号线能够满足时钟频率要求。
控制时钟上升/下降时间: 控制时钟信号的上升/下降时间,避免信号过渡过快导致反射和干扰。
增加电容:你可以通过在74HC595的时钟线上添加一个电容来延迟时钟信号的上升和下降时间,从而低时钟速度。
软件延时:在控制74HC595的代码中添加软件延时来减慢时钟速度,你可以在每次时钟脉冲之间插入适当的延时,以控制数据传输速度。
7.595对毛刺干扰特别敏感,若不是线束过长导致的问题可以尝试在595的第11,12,14脚接102电容到地。
8.线束建议不超过60cm。
参考文章:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。