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

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


  • ✨申明这里不是来黑STC单片机的。就目前STC单片机IAP自检方式来讲,依赖于串口,部分支持HID模式烧录。

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

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

原因分析

至于为什么STC ISP软件识别不到芯片,以下是我的个人观点:
  1. 在IO口操作上,使用了外部晶振引脚作为输入或输出引脚,在单片机开发过程中尽量避免使用晶振引脚,这里仅只使用外部晶振的情况下,因为有些型号是内部提供晶振的。
  2. 确实是在STC ISP工具那里点到了下面的选项。(选择不同的型号单片机,这里显示短接接地的引脚不一定是P1.0、P1.1有可能是P3.2、P3.3)
  • 如果主动去勾选这个选项,将会弹出下面的对话框,并且要输入类似手机号的一串数字,以确定你要这么做。
    关于STC单片机“假死”状态的判别和处理方法_第1张图片

STC-ISPV6.88J版本,旧版
关于STC单片机“假死”状态的判别和处理方法_第2张图片

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

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

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

首先我要纠正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单片机烧录的坑不要踩》

在该篇文章中看到这张图片:
关于STC单片机“假死”状态的判别和处理方法_第4张图片
在尝试按照STC-ISP对应型号的下次冷启动时,P3.2/P3.3为0/0才可下载程序”,选项操作并没有成功,才尝试使用之前的“下次冷启动时,P1.0/P1.1为0/0才可下载程序”按照此接法,点击检测MCU,立马看到有串口指示灯在闪烁了,并成功检测到单片机型号。

  1. 还有就是检查单片机的接地是否良好。
⛳单片机假死判断
如果知道单片机里面烧录了什么程序,如果有IO口状态的,可以去测量对应的IO口状态是否正常。如果IO正常,那可以肯定单片机没有坏,只是ISP检测不到单片机。

ISP烧写故障实际案例

  • 参考:https://www.stcisp.com/q_and_a_stcisp.html
  1. 现象:客户使用STC-ISP V4.83对ATMEL AT89S52烧写失败。
    解决:STC-ISP只能对STC单片机进行烧写,其他牌子的单片机请使用其专用软件或支持的编程器。

  2. 现象:STC12C5A60S2 下载STC-ISP软件提示“正在检测单片机…”
    解决:检查供电电压为4.25V,用户使用USB口供电,线材内阻大导致压降大,更换优质USB线后电压为4.85V,问题解决。

  3. 现象:使用STC-ISP V4.83+STC官方下载板(V3.0)下载STC12C5A60S2,无任何反应。
    解决:经检查,客户将电压跳线选择为3.3V上,单片机供电不足导致下载失败,重新将跳线设置5V,下载成功。

  4. 现象:用户称所有的几片STC12C5A60S2都只能烧写一次,下次再使用就“坏”了,不能下载!!!
    解决:用户所做的最小系统为无晶振的电路,但STC-ISP的下载选项选择了“下次使用外部晶振”,导致单片机因无时钟无法工作而下载失败,增加外部晶振电路即可。

  5. 现象:用户称所有的几片STC12C5A30S2都只能烧写一次,下次再使用就“坏”了,不能下载!!!
    解决:用户STC-ISP的下载选项选择了“下次冷启动P1.0/P1.1为0/0才下载”,而实际下载并未拉低导致下载失败,将该两脚接地即可(注:应留意STC-ISP的下载选项,理解各参数的用法,做出合适的选择)。

  6. 现象:芯片型号为“STC15F2K61S2”, 但下载时在STC-ISP找不到对应的型号,使用IAP15F2K61S2时提示“型号错误”。
    解决:经联系厂家,此为早期芯片,型号印刷有误,应为STC15F2K60S2,选择该型号后下载成功。

  7. 现象:STC12C5A32S2再某51开发板上下载不稳定,成功率低,有时降低波特率也无法下载,提示“无法找到单片机”
    解决:通过替换法排查,发现使用另一块单片机开发板可以正常下载,最后将原开发板上的国产的MAX232芯片(DIP封装,带插座)更改为正品的SP3232芯片后解决(有时外部的电容性能不良也会出现如此故障)。(推荐使用STC官方的下载板作为基准最小系统平台)。

  8. 现象:某开发板下载传统STC单片机正常,飞线下载IAP15F2K61S2无反应。
    解决:经仔细检查,用户犯了低级错误,将RXD,TXD与P3.0/P3.1对调导致下载失败,更正后立即下载成功。

9、现象:CP2102芯片USB转串口线下载,单片机无反应。
解决:经示波器检查,该串口时序及电平性能不良,更换CH340T的串口线后成功。

  1. 现象:用户一直使用STC15F104E在线下载无问题,后改用另一批次芯片,下载成功率很低,客户一直认为下载环境无改变。
    解决:经查,虽然单片机特性均在数据手册范围以内,但部分特性不同,在STC-ISP软件的“下载选项”勾选“上电复位使用较长延时”后下载成功。

  2. 现象:用户使用USB转串口专用下载器,之前一直正常,某天突然下载STC15F2K61S2失败,STC-ISP提示“调整频率无响应”。
    解决:使用替换法检查,使用原生串口+RS232电路可以下载,冷启动电脑,卸载并重新安装USB转串口下载器的驱动后解决。

  3. 现象:STC12C5A60S2 下载无反应,但之前下载的流水灯测试程序可以正常运行。
    解决:经了解,用户上次使用第三方SP300编程器下载过芯片,后来就不能再STC-ISP下载。经查,该编程器已破坏STC芯片的ISPCODE代码,已经不能串口下载(点评:STC单片机建议使用原厂STCISP下载即可,不建议使用其它编程器)。

  4. 现象:STC12C5A08S2下载无反应
    解决:经查,客户在STC-ISP中选择了“下次使用外部晶振”,但实际下载环境晶振使用了插座,检查该插座有一脚与PCB虚焊了,震荡电路不工作。补焊后正常下载。

14、现象:用户手工使用洞洞板搭建最小系统,但是下载不成功。使用芯片:STC89C52RD+。
解决:经查,客户使用劣质开关电源,不稳定,且滤波不良。更换优质电源后解决。

  1. 现象:IAP15F2K61S2下载,一直停留在“正在调整频率”环节。
    解决:经检查,用户的芯片型号为“IAP15F2K61S2-25I-PDIP40”,最高工作频率为25MHZ,但用户手工将工作频率设定为40MHZ(超频)。为稳定,使用标称频率以内即可正常。

  2. 现象:IAP15F2K61S2(2013年C版),下载设定频率为15MHZ, 但实际为14.2MHZ, 偏移约10%!
    解决:经咨询厂家,该芯片只能在常用频点下调整为误差少于0.3%,部分不常用的频点会有较大误差。使用常用频率后正常。

  3. 现象:IAP15F2K61S2下载若超过30MHZ,以后不论如何设置都不能下载,不是无响应就是长期卡在“调节频率中”上,但放置到次日就可以正常下载(30MHZ以下)。百思不得其解!
    解决:后来在单片机正面的型号中发现有“BATEA”字样,表明这是一个样片(应该是当初送样的,估计没有直接销售)。样片A版可能存在各种不稳定的情况,后续的B版、C版已经改正。

  4. 现象:用户需下载“STC15F104E”芯片,但STC-ISP 软件单片机型号下拉菜单与“打开程序文件”按钮均为灰色,型号固定为“IAP15F2K61S2”且无法读入烧写HEX文件,换过几台电脑,在WINXP和WIN7下均如此。
    解决:经咨询,客户使用的STC-ISP左上角的版本号显示为V6.31,其实这是一个被自助发布的版本,被定义为“IAP15F2K61S2”且HEX已内置。原因:该版本的界面正常版与被发布版一样,导致误会。后续版本厂家已经将界面与正常版明显区分,并可自定义标题。换用STC-ISP 最新版软件(例如V6.57)“搞定”!

  5. 现象:(网摘)用户一直使用网购的USB转串口下载器(外形如U盘)下载正常,某日在学校同学的类似的USB下载器却不能下载,提示“正在检测目标单片机”,但该串口自检正常。
    解决:经查,用户原下载器型号为HT1032,内置自动冷启动功能,学校的为不带自动冷启动功能导致下载失败。STC单片机烧写须冷启动才能进入ISP状态。后用户手工拨动开关断电一下,烧写下载成功!(注意:STC单片机下载必须冷启动,与ARM等烧写方式不同,习惯后也是非常方便的。)

  6. 现象:STC12C2051(内部固件版本号:3.6D),使用目前最新版STC-ISP V6.57下载失败,提示“暂不支持烧录该版本单片机”。
    解决:改用传统STC-ISP V4.83/V4.88烧写成功。(注:STC-ISP V6.XX不支持部分固件版本低的老型号单片机烧录)

  7. 现象:PDIP40封装的STC15F12AD烧写找不到对应型号。
    解决:该版本为早期样片,仅供测试,未量产,可使用STC-ISP V4.82版烧写。

  8. 现象:在开发板可以下载STC89C52RC可以,但跳线下载IAP15F2K61S2不成功,显示“正在握手中…”
    解决:经检查,发现用户使用的USB线不稳定,更换为台湾力特牌(推荐)的USB线(FT232芯片)并下载安装最新驱动后下载成功(注:因STC-ISP对串口时序和电平要求较严格,故部分低价USB串口线不能满足要求导致下载失败)。

  9. 现象:STC15F204EA(SKDIP28封装),下载无反应。
    解决:发现该批芯片为早期版本(2010-10-18前)版本,在官网下载STC-ISP V1.06版解决(注:新旧版互不兼容,不能混用,这个需要特别注意)。

  10. 现象:IAP15F2K61S2下载,提示“下载失败”。
    解决:发现使用的是STC-ISP V6.39版,试在官网下载最新的STC-ISP V6.53及以上再试,烧写成功(注:部分新芯片的固件版本在7.1.3S及以上也需要新版STC-ISP软件才可烧写)。

  11. 现象:STC-ISP V4.83 在64位 WIN7 安装不成功,提示“…控件未安装”。
    解决:因STC-ISP 新版已支持STC全系列单片机编程,在官网下载新版STC-ISP V6.53后解决。(注:部分老STC单片机型号的内部固件较低或旧版脱机编程器,还是需要使用STC-ISP V4.83,可在STC网站下载控件及控件注册工具)

你可能感兴趣的:(#,STC8系列,嵌入式硬件,STC单片机,STC单片机假死状态)