产品选型

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

小编 2024-10-09 产品选型 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单片机烧写 程序时提示Fuseerror0x2007?

你用的是紫外线可擦除的程序存储器吧?我以前用过它,当时出现这种现象的原因是存储器擦除不够彻底,导致内存地址报错,继续擦除时间长点试试吧!!!如果不是...

pic单片机 EEPROM肿么编写程序啊??-ZOL问答

这两个函数一个读一个写。比如你想写0x10到地址为0x55的EEPROM,就写:eeprom_write(0x55,0x10);同理,如果想读取0x55地址处的值,就写:ee_value=...

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

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

pic单片机 中断函数如何命名?

中断的函数名师自己定义的,但是必须在后面加入关键字“interruptx”,其中“x”是中断向量的编号(中断向量号对应的中断查看任何一本讲解51的书),主函数中不...

单片机烧 了怎么修?

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

Keil可以用来开发 PIC单片机 程序么?

keil不能给pic单片机编程。pic有专用的编译软件,mplab和c语言编译软件picc。1、MPLABX目前还不是很成熟,如果用来做项目的话,建议用MPLAB8.86版本即可,到MIC...

线路板焊接好后怎么写程序 ?就是 单片机 已经焊好之后 好不好...

就是单片机已经焊好之后好不好能把程序弄进去。需要具体方法讨论回答(4)什么单片机?51可以有isp或者串口pic得用icd他那是51的,可以在线编程!平时都是...

pic单片机 status寄存器的作用是什么?

pic单片机status寄存器的作用是:各类数据存储器都是以寄存器方式工作和寻址的。型号不同的PIC单片机,其数据存储器的内部资源仅仅是功能种类和多少的不同...

pic单片机 中tris和port是什么意思,怎么理解,怎么用,是走能做输出又能做输入,屏蔽高四位是?

PORT是端口I/O寄存器(如PORTA、PORTB…)写PORTx寄存器就是将数据值写入该端口锁存器。读PORTx寄存器就是读取I/O引脚上的数据值。TRIS是端口I/O控制寄存...

pic单片机 在线编程口是否需要加上拉电阻

pic的在线编程口不需要上拉电阻,最好是悬空我用过pic12f508,是不需要的,但是最好再看看芯片手册,毕竟那才是正确的,

猜你喜欢