您的浏览器不支持CSS3,建议使用Firfox、Chrome等浏览器,以取得最佳显示效果

单片机小白学步(15) 单片机程序下载失败总结

单片机小白学步 681℃ 0 3年前 (2014-11-06)

前面介绍了点亮第一个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、下载软件显示“正在下载”,稍后即可下载完成。

不知道读者是否已经按照这节内容,解决了自己所遇到的问题呢?

=======================================================

《单片机小白学步》系列教程(原名《单片机入门指南》)介绍

本系列教程从最基本的入门知识开始,逐步深入介绍单片机系统设计,内容包括:
1、入门篇:单片机等基本概念、各种电子设计基本知识
2、思想篇:单片机/计算机系统设计的工程思想
3、学习篇:单片机学习过程、方法和技巧,以51单片机为例介绍,并推广到其他单片机
4、应用篇:遵循规范的工程方法,设计单片机系统实例(计划设计的系统有:计算器、电子表、密码锁、简易手机,具体看有没有时间再确定)
5、原理篇:从模拟电路、数字电路开始,逐步深入介绍单片机/计算机系统原理,并自行设计简易的CPU(由于个人水平有限,这部分没有把握写好,具体内容视情况而定)

教程特点

1、技术知识点全面,从入门到精通

包含了各种基本知识,尤其是对单片机基本概念的介绍、为什么要用单片机等,在很多同类书籍教程中都被忽略了。同时也包含了一些深入的知识,包括原理篇考虑对单片机的基本原理进行介绍,有助于深入理解单片机。

本系列教程以51单片机为例进行介绍。通过51介绍完单片机的基本知识,我会再把430进行简要介绍,尤其是对比两者之间的优缺点,让大家很快感受到430的巨大优势,而学习51正好为快速了解430打下了坚实的基础。

2、除了单片机知识,还有思想、方法、技巧的介绍

本系列教程中,介绍单片机各种模块编程知识的主要是学习篇,而学习篇只是整个教程的一部分。在学习篇中我会贯穿各种方法技巧,如何理解一些模块功能,怎么看时序图,严格遵守工程思想进行编程,程序发生了错误怎么调试等等。而在思想篇中会总体介绍很多重要的思想,为后面的学习做好准备工作。

3、知识先后顺序的设计

单片机学习过程中,涉及大量的知识,而且很多知识之间相互依赖,关联很强。

本系列教程对知识的先后顺序进行比较明确的规划,尽最大可能符合人的认知过程。但是实际规划时发现,无论怎么调整知识的顺序,总有一些知识之间相互依赖,关系复杂。例如开始讲IO口的时候肯定会提到寄存器,而寄存器这个词的理解,需要深厚的背景知识。但是这些背景知识在没有进行实践的时候也很难理解。

初学者常常就会在这样的地方感觉疑惑不解,不知所措。而每次遇到类似这样的知识,我会向初学者指出,应该如何对待。这个知识是应该自己去学习补充,还是等到学完原理篇再做理解,而现在又应该怎么去看待这个名词。

另外,在整个教程的学习前,需要掌握一定的C语言等基础知识,具体可参考教程第〇篇《序》中的相关说明
http://www.paincker.com/mcu-primer-0

4、语言通俗易懂

本系列教程力求语言通俗易懂,而不会用一堆新手不懂的词语去解释另一个不懂的词语。但是受限于个人语言表达能力,可能有些地方表述的比较繁琐,或者不清楚,希望大家能够帮忙指出。

其他问题

如果觉得我写的对你有帮助,欢迎多多反馈,包括写的不正确、不合理、不太明白都可以指出来,这样方便我对其进行完善。

更多可参见:《如何以学习单片机为契机,逐步成为优秀的工程师》
http://www.paincker.com/mcu-engineer

本系列教程首发于我的个人主页,欢迎访问(由于是国外服务器,速度稍微有点慢):
http://www.paincker.com/category/hacker/mcu-primer

同时会将其转发到CSDN、电子发烧友等站点,欢迎关注。
CSDN专栏网址 http://blog.csdn.net/column/details/mcu-introduction.html
电子发烧友论坛 http://bbs.elecfans.com/zhuti_mcu_1.html

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

0

暂无评论

评论前:需填写以下信息,或 登录

用户登录

忘记密码?