一、程序烧录原理

古人云:知己知彼,方能百战百胜。
想要真正达到百分百烧录成功,一定是深入明白烧录原理的人。
有人留言说买一个自动烧录器就行了,实际上楼主是不推荐的,因为所谓自动烧录器不过是自动断电,和你自己手动插拔一下供电线是一样道理,并不能真正解决问题。

使用USB转串口烧录固件,本质上说,串口并没有直接对单片机内部FLASH编程的能力,串口只是起到一个电脑和单片机握手通信作用的传话筒,真正实现编程的另有其人:
单片机中的内鬼:引导程序BootLoader

 

你以为单片机里面只有一个电调程序,实际上单片机早就“精神分裂”,里面出厂就固化了一个引导程序,每次上电,都是这个引导程序先运行,然后再运行用户程序。烧录固件的功能也是这个引导程序实现的。

简单的说,一个完整的固件烧录流程是这样的:

1、电脑端烧录软件不断发出“有人吗到请回复……有人吗到请回复……”;
          电脑端显示:正在检测目标单片机…
2、单片机上电,引导程序运行,持续监测RX引脚0.3秒钟,;

3、引导程序检测到命令,回复“OK,发固件过来吧”;   
          电脑端显示:单片机型 xxxx…
4、电脑发送“巴拉巴拉¥#@#&*@%¥#¥…………”;  
          电脑端显示:正在下载用户代码…
5、引导程序回复“烧录完成”;
          电脑端显示:操作成功!
6、引导程序结束,运行用户程序。

而一个失败的固件烧录流程是这样的:

1、电脑端烧录软件不断发出“有人吗到请回复……有人吗到请回复……”;
          电脑端显示:正在检测目标单片机…
2、单片机上电,引导程序运行,持续监测RX引脚0.3秒钟,;

3、0.3秒后,某些原因导致没有检测到数据,引导程序自己结束,运行用户程序。

所以明白了吗,固件能不能烧录,在你为单片机接通电源的那一瞬间零点几秒内就已经决定了!
如果单片机上电一秒后电脑上还没有显示开始烧录固件,还是“正在检测”,不用再眼巴巴的等了,已经失败了,查找原因重新来吧!
 

二、百分百成功的最小系统烧录法

实际上,不管什么自动下载器都不能保证百分百烧录成功,因为单片机的外围电路是会影响烧录的。
举个最简单的例子,如果单片机的TX、RX引脚接了其他元器件或短路接地了,那就永远不可能烧录成功了,除非断开外围电路。

所以,对于初次接触单片机烧录或烧录困难症患者们,应该把单片机取下来单独烧录,减小烧录难度。

新手准备:在你第一次学习烧录单片机之前,需要准备三样东西
1、USB转串口模块
 

2、串口模块的电脑驱动

3、电脑端烧录软件 

一套通用的单片机烧录法:
1、查单片机型 、找出烧录引脚:
STC下载软件内置有所有单片机引脚图,以单片机【型 STC15W104 DIP8封装】为例,打开软件查看

2、制作最小系统烧录座:
STC15W开头、STC8开头的单片机,不需要外部晶振,一个单片机就是最小系统;
STC12开头、STC11开头的单片机,需要焊接外部晶振才能下载。

3、电脑端打开软件烧录。

 

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113309 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月20日
下一篇 2022年1月20日

相关推荐