一次调试公司新改的单片机板,用3个74HC595级联驱动24个LED灯(见下图)发现每当驱动信号跨过第一个芯片时,LED灯就会出错乱闪,当时以为是程序问题但是参考了原来老板子程序,在LED灯驱动方面程序并没有改动。于是找了块老板子调试发现原来的板子也存在同样问题,不知道原来的板子是没人发现问题还是没找到办法解决?(呵呵!公司内部的事情在此就不讨论了)
既然发现了问题作为一个技术人员当然就不能置之不理啦!于是偶就打开了百度输入74HC595级联问题,发现74HC595级联还真是问题网上也有不少人反映遇到过同样的问题,有用来驱动数码管的有用来驱动LED显示屏的都说级联后会乱闪,有说法是干扰引起的得在芯片电源脚加滤波电容,看看我的板子每个芯片电源脚都加了滤波电容啊!应该不是干扰引起的。再看一贴说是单片机驱动电流不够的原因得加上拉电阻,说用示波器看RCK和SCK的信号,上升沿时是爬行上升的,单片机驱动电流不够导致输入时钟信号失真,有可能-看看自己的板子DATA、RCK、SCK管脚均没加上拉电阻,于是加了个10K的上拉电阻再调-不行,换个5K的再调-还不行,再换个1K的再调-OK!:-)驱动信号跨芯片时LED灯再也不会乱闪了,至此LED灯乱闪问题得到圆满解决,剩下的就是改PCB图加上拉电阻了。
回头来总结一下,74HC595级联理论上来说并没有问题,但实际应用过程中往往会遇到驱动能力、时延等问题,正验证了“实践才是检验真理的唯一标准”。书本上的知识终究只是纸上谈兵没经过实践的检验终究是行不通的。以后在设计单片机系统时一定要考虑单片机管脚的驱动能力,能避免设计过程中产生许多莫名奇妙的问题。
新手第一次发帖参与请高手多包涵啊!发得有点迟但我想迟到总比不到好但愿版主能够看到。“一个苹果交换一个苹果,每个人还是只有一个苹果。而如果一个思想去交换另一个思想,则就可以获得两个思想。” 但愿大家都能够得到两个思想o(∩_∩)o... |