单片机是一种可编程控制器,搭好硬件电路后,能够运用程序完成许多非常复杂的逻辑功用,与纯硬件电路比较,简化了硬件外围的规划、便利了逻辑的规划、丰厚了逻辑的输出。不同厂家的单片机需求不同编程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接口都经过电阻上拉了,有的单片机的这几个引脚在内部现已上拉,所以这几个上拉电阻能够省掉,减少了本钱和PCB空间的占用。
JTAG接口烧录方法常用的东西为J-Link,实物图如下图所示。

信任我们都见过或许听过这个烧写东西,这个东西很通用,可是我们在运用的时分必定要注意版权信息,因为这个东西是有版权的,前两年因为版权风云,网购渠道还会集整治过一次。
2.SWD接口烧录方法
SWD是一种串行调试接口,与JTAG比较,SWD只需求两根线,分别为:SWCLK和SWDIO。他们的意义如下:
SWDIO–串行数据线,用于数据的读出和写入;SWDCLK–串行时钟线,供给所需求的时钟信号;一般来说,大多数单片机的JTAG接口和SWDIO接口是复用的,SWD也是用J-Link东西来完成的。所以在运用的时分,只需求在软件界面做一下挑选,运用SWD方法仍是JTAG方法,硬件上无需改动。除了J-Link外,意法半导体的ST-Link也是支撑SWD形式的。

SWD的接口如上图所示,能够看出,SWD和JTAG是彼此复用的,因为SWD只需求两根线所以大大减少了对单片机GPIO口的占用,SWD方法也是能够在线调试的。
3.ISP烧写方法,用UART完成
运用过国产51单片机的朋友都清楚这种烧写方法,这种烧写方法是经过单片机的UART串口来完成的,所需求的东西也比较简单-USB/TTL。这个USB/TTL的芯片能够经过MAX232、CH340G等芯片来完成,经过MAX232完成的UART烧写电路如下所示:

在与单片机衔接的时分,必定要注意穿插衔接,所谓穿插衔接即,单片机的TXD接串口RXD,单片机的RXD接串口TXD,不然数据通信失利。51单片机在运用该方法下载时需求断一下点再上电才干下载。
STM32单片机能够运用UART来完成程序下载,可是需求挑选BOOT的形式,现在经过CH340G芯片能够完成主动ISP的下载方法,即不需求手动设置BOOT形式。
4.SWIM单总线下载方法
这种下载方法是针对STM8系列的单片机,这种方法只需求一根线即可完成程序的下载,所运用的东西为ST-Link,如下图所示:

以上为几种常见的烧写方法以及所运用的东西,欢迎我们留言谈论,假如转载请注明作者信息和头条出处,感谢支撑。