产品选型

单片机程序写入 程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍

小编 2024-10-06 产品选型 23 0

程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍

单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编程IDE来实现编程。在学习单片机之前,要先清楚单片机程序是如何烧写到单片机内部的,在烧写的过程中需要用到什么工具?因为不通用的烧写工具可能价格较贵,比如说Micorchip单片机使用的ICD系列编程器,单台价格在600-1000元人民币之间。今天和大学来认识一下单片机最常用的四种烧写方式和所使用到的工具。

1.使用JTAG接口实现

JTAG接口是一种标准的测试协议,可以实现编程时在线调试,利用单步追踪可以很方便的查找代码的Bug,大多数的单片机都支持这种接口。这种接口除了电源线和复位引脚之外,还要用到单片机的四个引脚,分别是:TDI、TMS、TCK、TDO,他们所代表的含义如下所示:

TDI--数据输入 ,所有写入寄存器的数据都是通过TDI接口串行输入的;TMS--模式选择 ,Jlink输出给目标CPU的时钟信号;TCK--时钟信号 ,所有数据的输入输出都是以该时钟信号为基准的;TDO--数据输出 ,所有从寄存器读出的数据都是通过TDO接口串行输出的;

以上这四个引脚都是协议里强制要求的,而且协议建议在设计电路时要选用上拉电阻。JTAG接口有多种形式,常用的20引脚、14引脚和10引脚。以20引脚JTAG为例,所设计的JTAG烧写电路如下图所示:

JTAG接口

上图中JTAG接口都通过电阻上拉了,有的单片机的这几个引脚在内部已经上拉,所以这几个上拉电阻可以省略,减少了成本和PCB空间的占用。

JTAG接口烧录方式常用的工具为J-Link,实物图如下图所示。

Jlink实物图

相信大家都见过或者听过这个烧写工具,这个工具很通用,但是大家在使用的时候一定要注意版权信息,因为这个工具是有版权的,前两年因为版权风波,网购平台还集中整治过一次。

2.SWD接口烧录方式

SWD是一种串行调试接口,与JTAG相比,SWD只需要两根线,分别为:SWCLK和SWDIO。他们的含义如下:

SWDIO --串行数据线,用于数据的读出和写入;SWDCLK --串行时钟线,提供所需要的时钟信号;

一般来说,大多数单片机的JTAG接口和SWDIO接口是复用的,SWD也是用J-Link工具来实现的。所以在使用的时候,只需要在软件界面做一下选择,使用SWD方式还是JTAG方式,硬件上无需改动。除了J-Link外,意法半导体的ST-Link也是支持SWD模式的。

SWD接口

SWD的接口如上图所示,可以看出,SWD和JTAG是相互复用的,由于SWD只需要两根线所以大大减少了对单片机GPIO口的占用,SWD方式也是可以在线调试的。

3.ISP烧写方式,用UART实现

使用过国产51单片机的朋友都清楚这种烧写方式,这种烧写方式是通过单片机的UART串口来实现的,所需要的工具也比较简单-USB/TTL。这个USB/TTL的芯片可以通过MAX232、CH340G等芯片来实现,通过MAX232实现的UART烧写电路如下所示:

UART串口烧写电路

在与单片机连接的时候,一定要注意交叉连接,所谓交叉连接即,单片机的TXD接串口RXD,单片机的RXD接串口TXD,否则数据通信失败。51单片机在使用该方式下载时需要断一下点再上电才能下载。

STM32单片机可以使用UART来实现程序下载,但是需要选择BOOT的模式,现在通过CH340G芯片可以实现自动ISP的下载方式,即不需要手动设置BOOT模式。

4.SWIM单总线下载方式

这种下载方式是针对STM8系列的单片机,这种方式只需要一根线即可实现程序的下载,所使用的工具为ST-Link,如下图所示:

ST-Link

以上为几种常见的烧写方式以及所使用的工具,欢迎大家留言评论,如果转载请注明作者信息和头条出处,感谢支持。

单片机程序怎么烧写?各种单片机程序烧写方法,快来看看吧!

单片机学习、使用非常重要的一个步骤就是把写好的程序烧写到单片机里,好多初学者,好不容易才写好一个程序,马上想让他跑起来,但是如何烧写程序确犯难了!

我把单片机常用的烧写方法做了一下归纳,希望能够帮到大家!

一、编程器方式

图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和网络口

欢迎评论和点赞,不喜欢的请拍砖!觉得不完美的请给出您的宝贵建议。

本文属于原创首发,未经授权,请勿用于商业用途!

相关问答

单片机 如何 写入程序 ?

可以采用ISP下载线,写入单片机程序的STC系列单片机可以采用单片机编程器,下载程序的,兼容51系列的单片机可以采用ISP下载线,写入单片机程序的STC系列单片机...

程序 是怎么 写入单片机 的?

先在电脑中把程序写好,接着通过一个RS232的串口连接至电脑,最后用ISP下载器把程序导入到单片机中就行了。单片机是一种集成电路芯片,是采用超大规模集成电路技...

怎么把 程序 写进 单片机 ?

程序写入单片机的过程一般被叫做烧录,烧录的实际过程是:1.通过编译器编译生成单片机能够识别的执行程序2.通过上位机按照某种通讯协议,把二进制可执行文件...

单片机 里一次仅能烧写一个 程序 吗?烧写后 程序 怎么删除?-ZOL问答

烧写后程序怎么删除?共6条回答9234浏览单片机烧写程序可以写很多个,这需要你对每一个功能程序增加相应的切入口,并在硬件上增加切入操作的控制电路即可...

如何把 程序 装到 单片机 里?

以stc的单片机为例:1、用keil编程软件写好程序,编译输出为hex和二进制文件2、用串口电平转换板(常用MAX232芯片来做),把电脑后面的com口和单片机的(Rxd、D...

肿么用烧录器把 程序写入单片机 -ZOL问答

这是单片机,不是U盘,不能直接拷贝的你用的啥类型的单片机?首先给单片机通上电,然后用电脑的USB连接线接入单片机上,然后用烧录软件。跟标贴和直插没什么关系...

51 单片机 通过哪个脚烧录 程序 ?

51单片机通过P3.0和P3.1两个引脚烧录程序,这两个引脚是51单片机的串口1,因而烧录方式也叫串口下载。串口1除了用作烧录端口以外,它还是一个串行通讯接口,完...

51 单片机 ,有8个流水灯,每个之间延迟1秒,这个延迟用c 程序 编写怎么写?

1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。2、#include"reg51.h"首先写出单片机的头函数。3、#include"int...

怎样擦除已 写入 51 单片机 程序 ?

要擦除已写入51单片机的程序,主要采用以下步骤:1.接上外围设备,如果是使用烧录器,还需要将烧录器与单片机连接起来;2.将擦除程序下载到单片机;3.运行擦...

单片机 内部EEPROM写之前要擦除吗?

看单片机PDF,STC的写之前一定要擦除,因为要为空时才可对其编程,写(因为只有扇区擦除才能把0变为1,若这个扇区原本有0的话你不擦出就不是覆盖了而是混乱!!...

猜你喜欢