...串口线下载程序不成功一直提示正在检测目标单片机的一个原因和解决...
发布网友
发布时间:2024-10-01 19:04
我来回答
共1个回答
热心网友
时间:2024-10-17 21:09
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也可能存在同样的问题。
沙鸥 于 成都