产品概述

程序在单片机 如何用编程器将程序写到单片机里?看完你会绝对一点都不难

小编 2024-11-24 产品概述 23 0

如何用编程器将程序写到单片机里?看完你会绝对一点都不难

编译过的的单片机程序经编译、仿真和调试完成后,如果确定没有问题,就可以用编程器将程序写入单片机。

1.编程器

编程器的主要功能有两个:一是擦除单片机中的程序,二是向单片机中写入程序。不同类型的单片机一般需要不同的编程器,也有些编程器可以擦写多种类型的单片机,但其价格较贵。

这个就是SP-51pro编程器,它主要用于擦写MCS-51系列单片机,支持的类型有最为经典和市场占有量最大的 Atmel 公司 51 系列 AT89C51、AT89C52、AT89C55、AT89C1051、AT89C2051、AT89C4051、AT89S51、AT89S52、AT89LV52、AT87F51等单片机和某公司的W78E51、W78E52单片机及串行存储芯片AT24C02等。购买编程器时,可以查看该编程器附带的说明书,以了解它是否支持自己所使用的单片机。

2.用编程器擦写单片机程序

用编程器擦写单片机程序,首先要将编程器与计算机连接起来,再在编程器的插座中插入要擦写的单片机,然后启动编程软件,在软件中对单片机进行擦写操作。

(1)连接编程器

在连接编程器时,先将编程器的COM接口(用作数据通信)与计算机的COM接口连接好,然后将要擦写的单片机安插在编程器相应的插座中,再用一根USB线将编程器的USB接口与计算机的USB接口连接起来,让计算机通过这根USB线向编程器提供+5V的工作电压。

(2)擦写单片机

欲使编程器能够擦写单片机中的程序,需要相配套的软件,购买编程器时会附带这种软件。在计算机中安装该软件后,再启动它,启动后的 SP-51pro 编程器软件窗口

软件启动后会自动检测连接计算机 COM 接口的编程器,检测到编程器后,在软件窗口右边的窗口中会显示“编程器:就绪”字样。如果检测失败,可单击软件窗口下方的“设置”项进行设置。

启动编程软件并检测到编程器后,再在软件窗口左上角的下拉列表框中选择要擦写的单片机型号。若想擦除单片机中的程序,可单击窗口左侧的“(自动)擦除器件”项,即可将单片机中的程序擦除。在向有程序的单片机中写新程序时,要先擦除其中的旧程序。

如果要将程序写入单片机,可单击窗口左侧的“(自动)打开文件”项,在弹出的对话框中选择要写入单片机的程序文件“test1.hex”,再单击“打开”按钮,软件窗口右侧的窗口中会出现“读入文件……”字样,

在对话框中选择要写入单片机的程序文件

单击“(自动)写器件”项开始将程序写入单片机

单击侧的“(自动)写器件”项,编程器开始将test1.hex文件中的内容写入单片机,程序完全写入单片机后,在软件窗口左下方的进度条上会出现“写器件完成”字样,如图

程序写入单片机后,将单片机从编程器插座上取下,再将它安装在实验板的单片机插座上,给实验板通电,单片机工作,内部的程序开始运行,通过 I/O 接口控制外围电路工作,从而实现预定的控制功能。是不是一点都不复杂,只是要有点耐心!

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

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

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

相关问答

程序 是怎么写入 单片机 的?

先在电脑中把程序写好,接着通过一个RS232的串口连接至电脑,最后用ISP下载器把程序导入到单片机中就行了。单片机是一种集成电路芯片,是采用超大规模集成电路技...

怎样把 单片机 里的 程序 读取出来和把 程序 写进 单片机 ?

要将程序读取或写入单片机,你需要一些必要的工具和步骤。以下是一个简单的指南,帮助你了解如何执行这些操作:1.准备必要的设备-单片机开发板-U...1.准...

如何把 程序 写到 单片机 ?

程序写入单片机的过程一般被叫做烧录,烧录的实际过程是:1.通过编译器编译生成单片机能够识别的执行程序2.通过上位机按照某种通讯协议,把二进制可执行文件...

怎样把 单片机 里的 程序 读取出来和把 程序 写进 单片机 ?

将单片机中的程序读取出来,可以通过以下步骤实现:1.连接单片机与计算机:使用适当的连接线将单片机与计算机连接起来,通常使用串口或USB接口。2.下载调试工...

单片机程序 下载好后如何运行?

只要程序下载进单片机里了,它就会自动从ROM区的起始地址开始运行。程序怎样安排的它就怎样运行,比如按键检测、引脚输出、其他中断程序等。比如你写了一个循...

大家都是怎么把 程序 导入 单片机 中的?

Keil与protues不需要有什么连接的在protues里面画好系统图后只要加载你的.hex文件给单片机就可以了方法为点单片机右键(编辑属性)加载...Ke...

单片机 中的 程序 计数器PC用来做什么 单片机 中的 程序 计数器PC用...

[最佳回答]B,你是逻辑上的错误!指令在执行,PC就是存放正在执行的指令地址.指令执行完了,将要执行下一条指令的瞬间,PC加1,就成了下一条指令地址.马上执行这条...

不要烧录器,怎么样把 单片机程序 拷贝到单片机里,-ZOL问答

用STC的单片机,就不用专用的烧录器,用一条串口线就能把程序下载到单片机里,非常方便的。一般不叫拷贝,叫下载程序或编程。有用(0)回复chloepan我这边用到的...

单片机 怎么输入 程序 ?

需要利用下载器和下载软件才能将keil程序输出的hex文件烧录到单片机中。具体操作请参照以下步骤,演示单片机为51单片机。1、首先准备好51单片机最小系统板和...

单片机 怎么烧写 程序 ?

单片机烧写程序需要使用编程工具,例如Keil等软件,将编写好的程序通过编译器编译为对应的单片机可执行文件,然后利用下载器将程序下载到单片机中。在烧写过...

猜你喜欢