• 1
    回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

stc15w4k56s4单片机用USB串口线下载程序不成功一直提示正在检测目标单片机的

1、出现了什么问题
        前一段时间,用USB转TTL串口下载线(下称USB串口线)给stc15w4k56s4下载程序,按照之前的做法:将USB串口线的RXD接单片机串口1的TXD引脚,将USB串口线的TXD接单片机串口1的RXD引脚,USB串口线的地线与单片机地线接到一起。
        按照之前的工程经验,在下载软件里点击“下载/编程”之后给单片机送电,就该执行下载的动作。
        但是,下载软件却一直显示“正在检测目标单片机”,没有执行编程的动作,这怎么回事呢? 
2、寻找原因
(1)查看STC15手册
        找到STC15W4K系列的关于程序下载的章节的描述,一看,手册里分了几种情况:
情况1,假如是用RS232口下载,那么参考电路如下:

情况2,假如是用USB转串口芯片PL2303下载,那么参考电路如下:

情况3,假如是直接用USB口下载,那么参考电路如下:

(2)对照手册检查
        由于本次下载使用的是CH340的USB转串口下载线来下载程序的,其实方法与情况2相似,检查接线:下载线的TXD接单片机的RXD,下载线的RXD接单片机的TXD,也进行了共地,其他接线也没错误,那么是什么问题呢?
        再看看情况3 USB直接下载的电路图 3,手册建议在P1.7和P1.6之间接一个24Mhz的晶振,这是什么意图呢?是不是这晶振只是USB下载需要呢?看了一下手册说这里加晶振不是必需的,那么应该可不接。
那么问题在哪里呢?是不是手册里有些问题没说到?只好问问厂家。
        得到回复,原来这款单片机在下载程序时会检测P1.7、P1.6是否有外部晶振,假如这些引脚没接晶振而用作其他用处,又假如这些引脚的引线长,那么就会产生漂浮电压信号,且一般这个漂浮电压信号的频率很小,很长时间才产生一个脉冲,那么下载时就会一直处在检测状态而无法下载。这也算这款单片机的一个BUG。
3、怎么解决
        厂家给出一个解决方法:直接把P1.7引脚接高电平,不作其他用处。
        按照厂家的方法:把P1.7引脚常接高电平,点击“下载/编程”,给单片机上电,然后就顺利地把程序下载到了单片机。

4、总结

        在使用串口1给stc15w4k56s4单片机下载程序时,P1.7需常接高电平,或者P1.7和P1.6外接晶振,或者P1.7和P1.6也可以空着不用,才能使串口下载程序成功。
        举一反三,这个系列的单片机,如stc15w4k16s4、stc15w4k32s4、stc15w4k40s4、stc15w4k48s4可能也是有同样的问题。
全部回复(1)
正序查看
倒序查看
01-13 09:40

直接使用USB转串口下载呢?我一直都是用这种方式下载的,简单方便。芯片都不需要特殊电路,直接接USB转串口的TX和RX,加上Gnd就行。

0
回复