设计与开发

pic单片机 烧写 单片机程序怎么烧写?各种单片机程序烧写方法,快来看看吧!

小编 2025-06-07 设计与开发 23 0

单片机程序怎么烧写?各种单片机程序烧写方法,快来看看吧!

单片机学习、使用非常重要的一个步骤就是把写好的程序烧写到单片机里,好多初学者,好不容易才写好一个程序,马上想让他跑起来,但是如何烧写程序确犯难了!

我把单片机常用的烧写方法做了一下归纳,希望能够帮到大家!

一、编程器方式

图1:单片机编程器

1、早期单片机的编程方法

早期的51系列等单片机,要购买一个专用的编程器,才能把程序写入单片机,一般编程器与PC机之间用USB、串口、并口等方式连接并传输数据,编程器成本高,不如在线编程方式灵活方便,现在个人和小批量的编程已经很少使用了。

2、量产的编程方法

对于批量生产的产品,用在线方式显然效率太低了,使用专门的编程器,实现脱机编程,一次可烧写大量的芯片,因此为厂家生产所采用。

二、SPI接口模式

这个是atmel 和PIC单片机常用的下载方式,SPI接口和电脑的现有通讯口都不兼容,因此要把PC的端口通过电路转换成SPI方式,因此都有一个转换器,并口、串口、USB口转SPI下载,并口和串口转换到SPI比较简单,可以网上找资料自己制作,笔者就自己制作过并口转SPI的下载器。USB转SPI的只做起来有点难度,但是使用比较方便,一般网上都成品销售。SPI下载的优点是下载比较可靠和稳定,与单片机的接口特别简单。

图2:USB转SPI下载器

图3:SPI接口

三、串口模式

单片机利用串口下载程序,典型的是STC的单片机,一种是在电路板上自己设计USB转串口的电路,该电路设计对布局布线要求较高,有一定难度。另一个是使用USB转串口的编程器或者下载板。

与SPI方式比较起来,串口下载时需要单片机冷启动,稍显复杂,稳定性不如SPI方式,因为可靠的冷启动并不那么容易实现,偶尔出现无法下载的现象,需要重复下载几次才能成功。

图4:U8编程器

图5:USB转串口下载板

四、JTAG

该接口既可用于下载,还能对单片机进行调试,一般仿真器采用此种形式的接口。缺点是下载速度较慢。

图6:USB转JTAG的仿真器

五、其它方式

USB下载,网口下载等,这些需要单片机具备相应的端口,同时还要编写对应的驱动程序,才能够使用这些接口,入门级单片机使用的较少。

图7:ARM9的USB和网络口

欢迎评论和点赞,不喜欢的请拍砖!觉得不完美的请给出您的宝贵建议。

本文属于原创首发,未经授权,请勿用于商业用途!

pic单片机编程串烧,pic单片机汇编语言讲解上篇

单片机" target="_blank">pic单片机为最常用单片机之一,许多程序均基于pic单片机进行开发。因此,熟练pic单片机编程尤为重要。为保证大家能准确、熟练掌握pic单片机的使用,本文特带来pic单片机的各种汇编语言指令的讲解上篇,下篇将在后期文章中予以讲解。如果你对本文即将讲解的内容充满兴趣,不妨继续往下阅读哦。

一、pic的指令系统

pic8位单片机共有三个级别,有相对应的指令集。基本级pic系列芯片共有指令33条,每条指令是12位字长;中级pic系列芯片共有指令35条,每条指令是14位字长;高级pic系列芯片共有指令58条,每条指令是16位字长。其指令向下兼容。

二、pic汇编语言指令格式

pic系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:

标号 操作码助记符 操作数1,操作数2;注释

指令格式说明如下:指令的4个部分之间由空格作隔离符,空格可以是1格或多格,以保证交叉汇编时,PC机能识别指令。

1.标号

与MCS-51系列单片机功能相同,标号代表指令的符号地址。在程序汇编时,已赋以指令存储器地址的具体数值。汇编语言中采用符号地址(即标号)是便于查看、修改,尤其是便于指令转移地址的表示。标号是指令格式中的可选项,只有在被其它语句引用时才需派上标号。在无标号的情况下,指令助记符前面必须保留一个或一个以上的空格再写指令助记符。指令助记符不能占用标号的位置,否则该助记符会被汇编程序作标号误处理。

书写标号时,规定第一字符必须是字母或半角下划线“—”,它后面可以跟英文和数字字符、冒号(:)制符表等,并可任意组合。再有标号不能用操作码助记符和寄存器的代号表示。标号也可以单独占一行。

2.操作码助记符

该字段是指令的必选项。该项可以是指令助记符,也可以由伪指令及宏命令组成,其作用是在交叉汇编时,“指令操作码助记符”与“操作码表”进行逐一比较,找出其相应的机器码一一代之。

3.操作数

由操作数的数据值或以符号表示的数据或地址值组成。若操作数有两个,则两个操作数之间用逗号(,)分开。当操作数是常数时,常数可以是二进制、八进制、十进制或十六进制数。还可以是被定义过的标号、字符串和ASCⅡ码等。具体表示时,规定在二进制数前冠以字母“B”,例如B10011100;八进制数前冠以字母“O”,例如O257;十进制数前冠以字母“D”,例如D122;十六进制数前冠以“H”,例如H2F。在这里PIC8位单片机默认进制是十六进制,在十六进制数之前加上Ox,如H2F可以写成Ox2F。

指令的操作数项也是可选项。

PIC系列与MCS-51系列8位单片机一样,存在寻址方法,即操作数的来源或去向问题。因PIC系列微控制器采用了精简指令集(RISC)结构体系,其寻址方式和指令都既少而又简单。其寻址方式根据操作数来源的不同,可分为立即数寻址、直接寻址、寄存器间接寻址和位寻址四种。所以PIC系列单片机指令中的操作数常常出现有关寄存器符号。有关的寻址实例,均可在本文的后面找到。

4.注释

用来对程序作些说明,便于人们阅读程序。注释开始之前用分号(;)与其它部分相隔。当汇编程序检测到分号时,其后面的字符不再处理。值得注意:在用到子程序时应说明程序的入口条件、出口条件以及该程序应完成的功能和作用。

以上便是小编此次带来的“pic单片机”的相关内容,通过本文,希望大家对pic单片机的汇编语言的使用具备一个初步的认识。在后期文章中,小编将为大家带来本文的下篇,如果大家对汇编内容存在一定兴趣,请一定要关注哦。

相关问答

. pic单片机烧写 问题Theovercurrentlogichasdetectedafaultco...

[最佳回答]供电电流不够,烧写器的带载能力不强,你看看烧写器供电有没有选择上,然后是不是烧写器对电路板的其他外设进行了供电。我一般会在单片机的5V电源和外...

pic 16f 单片机 如何烧录程序?

pic16f单片机烧录程序需要使用相应的开发环境和工具。以下是烧录程序的一般步骤:1.准备开发环境:选择适合pic16f单片机的开发环境,例如Microchip的MPLABIDE...

这个 pic 编程器怎么样 烧写pic 16f877?

照着这个图可以做出PIC16F877的编程器的,这种是JDM编程器,要用IC-PROG烧写软件,网上可以免费下个。图是的是18引脚的PIC编程器,但PIC16877编程也同样只用到M...

pic单片机 中断时间计算?

关于PIC单片机T0定时器的计算是这样的4M晶振的时候一个时钟周期是1/f(f为时钟频率即4M)。也就是说一个时钟周期是T=1/f=0.00000025s=0.25us。PIC16f877是一个...

通俗的介绍一下 pic单片机 - 懂得

为什么要和电脑类比呢?看来你没有用过单片机吧,单片机的结构都是大同小异的。那就象征性地类比下。pic是哈佛结构的,程序存在程序存储器,也就是ROM...

单片机烧 了怎么修?

单片机系统的维修要抓住满足单片机正常工作的三个必要条件:电源、时钟、复位。使用万用表直流电压挡测量单片机工作电压并不能100%说明电源正常,如果电源纹波...

我初学 PIC单片机 C语言编程,请问C语言中如何定义PIC16C管脚。我用的是MPLAB中的PICC编程工具?

TRISA=0FFH,定义为输入TRISA=00H,定义为输出,其他类似TRISA=0FFH,定义为输入TRISA=00H,定义为输出,其他类似

PIC 单片机 所有GPIO的最大拉电流和任意I/O引脚最大输出拉...

[最佳回答]所有I/O的最大拉电流是针对单片机电源输入脚的电流耐受能力的,因为IC的工艺原因,电源输入引脚的引线不可能像线路板走线那样宽的,属于微小引线的,此...

PIC单片机 串口下载软件?

PIC下载通常分2种:焊接前用烧录机烧录,然后下载用下载工具,如ICD2,PICKIT3等还有一种办法,就是内置了bootload,PIC的做过功能要自己实现,可以通过诸如串...

pic单片机 pid控制算法参数整定?

我这有51的#include#include"global_varible.h"/*********************************************...

猜你喜欢