关于STC单片机“假死”状态的判别和处理方法

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于STC单片机“假死”状态的判别和处理方法相关的知识,希望对你有一定的参考价值。

关于STC单片机“假死”状态的判别和处理方法


  • 申明这里不是来黑STC单片机的。

今天在测试程序过程中发现,我的STC8G2K64S4开发板突然就烧录不进去程序了,刚刚还烧录一切正常的,突然之间就烧录不进去程序了,串口能识别到,通过ISP软件不管板子冷启动就是检测不到单片机,串口号是有的,单片机不可能这么弱不禁风就牺牲了吧,没有做任何的物理操作,烧个程序也能烧坏单片机那也不至于。

今天打开STC-ISP 烧录软件,提示有新版本,升级了版本v6.90

原因分析

至于为什么STC ISP软件识别不到芯片,以下是我的个人观点:

  1. 在IO口操作上,使用了外部晶振引脚作为输入或输出引脚,在单片机开发过程中尽量避免使用晶振引脚,这里仅只使用外部晶振的情况下,因为有些型号是内部提供晶振的。
  2. 确实是在STC ISP工具那里点到了下面的选项。(选择不同的型号单片机,这里显示短接接地的引脚不一定是P1.0、P1.1有可能是P3.2、P3.3)

STC-ISPV6.88J版本,旧版

  • stc-isp-v6.90版本,目前最新款,遇到的第一件囧事。

stc-isp-v6.90版本,选择的是STC8G2K64S4,我敢肯定我是不可能去勾选上面的选项,因为之前我遇到过这个情况,下载时点中了“下次冷启动时,P3.2/P3.3为0/0才可下载程序”,因为在之前我是烧录了几遍程序进行测试过的,是突然间就这样出现假死,识别不到的情况。

首先我要纠正STC-ISP这里的一个错误:针对STC8G型号的单片机,这里显示的“下次冷启动时,P3.2/P3.3为0/0才可下载程序”实际上应该是:像STC89型号的单片机一样,“下次冷启动时,P1.0/P1.1为0/0才可下载程序”.至于为什么我能发现这个问题,在此之前记录过一些采坑经验。针对不同的单片机型号短接的IO引脚有些差异,这里针对STC8G2K64S4型号单片机,STC-ISP软件提供的参考信息这里是有问题的,需要注意这点。我是尝试了短接P3.2/P3.3到地无果后,再尝试短接P1.0/P1.1到地有反应才发现的。

去年发表过一篇关于STC烧录的文章;

在该篇文章中看到这张图片:

在尝试按照STC-ISP对应型号的下次冷启动时,P3.2/P3.3为0/0才可下载程序”,选项操作并没有成功,才尝试使用之前的“下次冷启动时,P1.0/P1.1为0/0才可下载程序”按照此接法,点击检测MCU,立马看到有串口指示灯在闪烁了,并成功检测到单片机型号。

单片机假死判断

如果知道单片机里面烧录了什么程序,如果有IO口状态的,可以去测量对应的IO口状态是否正常。如果IO正常,那可以肯定单片机没有坏,只是ISP检测不到单片机。

以上是关于关于STC单片机“假死”状态的判别和处理方法的主要内容,如果未能解决你的问题,请参考以下文章

求助:很急!关于STC 8位单片机上电后,无法进入串口接收中断的问题

关于STC单片机的内存管理

STC单片机单击双击长按状态机程序

关于stc单片机做LED点亮和灭的时间控制程序问题?

STC单片机开漏模式问题

STC单片机通过ADC分段采样读按键实现方法