程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍
单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编程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
以上为几种常见的烧写方式以及所使用的工具,欢迎大家留言评论,如果转载请注明作者信息和头条出处,感谢支持。
STM8系列单片机程序的下载方式
一、概述
STM8系列单片机程序的硬件下载接口有两种SWIM和UART,而软件下载工具却有很多,常用的有IAR、STVD、STVP、Flash Loader Demonstartor等。
二、SWIM硬件接口下载方式
SWIM是通过ST-LINK下载器连接,ST-LINK接入电脑,使用STVP工具软件直接下载。请到ST官网下载ST-LINK驱动及工具软件并安装好驱动,在设备管理器里面可以看到已安装好。
ST-LINK下载器的引脚功能
ST-LINK与STM8单片机的接线如下图,下载器的VDD的供电电流较小,开发板最好也单独再供下电
安装并打开STVP下载工具软件,配置好下载器和对应STM8开发板的芯片型号
打开编译好的hex文件,点击下载按钮,即可实现程序的下载
三、UART硬件接口下载方式
下载前用STVP工具软件读取芯片的选项字节,若发现没有使能BootLoader Enabled选项或者没有出现BOOTLOADER这一行,则该型号的芯片不支持串口下载。
若读取后发现有使能BootLoader Enabled选项,则选择这个功能
安装打开Flash Loader Demonstartor软件,使用USB转TTL连接好STM8单片机的串口,复位一下STM8单片机,这个下载软件和STM32的串口下载使用的是同一个。
四、总结
STM8系列的单片机程序下载就两种接口,部分型号不支持UART的下载方式,但软件工具多种多样,根据自己的实际操作习惯使用相应的软件工具,推荐使用ST-LINK下载器和IAR IDE下载和调试程序。
相关问答
如何下载程序 到 单片机 ?下载程序到单片机通常涉及以下步骤:准备:准备单片机和必要的硬件(编程器、适配器)。选择编程工具:选择与单片机兼容的编程软件或硬件编程器。建立连接:将单...
如何把编好的 程序下载 到 单片机 上,请写出详细步骤?首先,你要搞清楚,你使用的单片机下载程序,需要哪些工具.大部分单片机,都需要编程器实现,有些可以直接使用pc串口烧录程序。所以你需要准备相应烧录设备。...
学习 单片机 第一步:如何将 程序 (控制思想) 下载 到 单片机 中?先在KILEC的optionsfortarget工具栏中的output选项下,nameofExecutable后面的空框里输入你要输出的文件名,然后在Create.Hex项的前面的小方格中打上“勾”,...
89c52 单片机程序下载 方法?要下载89C52单片机程序,首先需要一个编程器和相应的下载软件。将编程器连接到计算机上,并将编程器与单片机进行连接,通常使用烧录座(或插座)将单片机插入编...
在keil中怎么设置通过串口向 单片机下载程序 -ZOL问答不能用keil作下载,它应该只是一个程序编辑和调试用的吧,用keil生成hex文件。下载时用专门的下载软件找到生成的那个hex文件就可以下载了。,有专门的单片机烧...
单片机 中文编程后用哪些方法可以把 程序下载 到 单片机 ?单片机程序下载常用的方法包括:串口下载:通过串口线将计算机与单片机连接,利用专用下载软件发送程序代码至单片机。并口下载:利用并口线与单片机并口接口连...
如何把c51 程序下载 到 单片机 ?要将C51程序下载到单片机,首先需要将程序编译成HEX文件。然后,使用专用的下载工具(如烧录器或编程器)将HEX文件通过编程接口连接到单片机的相应引脚上。接下...
51 单片机 怎么将hex代码 下载 去 单片机 ?回答如下:要将hex代码下载到51单片机中,需要使用一个编程器,如STC-ISP、USBISP等。下面是一些大致的步骤:1.将编程器与电脑连接,并安装驱动程序。2.将51...
能不能通过esp8266给 单片机下载程序 ?可以通过esp8266给单片机下载程序,但是不实用,电脑端单片机程序下载软件大多数用串口连接单片机,这样就需要用两个esp8266模块(一个服务、一个客户连接...
我用Keil uVision2编好的 程序 怎么 下载 到 单片机 里面去,我有普...在KeiluVision中变好的程序,需经过编译生成.hex类型的文件。把单片机放到烧录器中,打开烧录软件,连接烧录器,选择正确的单片机型号,下载就好了。烧就行...