设计与开发

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

小编 2024-10-21 设计与开发 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

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

单片机入门教程之烧写程序方法

此单片机入门教程主要讲的51单片机,和其他的单片机编程烧写所涉及的软件会有出入,51单片机是最基本的入门,入门好了,学习其他单片机不会是难题,上几篇文章讲了单片机最基本的东西,今天这节就来说说单片机怎么烧写程序

一、需要下载的软件

1、USB转串口驱动:CH340、PL2303、FT232

CH340下载模块

2、STC-ISP 程序烧写软件

STC-ISP 程序烧写软件界面

二、USB转串口普及

市面上常用的USB转串口芯片有很多,最常见的有FT232、PL2303、CH340三种.

原来USB转串口真正使用的芯片是CH340芯片。这样,在网上很轻松的找到了最新兼容CH340的CH341USB转串口驱动CH341SER。直接下载封装好的驱动程序CH341SER.EXE,方便的安装好了驱动程序,在操作系统的“设备管理器”中的“端口”显示了“USB-SERIAL CH340”,这个虚拟出来的串口终于能够连接机器人,向机器人传输数据了。

CH340是一个USB总线的转接芯片,实现USB 转串口、USB转IrDA红外或者USB转打印口。

在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。有关USB转打印口的说明请参考手(二)CH340DS2。

在红外方式下,CH340外加红外收发器即可构成USB红外线适配器,实现SIR红外线通讯。

三、STC-ISP 程序烧写步骤

1、生成hex文件: .单击工具栏的【Target Options…】,打开Output选项卡并选择【Creat Hex File】,点击【OK】,这时编译完成后才会产生可供下载到单片机的Hex文件,如下图:

[page]

2、单击工具栏的【Rebuild】,可看到状态栏显示的状态(0错误和0警告),这时便完成了Keil工程的建立并产生了可下载到单片机的Hex文件,如下图:

3、COM口的查询

1.用USB转串口线把电脑的USB口和单片机的串口连接;

2.右键点击“我的电脑”并单击“管理”,在弹出的窗口中选择“设备管理器”,在点击右边的“端口”,可以看到USB转串口线的COM口(如图为COM3口),记住显示的是COM几口,下载程序时要用到,如下图:

4、Hex文件的下载

1.打开文件夹里的“程序下载”压缩包,打开里面的STC_ISP_V481.exe程序,如图:

5、下载设置

1、在弹出的界面中选择MCU Type为STC89C52RC,单击【打开程序文件】,在你之前Keil保存工程的位置找到以“.hex”后缀的文件,并选择打开,

2、选择“COM”为Step 4中显示的COM口(我的电脑显示的是COM3,所以我选择了COM3,但是不同电脑可能会不一样,一定要根据自己的电脑来选择),如下图:

3、波特率一般不需要修改,或者设置成9600

4、. 最后单击【Download/下载】(单击【Download/下载】之前一定不能先让单片机通电),然后再按下单片机的电源开关,让单片机通电,这时开始程序到单片机的下载,如下图表示程序已经成功烧写到单片机了,你只需把已经烧写程序的单片机安装到爽爽棒上即可:

相关问答

单片机 怎么 入程序?-ZOL问答

那要看你用什么单片机,比如STC的单片机,直接搞个串口,在搞个STCISP就能把程序烧进去,AVR的用专门的下载器,MSP430一般用JLINK烧写能否换个同型号的下载工具试试...

单片机 该怎么“ ”,用什么应用比较好?

不同的单片机其程序的烧写方式是不一样的,从主流型号的单片机来看,下载方式无非有这么几种:1)ISP烧写方式;2)SWD烧写/调试方式;3)JTAG烧写调试/方式。当然也...

怎么用keil把程序 单片机 ?

需要利用下载器和下载软件才能将keil程序输出的hex文件烧录到单片机中。具体操作请参照以下步骤,演示单片机为51单片机。1、首先准备好51单片机最小系统板和...

怎么把c语言程序 单片机 ?

1、把C语言编译为编程器支持的语言格式,比如常用的bin,或hex等格式。2、如果是可在线编程的,可以用ISP直接进行烧录。3、如果不是可在线编程的,将单片机芯...

51 单片机 怎么将代码 单片机 ?

要将代码烧入51单片机,通常需要以下步骤:硬件连接:使用适当的接口将单片机开发板连接到电脑,确保电源和数据线连接正确。下载软件:安装适用于51单片机的编程...

怎么将程序 烧录 单片机 里-ZOL问答

重新烧个程序就把原来的程序擦除了空间也释放了用优化大师或QQ管家4条回答:【推荐答案】用一个下载器进行下载,下载器的RXD和TXD与最小系统的反接,vcc接电源...

为什么 单片机 程序 不进去?

这种情况会有很多种可能性:1、单片机已经损坏,楼主换个单片机试试。2、单片机开发板损坏,这个情况基本上不可能发生,但楼主需做好准备。3、USBISP损坏,概...

stc-isp烧录软件如何给51 单片机烧 录?

1、首先准备好51单片机最小系统和烧录器。2、打开stc-isp烧录软件选择好单片机型号,这里的所选的单片机型号为STC89C/LE52RC。在此可以观察到“串口号”显示没...

如何向 单片机 STC89C58RD+ 写程序?

先生成hex文件,而且你得有烧写软件,先设置好,再打开文件,然后点击download/下载,然后打开学习板上开关先生成hex文件,而且你得有烧写软件,先设置好,再打开...

每个 单片机 都可 写程序吗?

不知道你说的“烧写程序”是什么概念。如果是说单片机内部都有编制好的程序,那是没错的。如果是说自己把程序写进单片机,那不一定。单片机内部程序存储器,如...

猜你喜欢