程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍
单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编程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
以上为几种常见的烧写方式以及所使用的工具,欢迎大家留言评论,如果转载请注明作者信息和头条出处,感谢支持。
单片机串口问题
前一阵子在Pic官网购买了一块8位单片机开发板。
然后遇到了一些问题,所以和大家探讨一下,对这个有了解的还希望在下方评论、谢谢!
Pic18F47Q10
我买的是Pic18F47Q10 NANO 开发板,如下图
板子的质量一等做工,产自马来西亚。
是我买到的为数不多的优质的开发板。
它可以通过数据线直接给单片机烧录程序,因为板子上集成了烧录器的功能,通过下方这个芯片来完成烧录。
除了可以给单片机烧录程序、还可以做调试、串口使用。
引脚图
问题
在使用中遇到了串口不能收发数据的问题。
最开始我没有多想,就用平时的思维改了程序的时钟、波特率这些。
后来发现不行,于是查看数据手册,发现这个单片机有两组串口,而我没有定义使用的是哪一组串口。
于是我又查看板子的原理图,看看哪一组串口连接到了USB端。原理图如下:
结果接到USB端的既不是单片机上的串口1、也不是串口2,而是一组普通的I/O口!
RD0和RD1!
那么问题来了!
为什么单片机上有两组现成的串口不用,而特意去虚拟一组串口呢?
欢迎知道的小伙伴在下方评论!
相关问答
单片机 是stc89c52,现在想通过 串口 (TXD、RXD、GND)来 烧录 程序...max232芯片104的电容一个9针串口(母头的)即可具体电路可参考stc89c52的pdf文件CH340T芯片不会烧的,因为它与单片机并不直接相连,是与232接口连接的。单片机...
32 单片机串口烧录 如何配置?要配置32单片机的串口烧录,首先需要确定使用的烧录工具和烧录软件。然后,连接烧录工具到单片机的串口引脚上,确保连接正确。接下来,在烧录软件中选择正确的...
51 单片机 串口 isp 烧录 原理?51单片机串口ISP烧录的原理是机器上电时,此时最先运行的就是boot的程序,而boot的程序运行时首先会检测是否有编程需求,如果有,则与上位机通讯进行FLASHROM...
学习 单片机 编程, 烧录器 必须使用 串口 ,但新电脑都没有 串口 。怎...下载个串口设置工具--SETCOM.EXE,将USB转串成COM3的改成COM2,就可以了。如果找不到,留个邮箱,发给你。可能的电缆插头接触不良,插拔式的尝试。炜煌200A!好...
单片机 为什么能直接 烧录 程序?我刚开始学习单片机的时候也有和题主类似的困惑。当时是在大二,刚申请了个淘宝账号不久,刚看了下我的淘宝已购物品,第五件东西买的就是51单片机开发板,前几件...
【在线等】51 单片机 烧写程序时,总是提醒“ 串口 已被其他程序打开或 串口 不存在”怎么办?首先,烧录的时候要确保51单片机为开机状态,51需要转换为机器语言烧录,如果你那块有下载器可以试一试这种原始的方法,不行的话再检查串口和所用串口是否一致,...
单片机 该怎么“烧”,用什么应用比较好?不同的单片机其程序的烧写方式是不一样的,从主流型号的单片机来看,下载方式无非有这么几种:1)ISP烧写方式;2)SWD烧写/调试方式;3)JTAG烧写调试/方式。当然也...
如何将程序 烧录 到 单片机 里?将程序烧录到单片机中,通常需要以下步骤:1.准备好烧录器和所需的软件:一般来说,需要使用专门的编程器和相应的烧录软件。可以根据自己所用的单片机型号来选...
stc-isp烧录软件如何给51 单片机烧录 ?需要利用下载器和下载软件才能将keil程序输出的hex文件烧录到单片机中。具体操作请参照以下步骤,演示单片机为51单片机。1、首先准备好51单片机最小系统板和...
如何给stc89c51 单片机 烧写程序?朋友们好,我是电子及工控技术,我来回答这个问题。对于给单片机烧写程序是每位学习单片机技术的朋友必须要掌握的一种技能,下面我给朋友们分享一下我是如何给单...