产品选型

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

小编 2024-11-25 产品选型 23 0

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

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

以上为几种常见的烧写方式以及所使用的工具,欢迎大家留言评论,如果转载请注明作者信息和头条出处,感谢支持。

干货分享,单片机常用电路介绍,有图有真相

本文章由百度文库文章整理而来,百度关键字为“单片机常用模块电路大全”。

在我们设计单片机电子电路时,常用应用到一下比较常用的电路,每次都需要重新画,即费力又费神,还容易出错,所以本人将自己常用的电路设计成模块,每次使用直接负责即可。由于个人的力量有限,希望大家把自己常用的电路发上来分享。电路难免有错,希望大家指出。。。

1. RS232通讯电路

双路232通信电路:3线连接方式,对应的是母头,工作电压5V,可以使用MAX202或MAX232。

2. 三极管串口通讯

三极管串口通信:本电路是用三极管搭的,电路简单,成本低,但是问题,一般在低波特率下是非常好的。

3. 单路RS232通讯

单路232通信电路:三线方式,与上面的三级管搭的完全等效。

4. USB转RS232

USB转232电路:采用的是PL2303HX,价格便宜,稳定性还不错。

5. 复位电路

SP706S复位电路:带看门狗和手动复位,价格便宜(美信的贵很多),R4为调试用,调试完后焊接好R4。

6. SD卡模块电路

SD卡模块电路(带锁):本电路与SD卡的封装有关,注意与封装对应。此电路可以通过端口控制SD卡的电源,比较完善,可以用于5V和3.3V。但是要注意,有些器件的使用,5V和3.3是不一样的。

7. LCM12864液晶显示电路

LCM12864液晶模块(ST7920):本电路是常见的12864电路,价格便宜,带中文字库。可以通过PSB端口的电平来设置其工作在串口模式还是并行模式,带背光控制功能。

8. LCD1602液晶显示电路

LCD1602字符液晶模块(KS0066):最常用的字符液晶模块,只能显示数字和字符,可4位或8位控制,带背光功能。

9. 全双工RS485电路

全双工RS485电路(带保护功能):带有保护功能,全双工4线通信模式,适合远距离通信用。

10. 半双工RS485电路

RS485半双工通信模块:可以通过选择端口选择数据的传输方向,带保护功率。此模块只能工作在5V.

11. JTAG仿真接口

ARM JTAG仿真接口电路:比较完善,可以应用在常规的ARM芯片下,具有有自动下载功能,可以用JLINK或ULINK.

12. DC5V输出电路

5V电源模块:这个电路比较简单,如果用直插可以达到1.5A,如果用贴片的可以到达1A。

13. DC3.3V电源输出电路

3.3电源模块:可以到达800mA,价格非常便宜,也有相应的1.8/1.2的芯片,可以直接替换。

14. 常用开关电源电路

15. DS1302时钟电路

DS1302数字时钟:一款非常普及的时钟电路,好用,成本低。

16. AT24C02通讯电路

AT24C02(EEPROM):最常用的EEPROM电路。

想要获取更多电子设计资料、单片机学习资料,请在百度搜索“振兴网”,搜索结果中点击第一条链接进入网站即可。

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。

公众号:micropoint8。嵌入式学习网振兴网:www.picmcu.com

相关问答

怎么样往芯片里写程序? 单片机 是干什么的?-ZOL问答

单片机是干什么的?讨论回答(5)给芯片写程序是根据芯片的烧写时序(学过数点就明白)来决定了的,至于烧录软件,网上也很多,常用的51单片机烧写软件是STC_ISP_V48...

单片机 的使用流程?

第一步:数字I/O的使用使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合...

单片机 是什么供电器?

单片机是直流供电,一般是5V或3.3V的直流电,是正负极。单片机就是一块集成电路芯片上集成有CPU、程序存储器、数据存储器、输入/输出接口电路、定时/计数器、...

单片机 要学 电路 分析吗?

要学习。学单片机需要电路基础,C语言基础,理论基础知识。电路基础知识内容包括电路的基本概念和规律、电路的等效变换、线性电路、正弦交流电路、互感电路和...

单片机电路 工艺要求?

1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,...

单片机 上怎么连线?

单片机上连线方法一般单片机的外接按键有三种接法:1、每个I/O端口接一个按键:按键接另一端通常是接地,I/O口通常还应该接一个上拉电阻,有些单片机的I/O口可...

单片机 能否点亮家庭 电路 中的灯?怎么实现?

单片机控制电灯是极为简单的事情单片机其实就是一个微型“电脑”,它集成了CPU、RAM、ROM、I/O、定时器、中断等等功能。单片机工作需要直流电供电,一般是5V或...

单片机电路 采集380V交流电路电流信息的办法?

采集端用电流互感器,然后互感器末端的输出信号通过一些限流措施加到ADC0809(模拟到数字)转换芯片的某个通道上,最后芯片的数据输出端接到单片机的I/O上就可以...

求推荐一台笔记本,用于 单片机 开发、软件编程及 电路 仿真,性...

顶级配置如i7+RTX显卡组合让你在单片机世界里横冲直撞,编程、仿真一个都不落下...它们配置不错,Inteli5起步,内存大点的版本能轻松搞定单片机和电路仿真。性价...

利用51 单片机 定时器编写一个C语言程序,实现一个发光二极管定时亮、灭,要求亮一秒、灭一秒交替闪烁不?

初始值为0,只只要启动定时器,定时器就开始工作,当计数溢出后,TF被置1,此时在程序中查询TF的状态,做相应的程序处理。一般建议用中断来做,查询方式会占用c...

猜你喜欢