STC_ISP下载软件问题汇总与解决

以下内容必须一字一句不差的认真阅读并实验,否则无助于解决问题。 

使用USB下载线和STC-ISP下载软件的时候总会出现下载失败的问题,这次对我出现的下载失败现象和可能导致的原因给予总结。 

-------------------------------------一、串口问题-------------------------------------

失败现象:

Chinese:正在尝试与 MCU/单片机 握手连接 ... 
打开串口失败!
Chinese:串口已被其它程序打开或该串口不存在。

验证串口详见“使用系统、软件、手机/ComPort小软件验证串口发送接收”,如不能收到信息见下面的“解决方法:第5条。” 

解决方法:

1,检查USB下载模块的连接是否正常,模块上的绿色和红色LED灯都亮起表示连接正常。绿色LED灯不亮表示USB驱动程序出现问题,可以拔下USB模块重插一次。红色LED灯不亮表示模块没有供电,或是USB模块后面的电源输出端(3.3V、+5V、GND)有短路。

2,在控制面板---》系统---》硬件管理器中找到“端口”---》CP2101串口,了解括号里的COM号。如果括号里显示COM4,那在STC-ISP软件里也要选择COM4才行。

STC-ISP软件: 

3,有时由于STC-ISP软件不稳定也会导致找不到串口,重启软件、重插USB模块再试一下。

4,USB模块的驱动程序没有安装好,或者和其他端口驱动程序冲突,也会有找不到串口的情况。重新安装并重启电脑再试。

《USB下载模块的驱动安装》视频:http://www.eeskill.com/video/id/15110

5,更新PL2303或CH340/341驱动程序,在STC官网(http://www.stcmcu.com/)下载最新的STC ISP软件。

-------------------------------------二、原因较复杂-------------------------------------

失败现象:

Chinese:正在尝试与 MCU/单片机 握手连接 ...

(3秒钟后出现如下显示)

Chinese:连接失败,请尝试以下操作:

1.在单片机停电状态下,点下载按钮,再给单片机上电

2.停止下载,重新选择 RS-232 串口, 接好电缆

3.可能需要先将 P1.0/P1.1 短接到地

4.可能外部时钟未接

5.因 PLCC、PQFP 转换座引线过长而引起时钟不振荡,请调整参数

6.可能要升级电脑端的 STC-ISP.exe 软件

7.若仍然不成功,可能 MCU/单片机内无 ISP 系统引导码,或需退回升级,或 MCU 已损坏

8.若使用 USB 转 RS-232 串口线下载,可能会遇到不兼容的问题,可以让我们帮助购买兼容的 USB 转 RS-232 串口线

仍在连接中, 请给 MCU 上电...

解决方法:

1,出现这样的情况首先证明了USB模块的连接和USB驱动程序工作正常。是正常的下载提示,这时给单片机重新上电就可以开始下载了。如果重新上电仍然没有出现下载进度条,可能出现的问题集中在USB模块后端,即单片机电路的部分。

2,首先需要检查USB下载电路的硬件电路连接是否正确。同时看此视频测试模块的好坏:http://www.eeskill.com/video/id/15094

正确电路连接如下图:

3,检查单片机是否有接外部晶振。虽然有一些单片机之前设置的是内部RC时钟,即不需要外部晶振也可以下载,但如果不小心在某次下载时使用了STC-ISP软件默认的外部晶体,正好单片机外部又没有接晶振,就会下载失败。请在单片机的外部加6~35M之间的晶振、30P的电容(如上图),然后再重新下载试试。测试时单片机必须要加晶振!

4,STC-ISP软件里有下载保护设置,即需要将P1.0和P1.1两个IO接口同时与GND连接才可以下载程序。一般型号的STC单片机默认是不使用这个保护的,但如STC12C5406等单片机是默认开启保护的。如果上面的方法失败时请尝试将P1.0和P1.1接口短接在GND上再下载看看。而且以后注意在下载时关闭这个保护功能,除非当你需要保护。

单片机出厂时的缺省设置是“P1.0/P1.1”与下载无关,P3.0/RxD, P3.1/TxD 通过 RS-232 转换器连接到电脑的普通RS-232 串口就可以下载/编程用户应用程序到单片机内部用户应用程序区了。

如果单片机在正常工作时 P3.0/RxD 外接的是 RS-485/RS-232 等通信电路, 推荐选择步骤4中:

下次冷启动“P1.0/P1.1”等于“0/0”才可以下载程序

单片机冷启动后(先没有电,后上电)首先运行的是单片机系统 ISP 监控程序。系统ISP监控程序首先判断是否需要“P1.0/P1.1”等于“0/0”才可以继续执行系统ISP监控程序。

如果用户设置了下次冷启动后“P1.0/P1.1”等于“0/0”才可以下载程序,而下次冷启动后“P1.0/P1.1”不同时为“0/0”,则单片机立即结束运行系统ISP监控程序,软复位到用户应用程序区执行用户应用程序。

如果用户设置了下次冷启动后“P1.0/P1.1”等于“0/0”才可以下载程序,冷启动后如“P1.0/P1.1”同时为“0/0”,则单片机会去判断 P3.0/RxD 口有无合法下载命令流(有几百个字节)。如果有合法下载命令流,则下载用户应用程序。如果没有合法下载命令流,则单片机立即结束运行单片机系统ISP 监控程序,软复位到用户应用程序区执行用户应用程序。

如果冷启动后 P3.0/RxD 口有很多“乱码”进入P3.0串口,虽然系统ISP监控程序能正确地判断是不合法的命令,但是较多的“乱码”会使单片机从“运行系统ISP监控程序状态”变为“运行用户应用程序状态”的时间拉长,造成用户误认为是复位时间过长。

设置下次冷启动后“P1.0/P1.1”等于“0/0”才可以下载用户应用程序的好处是:

将单片机从“运行系统ISP监控程序状态”变为“运行用户应用程序状态”的时间缩短到50mS以内,此时间可忽略不计,因为 R/C 阻容复位电路的时间误差是毫秒级的。

大部分用户选择单片机出厂时的缺省设置“P1.0/P1.1”与下载无关就可以了。

5,USB模块后端的5个针没有定向装置,所以有时会插反,或者误把5V单片机的电源接在3.3V上,这些情况也会导致下载失败。

6,MCU已损坏。 

-------------------------------------三、更换软件版本-------------------------------------

失败现象:                软件版本STC_ISP_V483

MCU Type is: STC12C5608AD
MCU Firmware Version: 6.2G
Chinese:MCU 固件版本号: 6.2G
下次冷启动后使用 内部 RC振荡器       YES
下次下载时 P1.0/P1.1 与下载无关
下次下载用户应用程序时将数据Flash区擦除: NO 

3.7V 以下复位

启动内部看门狗后禁止改看门狗分频数    NO

下次上电自动用有关参数启动内部看门狗  NO

Idle(空闲)状态时内部看门狗停止计数   YES

MCU Clock:4.9512MHz./时钟频率:4.9512.

Chinese:正在重新连接 ...

Current Baud is: / 当前波特率为:2400 bps.

We are erasing MCU flash...

正在擦除应用程序区...

MCU 出厂序列号:E668016806EFBB

正在下载...(开始时间:***)

(几秒钟后显示)

设置选项失败。

 

解决方法:          软件版本stc-isp-15xx-v6.85M

用最新的版本下载程序即可,但是注意:如果使用外部晶振一定不要勾选“选择使用内部IRC时钟(不选为外部时钟)”。

 

如下图读取到的晶振频率为5.499958M,是当前单片机内部晶振的频率。stc-isp-15xx-v6.85M累同如上。

如果上次己经设置了“外部晶体或时钟”且正确烧录程序,那么本次读取到的内容如下。

-------------------------------------四、波特率设置-------------------------------------

失败现象:

Chinese:正在尝试与 MCU/单片机 握手连接 ... 

MCU Type is: STC12C5A60S2

MCU Firmware Version: 6.2I

Chinese:MCU 固件版本号: 6.2I

下次冷启动后使用外部晶体或时钟

RESET pin 仍为 RESET

上电复位不增加额外的复位延时

振荡器放大增益: High gain

下次下载时 P1.0/P1.1 与下载无关

下次下载用户应用程序时将数据Flash区擦除: NO

P4.6/RESET2 用作 P4.6

启动内部看门狗后禁止改看门狗分频数 NO

下次上电自动用有关参数启动内部看门狗 NO

Idle(空闲)状态时内部看门狗停止计数 YES

冷启动后内部看门狗预分频数(未启动): 256

MCU Clock:24.045688MHz./时钟频率:24.045688M.

Chinese:正在重新连接 ...

(几秒钟后显示)

Connection failed. / 握手失败 (End: 21:00:39)

解决方法:

1,这个问题多出现在STC12C5A60S2单片机上,在较高的波特率时很容易在下载时出现握手失败。一般的解决方法是将第3步串口的最高波特率选择到1200,这样可以保证下载,但是下载的速度较慢。

2,另一种解决方法是把最高和最低波特率选择到同样的数值(如都调到9600),用下拉列表中不同的波特率来下载看看,找到成功率最高的那一个数值。那便是你的幸运数值了。

3,到STC公司网站上下载STC-ISP V4.86版本的程序,可以流畅地为STC12C5A60S2下载程序。不需要改波特率。

STC网站:http://www.STCMCU.com/  

------------------------------------五、USB转串口线不兼容-----------------------------------

STC官方下载软件(stc-isp)不使用STC下载线直接下载程序,使用USB转串口线时,会出现无法下载程序的现象。可以购买图中UNITEK的USB转串口线,实际正常使用。



-------------------------------------六、程序闪退-------------------------------------

失败现象:

点击STC-ISP软件的“下载按钮”时,STC-ISP软件自行关闭。

解决方法:

1,先将单片机的电源断开,然后再点击“下载”按键,再给单片机上电。此问题的原因可能是单片机现存的用户程序在操作P3.0和P3.1接口(UART复用接口),使得STC-ISP软件接收到错乱的串口数据,而导致软件自行关闭。 

-------------------------------------七、EEPROM填充0xFF-------------------------------------

使用高版本的软件,比如这里的V6.85M版本。

1、点击如下图1处“区域填充”,在“填充数据块”界面中根据单片机型号修改2、3处。



2、填充出来的效果如下图,2处的校验和也会发生相应变化,点击3处的“保存数据”,下次可以直接从4处打开EEPROM即可。



3、注意:用下面的软件生成的文件,STC_ISP不认。

永不止步步 发表于12-17 10:06 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:345327个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号