程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍
单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编程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
以上为几种常见的烧写方式以及所使用的工具,欢迎大家留言评论,如果转载请注明作者信息和头条出处,感谢支持。
如何给AVR单片机烧录程序
之前做项目有碰到过因为AVR单片机下载程序出错而导致程序无法正常执行。下面就教各位使用正确的方法来完整的烧录程序到单片机当中。注意此次选用的单片机是非常经典的Atmega328p,该单片机广泛用于各类项目中,同时也是开源平台Arduino的其中一款核心主控。
Arduino Nano
工具材料
USB ISP下载器
Win10/Win7 PC一台
下载软件Progisp
USB ISP
1. 将下载器接入电脑,另一端接入到板子的下载口。请注意,下载器的引脚一定要和板子上的引脚一一对应。
板子ISP接线图
2. 打开PROGISP文件夹,然后双击“progisp.exe”。
Progisp软件
软件界面
3. 芯片选择“ATmega328p”,单击右上侧“调入Flash”。
4. 弹出的对话框中选中已生成的.hex文件,再点击打开。
选中Hex文件
5. 此时下载软件中的编程方框按照下图的方式选择。
下载前设置
6. 接下来单击右下角的方框,会弹出一个新的窗口。
点击设置熔丝位
熔丝位配置选项
7. 按照下图的方式将每个框都勾选正确,然后点击右上角X退出即可。(注意,不同的单片机型号对应的熔丝位配置是不一样的,具体的配置请见具体的数据手册。)
Atmega328P的熔丝位设置
8. 然后点击软件上的“自动”按钮,下方信息框会显示正在上传程序。
烧录进行中
9. 待上传完成,本次程序烧录完成。
相关问答
用手机数据线怎么把程序 烧录 到 单片机 中?-ZOL问答用USB双头线烧写STC单片机AT89S52是用USB下载线烧写用编程器烧,或者买个烧录坐烧看是什么单片机喽,51和AVR的话用USBasp,淘宝一下有很多(10多块);软件用prog...
win8.1的系统,51 单片机 插进 USB 接口后就显示这,而且 烧录 不进...亚马逊USB连接线讨论回答(6)肯定是驱动没装好,建议重新安装,完成后重启电脑在试试。你好,这个原因你应该看看设备管理器里面的串口用的对你不对,我的公司里...
51 单片机 开发板能不能 烧录 程序?单片机开发板能够通过烧录程序的方式来加载软件程序。烧录程序是将软件程序通过编程器或者USB接口写入开发板的存储器中,使得单片机能够执行相应的功能。通过...
stc 单片机 能用普通的 usb 转串口 烧录 吗?不行。普通的USB转串口只能实现PC与外部串口设备的连接,而stc单片机需要用特定的烧录器或USB接口芯片来进行程序烧录。这是由于stc单片机协议与普通的串口协...
如何给 单片机烧录 程序?要给单片机烧录程序,您需要以下几个步骤:1.准备烧录设备:您需要一台烧录器或编程器。不同类型的单片机可能需要不同类型的烧录设备,所以请确保您选择的烧录...
80如何使用STC 单片机烧录 工具(STC?stc单片机烧录工具(现在有U8WProgrammer/编程器),用USB连线连接电脑就可以了,软件用官网下载的stc-isp-15xx-v6.86p,V6.86是现在最新版。stc单片机烧录...
如何用labview编写 单片机 烧写程序?单片机方面需要一个232下载芯片连接到单片机的串口上电脑方面还需要一条USB转232串口的下载线然后烧录hex文件给单片机上电就OK了单片机方面需要一个232下...
win10笔记本电脑如何烧写 单片机 程序?现在很多烧写器都是usb接口的。用串口的烧写器可以使用usb转串口线来烧写。一般都是可以的。有些特殊的烧写器是并口的,就比较麻烦了。现在很多烧写器都是u...
51 单片机 无法 烧录 ?不充分因为烧录不成功可能是由于硬件连接问题、驱动安装问题、烧录工具使用问题等,需要耐心地一步一步排查并解决。此外,研究51单片机还需要学习汇编语言、C语...
现在手机可以向 单片机 进行 烧录 或者编程吗?不能.单片机方面需要一个232下载芯片连接到单片机的串口上电脑方面还需要一条USB转232串口的下载线然后烧录hex文件给单片机上电就OK了不能.单片机方面...