前面介绍了点亮第一个LED的全过程,很多人可能很幸运的点亮了LED,然而也很可能不少人非常不幸没有把程序下载进去。初学者常会遇到程序无法下载的情况,很多人在尝试多次未果后比较受打击,因此放弃了学习,实在太可惜了。鉴于此,这里列举了单片机程序下载失败的各种出错原因、判断方法和解决方法,是前人所遇到的种种原因的总结。
STC单片机下载程序主要分为三部分:单片机最小系统、下载电路、计算机端。下载失败一般主要就从这三个方面来解决问题。
快速排错方法
如果你有或者能向别人借到一套可以正常下载程序的电脑、单片机下载线、开发板全套装备,依次换用别人的下载线,电脑,和单片机系统板进行下载。如果换别人电脑下载就成功了,说明问题在于你的电脑。通过这种控制变量的方法,就能快速判断出问题出在哪个环节。
也可对照下面列举的问题,逐条检查错误所在。星号标出的是最常见的一些问题。
一、最小系统的问题
1*、不是STC系列单片机。
如果是AT或其他品牌单片机,通常下载方式与STC不同。
2*、单片机损坏。
有的单片机内由于ISP系统引导码出错,能运行之前已经下载进的程序,但不能下载程序;或者单片机已完全损坏,比如电源电压过高、电源接反导致烧坏。
3*、晶振的问题。
没有晶振,晶振放在插座上接触不良。如果是自己搭建的电路,还有可能是电路设计时,晶振引脚离单片机距离太远不起振,或者没有起振电容。有条件可以用示波器观察晶振引脚有没有输出波形;或用频率计测量是否有输出频率;另外也可以用万用表测量单片机的时钟管脚电压,约为电源电压的一半。
4、最小系统电路的其他接线错误问题,包括还会有人因为太激动等原因忘了给单片机上电(^_^)。
如果是最小系统的问题,需要更换或者添加相应的器件,或重新设计电路。
二、下载电路的问题
1*、接线错误。
如:串口的TXD、RXD接反,没有接GND等。应该将下载线TXD连接单片机RXD,RXD连TXD,然后下载线的GND和单片机GND连接。有些不规范的下载线,可能把TXD和RXD标反了,可以交换一下再试试。
2*、USB接口松动,下载线断路,排针或插座松动。
3、下载芯片损坏(一般下载涉及的芯片有PL2303、CH341、MAX232)。
4、如果是自己设计的PL2303下载器,下载器上面的晶振应该是12M。
怎么判断是不是下载电路部分的问题,最好能换别的下载线或借别人的下载线用一下试试。如果损坏了,不容易修好,最好换新的。
三、计算机端的问题
1*、软件出错、驱动出错的情况比较常见。
可以尝试重启一下STC_ISP,换USB口或串口,重启电脑。
2、下载软件的问题。
最好在宏晶官网下载STC_ISP最新版本,在Win7/Win8系统中初次使用可能要以管理员身份运行。
3*、驱动的问题,没有安装或者安装出错。
如果设备管理器中有COM口“USB-to-Serial”且无黄色感叹号,一般驱动就没有问题,但是还是可以重装驱动试试;安装的驱动要与系统对应(Windows7 32位、64位或者Windows XP等)。
4、COM口设置错,一般下载时会提示打开串口失败。
5、单片机的型号设置错,一般下载时会提示不是此型号的单片机。
6*、波特率太高。
STC-ISP下载软件的波特率设置太高,适当调低一点或许有用,可以把最高、最低波特率都选为1200试一试。
计算机端的问题比较复杂,有些原因很难追根求源。如果判断出是电脑的问题,但是花费了比较多的时间还是没能解决,可以考虑重装系统。
四*、操作步骤的问题
注意先点电脑上的下载按钮后给单片机上电;或者电脑上点击下载,关掉单片机电源再打开。有时下载不了,可以多试几次。
下载程序顺序如下:
1、设置单片机型号,COM口,波特率等参数。
2、装载好要烧的单片机程序HEX文件,如果是修改程序,并进行了重新编译,也需要重新打开HEX文件。
3、关闭单片机电源,点击“下载”,再给单片机上电。
4、下载软件显示“正在下载”,稍后即可下载完成。
不知道读者是否已经按照这节内容,解决了自己所遇到的问题呢?