TM1640调试时的异常问题

TM1640调试时的异常问题

最近一直在使用STC8A8K64S4A12做几个产品,一直处于调试阶段。调试了lx12864i的液晶屏,COD段码屏,这些都是使用STC8A8K64S4A12芯片的IO口直接驱动显示终端的io口,电源有usb充电接口提供,在调试过程及仿真过程中均正常。调试最后一个产品,用TM1640驱动16位数码管时,出现问题了,TM1640单个笔段驱动能够正常运行,但是当驱动多个笔段显示时,出现了异常,仿真查找问题时出现以下问题:
在这里插入图片描述
重新断电,再次仿真进入这个地方依然会调试上面这个问题。
首先,怀疑是不是TM1640驱动数码管太多了,电流大了,可能USB电源功率不够,更换了功率大一些的,还是不行;
其次,核对TM1640驱动程序,一个段一个的显示能够正常,说明TM1640的驱动程序是正确的。问题也不在TM1640驱动程序,
最后,怀疑程序溢出,导致运行出错,程序单独抠出来,到最间结构,进行调试和测试,问题依据。一度奔溃。
再次判定是硬件问题,而非软件问题,查阅了TM1640的资料,SDA,SCK上拉10k,下接100PF电容,我硬件电路上没有【事实上前面做其他项目类似芯片也没有加,应该不是这个问题,但为了排除问题,还是加了这些器件,问题依旧】
最后,百般无奈之下准备投降,无解啊。拿着个线路板发呆,发现TM1640的电源引脚出没有加滤波电容,抱着试试的态度,加了个104电容,同样的程序,运行正常。
至此,我后悔莫及呀,只是以为调试样板,为了简单,就没有焊接这些滤波电容,最后差点阴沟里翻船,栽了。偷一时之懒,花费数倍时间调试,不值。以此为戒,切记。
2021.4.17 J

猜你喜欢

转载自blog.csdn.net/cjmsea/article/details/115794081
tm