STC单片机上电程序不运行原因及解决办法

最近使用STC8F2K16S2单片做了一个小东西,由于是在已有的产品上移植的电路和程序,所以没有做太多测试,直接打板贴片。板子回来后,外接5V电源上电测试,调试程序没有问题,没有问题,打包发货。两天之后,打电话打过来问题出来了,系统上电10次能有5-6次,指示灯不亮,按键不好使,板子功能失效。经过半天的分析发现是程序不运行。测试程序为写个点灯程序,上电LED灯闪烁。实测结果,LED灯不亮。所以确定芯片没有运行。

解决方案1

推测电源不稳定上电有干扰,拿示波器抓取波形如下图所示。上电瞬间有个脉冲干扰,LDO工作的时候有个过冲。

 

STC单片机上电程序不运行原因及解决办法_第1张图片

为了抑制尖脉冲和过冲,输入电源并接1000uF电容,串接39R电阻,并接100nF瓷片电容,3脚并接SMAj6.5CATVS。然后上电测试,结果还是有死机现象。说明不是电源引起的问题。

解决方案2

给STC技术支持打电话,说明了现象,技术支持给我的答复是:检查P3.0、P3.1、P3.2引脚是否都接低了,如果接低,上电芯片就会进入烧录模式,看下电路图。

STC单片机上电程序不运行原因及解决办法_第2张图片

 BK1 和BK2 接到ulN2003上 是被拉低了,所以我的方案真是凑巧满足这个条件了,所以将BK2接到VCC上,上电在测试,程序能正常运行,解决问题。

你可能感兴趣的:(单片机)