STC_ISP下载软件问题汇总与解决
(2016-08-03 16:00:32)
标签:
stc单片机isp下载问题 |
分类: 单片机、PLC、PLD |
内容包括硬件与软件问题的解决,EEPROM填充0xFF的方法,STC系列ISP下载编程工具与一键下载电路(含成熟电路可参考)。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易!
目录:
一、硬件问题
1、串口问题
2、单片机后端电路问题
3、模块自身问题
4、USB转串口线不兼容
二、软件版本与设置原因
1、软件版本与晶振设置
2、波特率设置
3、下载保护设置
4、STC-ISP程序闪退
三、EEPROM填充0xFF
四、STC系列ISP下载编程工具与一键下载电路
1、28pin单片机专用STC12下载编程工具
2、U7W Programmer/编程器
3、一键下载电路
----------------------------------------------------------------------------------------------------------------
一、硬件问题
1、串口问题
失败现象:
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://v.youku.com/v_show/id_XNDU3ODI3ODI0.html
5)更新PL2303或CH340/341驱动程序,在STC官网(http://www.gxwmcu.com/)下载最新的STC ISP软件。
-----------------------------------------------------------
2、单片机后端电路问题
失败现象:
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驱动程序工作正常。是正常的下载提示,这时给单片机重新上电就可以开始下载了。
------------------------------
2)单片机后端电路问题
若重新上电仍然没有出现下载进度条,可能出现的问题集中在USB模块后端,即单片机电路的部分。
(1)USB模块后端的5个针没有定向装置,所以有时会插反。
(2)误把5V单片机的电源接在3.3V上。
(3)MCU已损坏。
-----------------------------------------------------------
3、模块自身问题
首先需要检查USB下载电路的硬件电路连接是否正确。同时看此视频测试模块的好坏:
http://v.youku.com/v_show/id_XMTYyNjQ4MDQ0.html
正确电路连接如下图:
图1.3.2
-----------------------------------------------------------
4、USB转串口线不兼容
STC官方下载软件(stc-isp)不使用STC下载线直接下载程序,使用USB转串口线时,会出现无法下载程序的现象。可以购买图中UNITEK的USB转串口线,实际正常使用。
图1.4.2
----------------------------------------------------------------------------------------------------------------
二、软件版本与设置原因
1、软件版本与晶振设置
失败现象:
MCU Type
is: STC12C5608AD
MCU
Firmware Version: 6.2G
Chinese:MCU
固件版本号: 6.2G
下次冷启动后使用
下次下载时
P1.0/P1.1 与下载无关
下次下载用户应用程序时将数据Flash区擦除:
NO
3.7V 以下复位
启动内部看门狗后禁止改看门狗分频数
下次上电自动用有关参数启动内部看门狗
Idle(空闲)状态时内部看门狗停止计数
MCU Clock:4.9512MHz./时钟频率:4.9512.
Chinese:正在重新连接 ...
Current Baud is: / 当前波特率为:2400 bps.
We are erasing MCU flash...
正在擦除应用程序区...
MCU 出厂序列号:E668016806EFBB
正在下载...(开始时间:***)
(几秒钟后显示)
设置选项失败。
图2.1.1
解决方法:
用最新的版本下载程序即可,但是注意:若使用外部晶振一定不要勾选“选择使用内部IRC时钟(不选为外部时钟)”。
图2.1.2
如下图读取到的晶振频率为5.499958M,是当前单片机内部晶振的频率。stc-isp-15xx-v6.85M累同如上。
若上次己经设置了“外部晶体或时钟”且正确烧录程序,那么本次读取到的内容如下。
图2.1.4
虽然有一些单片机之前设置的是内部RC时钟,即不需要外部晶振也可以下载,但若不小心在某次下载时使用了STC-ISP软件默认的外部晶体,正好单片机外部未接晶振,就会下载失败。可在单片机的外部加6~35M之间的晶振、30P的电容(如图1.3.2),然后再重新下载试试。测试时单片机必须加晶振!
-----------------------------------------------------------
2、波特率设置
失败现象:
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/
-----------------------------------------------------------
3、下载保护设置
STC-ISP软件里有下载保护设置,即需要将P1.0、P1.1两个IO接口同时与GND连接才可以下载程序。一般型号的STC单片机默认不使用此保护,但如STC12C5406等单片机默认开启保护。若上面的方法失败,尝试将P1.0、P1.1接口短接在GND上再下载。而且以后注意在下载时关闭这个保护功能,除非确实需要保护。
图2.3.1单片机出厂时的缺省设置是“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”与下载无关就可以了。
-----------------------------------------------------------
4、STC-ISP程序闪退
失败现象:
点击STC-ISP软件的“下载按钮”时,STC-ISP软件自行关闭。
解决方法:
将单片机的电源断开,然后再点击“下载”按键,再给单片机上电。此问题的原因可能是单片机现存的用户程序在操作P3.0、P3.1接口(UART复用接口),使得STC-ISP软件接收到错乱的串口数据,而导致软件自行关闭。解决方法同“3、下载保护设置”所述。
----------------------------------------------------------------------------------------------------------------
三、EEPROM填充0xFF
使用高版本的软件,比如这里的V6.85M版本。
1、点击如下图1处“区域填充”,在“填充数据块”界面中根据单片机型号修改2、3处。
-----------------------------------------------------------
2、填充出来的效果如下图,2处的校验和也会发生相应变化,点击3处的“保存数据”,下次可以直接从4处打开EEPROM即可。
-----------------------------------------------------------
3、注意:用下面的软件生成的文件,STC_ISP不认。
图3.3.1
----------------------------------------------------------------------------------------------------------------
四、STC系列ISP下载编程工具与一键下载电路
1、28pin单片机专用STC12下载编程工具
宏晶官网给出的“STC-ISP下载编程烧录失败汇总(荐)”,http://www.stcisp.com/stcisp620_off.html
-----------------------------------------------------------
2、U7W Programmer/编程器
图4.2.1
以15F2K61S2为主控,B6284N升压芯片。
-----------------------------------------------------------
3、一键下载电路
----------------------------------------------------------------------------------------------------------------