单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编程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单片机下载完程序后不亮_程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍...相关推荐

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

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

  2. 单片机的四种烧写方式

    参考:单片机的四种烧写方式 作者:爱学习的小王呀 发布时间:2020-11-27 20:05:12 网址:https://blog.csdn.net/hongliwong/article/detail ...

  3. 51单片机下载完程序后不亮_为什么要学习单片机?如何开始上手学习单片机?...

    单片机是大学电类专业的一门普通课,有些学校甚至把它列为选修课,在众多课程中,没有显出它有多么重要.为什么要学习它呢?因为,市场对学者继承人的需求太少,大量需要的是产品的研发者,研发产品是需要干实际事情 ...

  4. python运行程序的快捷键_在Python集成开发环境中,可使用快捷键()运行程序。...

    在Python集成开发环境中,可使用快捷键()运行程序. 更多相关问题 如何理解创新能力测试与创新能力的关系? 直埋线路与埋式电力电缆电压<35kv平行时最小间距为(). 放射性物品装卸作业时, ...

  5. 给单片机焼写程序需要什么东西_单片机怎么烧写程序

    1.单片机怎么烧写程序 STC系列单片机为例:首先,需要安装keil软件和STC_ISP程序下载软件.先对你想要实现对单片机的功能用keil编程,然后用STC_ISP下载软件下载到单片机上,最后打开给 ...

  6. 51单片机usb烧录电路_51单片机怎么用usb烧写程序 - 全文

    单片机怎样用usb烧写程序 首先,需要安装keil软件和STC_ISP程序下载软件. 先对你想要实现对单片机的功能用keil编程,然后用STC_ISP下载软件下载到单片机上,最后打开给单片机提供电源就 ...

  7. STM32、51单片机如何使用USB转TTL烧写程序?

    STM32.51单片机如何使用USB转TTL烧写程序? 一个好的程序员就要有钻研的精神,有串口工具就要用! 下面给大家介绍一下除了用J/ST-LINK烧写程序的另一种方法. 废话不多,按步骤一步步来! ...

  8. C语言烧写C51单片机的线,51单片机烧写程序过程以及详细说明【图文】

    Step 1:Keil软件的安装 1.选中文件夹中的C51V900安装程序并打开,如图: 2.在安装对话框里一直选择Next,直到Finish完成Keil的安装. Step 2: 安装USB转串口线的 ...

  9. STC单片机蓝牙无线下载-烧写程序ISP(STC8 STC15 STC12 STC11 STC89)

    前一阵子用单片机开发一个小东西,其应用在一个非常潮湿的环境,以至于电脑和人员没发接近,但是又需要很长时间来调整参数,才能将设备设定好.另外设备一直在转动,这又导致不能通过电缆下载程序.在此时,我想到了 ...

最新文章

  1. poj-1159 Palindrome **
  2. Linux学习之系统编程篇:单个线程的退出函数
  3. silverlight 获取文本框焦点
  4. 文件系统应用笔记之一:FatFS在STM32F4上的移植
  5. 人生苦短之---第一个Python程序
  6. effective_transformer
  7. 泛微服务器运维监控,泛微协同平台E-cology8后台维护手册-流程引擎(261页)-原创力文档...
  8. 百度 html 3d,百度地图实现3D棱柱
  9. 使用Libgdx游戏引擎做的2D横版过关游戏
  10. 【LeetCode力扣】青蛙跳台阶问题,一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
  11. C语言利用差分法求解泊松方程
  12. charles入门使用
  13. 微信商户平台配置JSAPI支付目录,vue项目,好多坑呐
  14. zynq 移植ubuntu_ROS ZYNQ移植
  15. Blur大战Opensea:a16z的奶酪与Paradigm的独食
  16. Android Studio 中的maven仓库使用
  17. 【WB32库开发】第12章(上)TIM1高级定时器——PWM输入捕获
  18. 深度学习相关公开数据集
  19. csgo进创意工坊显示专用服务器,国服CSGO加载Steam创意工坊的图
  20. 微软账户登不上解决方案

热门文章

  1. php的cookie变量作用,PHP语言中cookie的作用
  2. 【转】Ubuntu 16.04 Nvidia驱动安装(run方式)
  3. 【转】1.1【MySQL】基本SQL语句大全
  4. 【转】1.B(译).NET4.X并行任务Task需要释放吗?
  5. 【转】刨根究底字符编码之三——字符编码的由来
  6. ROS坐标系统,常见的坐标系和其含义
  7. 通用usb集线器驱动_多口充电、高速传输——ORICO晶锐系列7口集线器测评
  8. Mysql主从延时解决办法
  9. 【Linux学习】强大的文本分析工具AWK
  10. 【qduoj - 夏季学期创新题】C语言课程设计-阶梯问题(dp,高精度大数)