单片机学习、使用非常重要的一个步骤就是把写好的程序烧写到单片机里,好多初学者,好不容易才写好一个程序,马上想让他跑起来,但是如何烧写程序确犯难了!
我把单片机常用的烧写方法做了一下归纳,希望能够帮到大家!
一、编程器方式

图1:单片机编程器
1、早期单片机的编程方法
早期的51系列等单片机,要购买一个专用的编程器,才能把程序写入单片机,一般编程器与PC机之间用USB、串口、并口等方式连接并传输数据,编程器成本高,不如在线编程方式灵活方便,现在个人和小批量的编程已经很少使用了。
2、量产的编程方法
对于批量生产的产品,用在线方式显然效率太低了,使用专门的编程器,实现脱机编程,一次可烧写大量的芯片,因此为厂家生产所采用。
二、SPI接口模式
这个是atmel 和PIC单片机常用的下载方式,SPI接口和电脑的现有通讯口都不兼容,因此要把PC的端口通过电路转换成SPI方式,因此都一个转换器,并口、串口、USB口转SPI下载,并口和串口转换到SPI比较简单,可以网上找资料自己制作,笔者就自己只做过并口转SPI的下载器。USB转SPI的只做起来有点难度,但是使用比较方便,一般网上都成品销售。SPI下载的优点是下载比较可靠和稳定,与单片机的接口特别简单。

图2:USB转SPI下载器

图3:SPI接口
三、串口模式
单片机利用串口下载程序,典型的是STC的单片机,一种是在电路板上自己设计USB转出口的电路,该电路设计对布局布线要求较高,有一定难度。另一个是使用USB转串口的编程器或者下载板。
与SPI方式比较起来,串口下载时需要单片机冷启动,稍显复杂,稳定性不如SPI方式,因为可靠器的冷启动并不那么容易实现,偶尔出现无法下载的现象,需要重复下载几次才能成功。

图4:U8编程器

图5:USB转串口下载板
四、JTAG
该接口既可用于下载,还能对单片机进行调试,一般仿真器采用此种形式的接口。缺点是下载速度较慢。

图6:USB转JTAG的仿真器
五、其它方式
USB下载,网口下载等,这些需要单片机具备相应的端口,同时还要编写对应的驱动程序,才能够使用这些接口,入门级单片机使用的较少。

图7:ARM9的USB和网络口
欢迎评论和点赞,不喜欢的请拍砖!觉得不完美的请给出您的宝贵建议。
本文属于原创首发,未经授权,请勿用于商业用途!