MPLAB-PICC生成HEX文件简单说明
使用MPLAB烧写PIC单片机程序步骤

使用MPLAB烧写PIC单片机程序步骤MPLAB是一个由Microchip公司开发的集成开发环境(IDE),用于编写和调试基于PIC单片机的程序。
使用MPLAB可以简化PIC单片机程序的开发过程,并提供了许多有用的工具和功能。
下面是使用MPLAB烧写PIC单片机程序的步骤:1. 确定PIC单片机型号和连接方式:首先要确定要使用的PIC单片机型号,以及将要使用的编程器和连接方式。
Microchip公司提供了许多不同型号的PIC单片机,每个型号和系列都有特定的功能和规格。
确定型号后,需要选择与之兼容的编程器和连接方式。
常见的连接方式包括ICSP(In-Circuit Serial Programming)和ICD(In-Circuit Debugging)。
3.创建一个新的项目:在MPLAB软件中,选择“文件”->“新建项目”来创建一个新的项目。
在弹出的对话框中,选择合适的PIC单片机型号,并指定项目的文件夹和名称。
点击“下一步”以继续。
4.配置项目设置:在下一个对话框中,可以对项目的设置进行配置。
包括选择编程器和连接方式,配置时钟频率,选择编译器和其他选项等。
可以根据实际需求进行设置,并点击“完成”以完成项目的创建。
6.编译程序:在编写完PIC单片机程序后,可以点击工具栏上的“构建”按钮或选择“生成”->“生成工程”来编译程序。
MPLAB将自动调用所选的编译器来生成目标代码和可执行文件。
编译结束后,可以在“输出”窗口中查看编译结果和错误信息。
7.烧写程序到PIC单片机:在MPLAB软件中,选择“调试”->“运行”来启动烧写程序的过程。
根据之前配置的编程器和连接方式,MPLAB将尝试连接到PIC单片机,并将目标代码烧写到芯片中。
可以在“输出”窗口中查看烧写过程的详细信息和结果。
如果烧写成功,PIC单片机将会开始执行程序。
8. 调试和测试程序:如果程序无法正常运行或存在Bug,可以使用MPLAB提供的调试和测试工具来进行调试和测试。
生成hex文件

Keil的使用方法打开keil程序,在Project菜单下选择New Project
选择好保存的路径和当前的文件名之后,点击保存
然后会弹出如下窗口
在这里你需要选择芯片的类型,下面以A T89C51为例,选择好之后点击确定
这时会弹出一个窗口,让你选择是否加载“标准启动文件”,初学者不用加载,选择“否”
下面我们要建立一个C或者Ams文件,以C文件为例,点击File菜单下的New,创建一个新的Text1文档,在里面输入需要写的程序,下面以一段代码为例,
选择File菜单下的Save按钮保存之后,会出现以下对话框
输入文件名(由于默认是的保存类型是All File,而我们要的是C类型的文件,所以要输入后缀为.c的文件名)
点击保存,如果操作正确,程序中的关键字会变成蓝色
点击资源菜单下的“+”号
右键Source Group 1,选择Add File to Group ‘Source Group 1’这个选项
然后选中刚才保存的C类型文件,点击Add
然后点击Close,完成文件的添加。
下一步要进行工程设置,选择Project菜单下的Options for Target ‘Target 1’
会出现如下对话框
录进单片机用的。
如下图,然后点击确定
进行编译之后,就能生成一个hex文件了。
生成HEX步骤

五、应用软件调试程
1、建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project 选项
2、然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51,然后点击保存.
3、这时会弹出一个对话框,要求你选择单片机的型号.我这里用Atmel 的89c52,选择89c52之后,右边一栏是对这个单片机的基本的说明,然后点击确定.
4、单击“File”菜单,再在下拉菜单中单击“New”选项然后把上面的程序复制到这个新建文件里,以1fengzhong.ASM为扩展名保存。
5、然后单击“Add File to Group ‘Source Group 1’”
6、选中1fengzhong.asm,然后单击“Add”在“Source Group 1”文件夹中多了一个子项“1fengzhong.asm”
7、单击“Project”菜单,再在下拉菜单中单击“option for target“target1”选项,在弹出的对话框中单击“OUT PUT”选项,在create executable和create hex 这两个选项中打勾。
8、译成功退出KEILC。
9、运行STC,单击Open File选项,找到用Keil C 生成的“1fengzhong.hex”文件,串口选用COM1,其他设置默认。
10、连接好小信号系统板与电脑之间的连线,接好小信号系统板的电源(5V)此时不通电。
11、单击STC的“Download”键,然后接通小信号系统板电源。
MPLABIDE简单使用说明书

和 MCS51 单片机中的 Keil 编程开发软件一样,我们做项目开发,MPLAB IDE软件也是以工程为单位,即我们得为咱们的源程序创建工程文件,再进行配置,载入相应的源程序文件。
下面,我们来一起看一下,在PIC中,如何创建我们的第一个工程。
一、启动 MPLAB IDE用以下任何一种方法启动该软件:A.选择Start>Programs>Microchip>MPLAB IDE 7.41>MPLAB IDE。
(不同版本的MPLAB IDE软件可能路径名称会略有不同。
)B.双击桌面上的MPLAB IDE 图标。
二、创建源文件1.选择File(文件)>new…(新建),出现一个文本编辑窗口,在该窗口中输入以下汇编语言源程序:2.先创建文件夹D:\myprj,然后将上面输入的源程序保存该文件夹,注意文件的扩展名为asm,这里我们将它保存为exam1.asm:文件保存后,我们发现源程序编辑窗口中的程序被着上了各种颜色,这些颜色能帮助我们更好地阅读源程序,快速发现输入有误的指令:三、创建项目项目是将文件组织起来以便进行编译和汇编的方式。
选择Project(项目)>new…(新建),出现New Project (新项目)对话框:在New Project(新项目)对话框中,我们将这个示例项目命名为MyPrj,使用Browse 按钮,将项目放在名为D:\myprj的文件夹中。
单击OK按钮,在MPLAB IDE 界面上我们会看到已创建项目的的项目窗口,如下图:如果项目窗口未打开,请选择View>Project。
四、给项目节点添加文件源文件是必须添加的。
其他文件,如头文件、库文件、链接描述文件,视项目的具体情况可加可不加。
在本实例中,只添加一个源文件exam1.asm,在左边的项目窗口中找到Source Files节点,在其上点鼠标右键,在弹出的快捷菜单中选Add Files。
PIC单片机hex文件烧录方法

PIC单片机文件烧录方法
1. 把需要烧录的单片机正确的放入烧录座中,并将烧录座与PICKit3编程器相连,之后将PICkit3编程器连接好在电脑上,打开MPLAB IDE v8.92软件,如图1所示:
图1
2.选择需要烧录的器件,依次选择Configure——Select Device,选择PIC18F67J60器件,选择后点击OK,如图4,5所示:
选择器件,
Configure
图4
PIC18F67J60
3.连接PICkit3编程器,依次选择Programmer——Select Programmer——PICkit3
如图6所示,
选择PICkit3编程器
图6
4.给单片机上电,依次选择Programmer—Settings——Power,勾选Power target circuit from PICkit3,并将电压值调到4.5V,单击确认,如图A,B所示:
若出现如图7所示的界面,则表示与PICkit3编程器连接成功,若没有出现此界面,则表示没有连接上。
图B
图7
5.加载双摄像头单片机hex文件烧写的.hex,依次选择File——Import,选择所需的烧写的.hex文件,如图2,3所示:
图2
加载hex文件,
File——Import 表明连接成功
选择所需的
烧写的.hex
图3
6.连接成功后,如何8所示,这时把单片机放在烧座上(方向不要搞错),点第一个图标,烧录程序,烧录成功后出现如图9所示的界面。
点第一个图标,标烧
录程序
图8
显示此字样,表明烧录成功
图9
7.把单片机取出来,再放入新单片机重复第6步操作。
基础知识hex文件格式详解

基础知识hex文件格式详解hex文件格式总结•什么是hex文件?•文件格式•指令类型(Record type)•校验和o:04 02B0 00 92020008 AEo:04 0000 05 08000135 B9o:00 0000 01 FF•hex转bin文件什么是hex文件?hex是用于文件格式是intel规定的标准,总体来说,hex是文本文件,经常在微控制器的固件开发中看到hex的身影,例如基于STM32F103硬件,使用MDK开发的话,该软件就可以生成hex文件;如下图所示;这是一个简单的STM32标准外设库工程,代码里什么都没做,具体如下;#include 'stm32f10x.h'#include <stdio.h>/*** @brief Main program.* @param None* @retval None*/int main(void){/* Add your application code here*//* Infinite loop */while (1){}}最终,我们打开生成的hex文件,可以看到,这的确是一个文本文件,所以,直接将hex文件烧入MCU的Flash还是不行的,除非烧录软件可以把hex文件转成bin文件,然后再进行烧录;:020*********F2:10000000000400204901000899010008950100083A:10001000970100089101000881020008000000001B:100020000000000000000000000000009D0100082A:1000300093010008000000009B010008290200084D:100040006301000863010008630100086301000800:1000500063010008630100086301000863010008F0:1000600063010008630100086301000863010008E0:1000700063010008630100086301000863010008D0:10008000630100086301000863010008000000002C:1000900000000000000000000000000063010008F4:1000A00063010008630100086301000863010008A0:1000B0006301000863010008630100086301000890:1000C0006301000863010008630100086301000880:1000D0006301000863010008630100086301000870 :1000E0006301000863010008630100086301000860 :1000F0006301000863010008000000000000000028 :100100000000000000000000630100086301000817 :10011000630100086301000863010008630100082F :10012000630100086301000863010008630100081F :1001300063010008DFF80CD000F018F80048004711 :10014000A102000800040020064880470648004736 :10015000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE777:10016000FEE7FEE72D02000835010008064C074DAA :1001700006E0E06840F0010394E807009847103477 :10018000AC42F6D3FFF7DAFFA4020008B40200087D :10019000FEE77047FEE7FEE77047704770470000D4 :1001A0000CB500211F4801910091026842F4803291 :1001B00002604FF4A063026802F400320092019AD8 :1001C000521C0192009A12B9019A9A42F3D1026824 :1001D000920324D50121009141684160416841604A :1001E00041684160416821F47C114160416841F4FB :1001F00098114160016841F08071016001688901D6 :10020000FCD5416821F003014160416841F00201E1 :1002100041604168C1F381010229FAD10CBD00910E :100220000CBD00000010024070470000104810B5DF :10023000016841F00101016041680E4A11404160CE :1002400001680D4A11400160016821F480210160BC :10025000416821F4FE0141604FF41F0181600021DB :10026000C162FFF79DFF05494FF00060086010BDB7 :10027000001002400000FFF8FFFFF6FE08ED00E06E :10028000FEE702E008C8121F08C1002AFAD1704731 :100290007047002001E001C1121F002AFBD1704706 :1002A000FEE70000B4020008000000200004000087:0402B00092020008AE:0400000508000135B9:00000001FF文件格式通过上面的文件,我们不难发现,hex文件每行都由:作为起始码,这是显而易见的,而后面这些乱七八糟的数据又代表什么呢?先看下面这张图;hexformat这个和一般的通讯协议类似,一帧数据往往包括起始码,数据长度,数据类型,数据,校验码等等,所以hex文件也不例外,这里它包含几个特点,下面参考了wiki;•起始码:每行数据作为一帧,并由:作为起始码;•字节长度:两个十六进制数字(一对十六进制数字),指示数据字段中的字节数(十六进制数字对)。
单片机烧录用的hex文件,文件格式解析(转载)

单⽚机烧录⽤的hex⽂件,⽂件格式解析(转载)含有单⽚机的电⼦产品在量产的时候会⽤到.hex⽂件或者.bin。
hex是⼗六进制的,包含地址信息和数据信息,⽽bin⽂件是⼆进制的,只有数据⽽不包含地址。
任何⽂件都有⼀定的格式规范,hex⽂件同样具有完整的格式规范。
今天和⼤家分享⼀下,hex是如何解析的。
⼀、hex⽂件解析hex⽂件可以通过UltraEdit、Notepad++、记事本等⼯具打开,⽤Notepad++打开之后会看到如下数据内容。
使⽤Notepad++打开后会不同含义的数据其颜⾊不同。
每⾏数据都会有⼀个冒号开始,后⾯的数据由:数据长度、地址、标识符、有效数据、校验数据等构成。
以上图的第⼀⾏为例,进⾏解析:第1个字节10,表⽰该⾏具有0x10个数据,即16个字节的数据;第2、3个字节C000,表⽰该⾏的起始地址为0xC000;第4个字节00,表⽰该⾏记录的是数据;第5-20个字节,表⽰的是有效数据;第21个字节73,表⽰前⾯数据的校验数据,校验⽅法:0x100-前⾯字节累加和;其中,第4个字节具有5种类型:00-05,含义如下:字段含义00表⽰后⾯记录的是数据01表⽰⽂件结束02表⽰扩展段地址03表⽰开始段地址04表⽰扩展线性地址05表⽰开始线性地址单⽚机的hex⽂件以00居多,都⽤来表⽰数据。
hex⽂件的结束部分如下图所⽰。
最后⼀⾏的01表⽰⽂件结束了,最后的FF表⽰校验数据,由0x100-0x01=0xFF得来。
⼆、扩展地址细⼼的同学可能发现了,上⾯的地址都是两个字节,范围从0x000-0xFFFF,如果地址是0x17FFFF该怎么办呢?这就要⽤到扩展字段了,举例如下:第⼀⾏中,第⼀个字节为0x02,表⽰只有两个字节的数据,⽽扩展段的标识符为0x04表⽰后⾯的数据0x0800为扩展线性地址,基地址的计算⽅法为:(0x0800<<16)=0x08000000,在0x04标识段出现之前,下⾯的数据都是这个基地址。
MPLAB打开工程编译说明书

MPLAB 打开工程及编译PIC 18F 系列开发学习系统使用说明书V1.0给力者GEILIERTM注意:文件夹不能用中文,同时该文件夹的路径中也不能含有中文!1 将光盘上的例程文件夹Source Code 复制到硬盘上。
×文件夹路径中不能有中文2 随便打开一个例程文件夹,点击扩展名为mcp 或者mcw 的文件,即可打开该工程。
w ww .Mo vi n gC hi p .c o mw ww .Mo vi n gC hi p .c o m√文件夹路径中没有中文3 MPLAB 软件将自动将该工程打开,可能打开后,看不到任何内容。
显示出工程名称,说明工程已经打开4 如果如上图所示,无任何内容出现,那么需要按下图将这两项前面打钩。
w ww .M o v i n gC hi p .c o mw w w .M o v i n gC h i p .c o m5 打钩后,工程文件导航及输出界面均会出现。
可以通过点击C 文件来展开源代码界面。
w ww .M o v i n gC hi p .c o mw w w .M o v i n gC h i p .c o m6 C 源代码文件已经展开,在这里,我们可以查看、修改源代码。
w ww .M o v i n gC hi p .c o mw w w .M o v i n gC h i p .c o m7 点击编译键,可以编译源代码。
点击编译编译后,编译输出窗口将编译的参数罗列出来,一些细节可以在这里查看.生成了HEX 格式的同名文件w ww .Mo vi n gC hi p .c o mw ww .Mo vi n gC hi p .c o m8 编译完后,在该目录下,就生成或者重新生成了同名的HEX 文件。
9 这个HEX 文件既是我们要写入单片机的文件,将其写入单片机,单片机即开始运行。
提示:很多人都会问,我点编译后,生成不了HEX 文件,而是生成COF 文件,如下图:可按如下介绍进行设置:w ww .Mo vi n gC hi p .c o mw ww .Mo vi n gC hi p .c o m点开“PICC -18 Linker ”,我们发现IDE 的默认设置就是生成COF 文件。