前面介绍了点亮第一个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.hainter.com/mcu-primer-0

4、语言通俗易懂

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

其他问题

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

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

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

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

本文首发自我的个人主页, 转载请注明来源:http://www.hainter.com/mcu-primer-15

单片机小白学步系列(十五) 单片机程序下载失败总结相关推荐

  1. 单片机小白学步系列(五) 集成电路、封装相关知识

    在前文大家都有见到集成电路的图片,其外形有很多种.在这些芯片中真正起作用的部分是集成在硅片上的晶体管.而我们看到的样子,则是在其外部用外壳进行封装.把硅片上的电路管脚,用导线接引到外部接头处,以便于其 ...

  2. 单片机小白学步系列(十四) 点亮第一个LED的程序分析

    本篇我们将分析上一篇所写的程序代码.未来学习单片机的大部分精力,我们也将放在程序代码的编写上.但是不用担心,我会非常详细的介绍每个程序的编写思路和各种注意事项等. 之前我们写的程序如下: #inclu ...

  3. 单片机小白学步系列(十) 单片机程序下载相关知识

    注:本篇在写<单片机入门指南系列>之前就已经写过,现在发现这篇比较合理的位置,应该是放在<单片机入门指南系列(六) 单片机最小系统--麻雀虽小,五脏俱全>之后的,但是由于之前考 ...

  4. 单片机小白学步系列(十六) 单片机/计算机系统概述:模块化思想

    截至目前,单片机入门篇的介绍就告一段落了.从本文开始将进入思想篇的学习. 思想篇对后面的具体知识学习进行整体的框架介绍,解释一些基础名词,以及对学习思想方法进行总结.思想篇的内容,对于后面的学习有很大 ...

  5. 单片机小白学步系列(二十) IO口原理

    IO口操作是单片机实践中最基本最重要的一个知识,本篇花了比较长的篇幅介绍IO口的原理.也是查阅了不少资料,确保内容正确无误,花了很长时间写的.IO口原理原本需要涉及很多深入的知识,而这里尽最大可能做了 ...

  6. 单片机小白学步系列(十九) 单片机/计算机系统概述:扩展模块

    本篇简单介绍各种单片机外设模块,目前考虑不全,可能会在后期进一步修改完善. ==================================== 前面介绍的核心模块,是微机系统中比较重要甚至是必不 ...

  7. 单片机小白学步系列(十八) 单片机/计算机系统概述:通信接口与协议

    前面说了信息与数据的概念,这里要说的是与之关系密切的问题--通信. 通信 何为通信?在英文中,通信用Communication表示,这个词也有交流的意思.实际上,通信和交流确实是一样的意思.不过在汉语 ...

  8. 单片机小白学步系列(十二) Proteus仿真软件简介

    Proteus软件是英国Labcenter electronics公司出版的EDA工具软件.常用于单片机等数字电路仿真,分为ISIS和ARES两个程序,前者用于仿真,后者用于设计PCB.我们常使用IS ...

  9. 单片机小白学步系列(十三) 点亮第一个LED——好的開始,成功的一半

    前面介绍了非常多概念知识.做了非常多准备工作,从这一节開始,我们正式開始单片机的学习.我们将使用单片机完毕一项非常easy的工作:点亮一个发光二极管(即LED:Light-Emitting Diode ...

最新文章

  1. 电信天翼3G上网卡在Lenovo笔记本电脑windows7系统正常运行方法
  2. 重磅!深入调研证券行业,神策数据发布《财富管理数字化转型现状与趋势洞察》报告...
  3. javaweb 解决请求相应的乱码问题
  4. CDH集群调优:内存、Vcores和DRF
  5. java/05/(Swing包)窗体,组件,布局管理器,面板,监听事件
  6. js小数运算出现多为小数问题_js小数计算小数点后显示多位小数的实现方法
  7. MySQL String Functions and Operators(字符串处理)
  8. linux中的住设备号和次设备号
  9. iOS应用不同状态下收到推送的处理
  10. 5元以下纯铜小摆件_下一轮牛市即将在2020年登陆?现在能否买入5元以下低价股一直持有到牛市结束?出乎意料...
  11. android service莫名启动问题
  12. 容器技术Docker K8s 8 容器服务ACK Pro版集群
  13. 贪心背后的故事Codeforces 995B(Suit and Tie)
  14. TIA博途中分布式IO ET200SP的使用方法
  15. 尾递归优化 - 尾递归优化
  16. 会计专业为什么要学python-财务人要学Python吗?
  17. 【图像分割】基于snake模型的图像分割matlab 源码
  18. 超额准备金 超额备付金_销售不足和超额投放
  19. 第五届湖南省机器人大赛暨第十四届湖南省智能汽车大赛名单
  20. kurento 6.6.0 安装部署 + 运行官网demo

热门文章

  1. extjs 页面打开时表格自动加载后台传来的json数据
  2. Ajax updatepanel用法
  3. Windows xp 如何查看SID?
  4. 老男孩的运维笔记文档-高级部分(系统架构师)列表(三)
  5. [NHibernate]获取分组查询的记录总数
  6. 晒晒女儿学国画一学期的成果
  7. linux php连接orcel,Linux下PHP连接Oracle数据库
  8. c语言作业查询,C语言作业3
  9. 数据结构之线段树进阶(区间更新lazy标记)
  10. CAN总线在嵌入式Linux下驱动程序的实现