文档库

最新最全的文档下载
当前位置:文档库 > MPLAB IDE 简单使用说明

MPLAB IDE 简单使用说明

和 MCS51 单片机中的 Keil 编程开发软件一样,我们做项目开发,MPLAB IDE软件也是以工程为单位,即我们得为咱们的源程序创建工程文件,再进行配置,载入相应的源程序文件。下面,我们来一起看一下,在PIC中,如何创建我们的第一个工程。

一、启动 MPLAB IDE

用以下任何一种方法启动该软件:

A.选择Start>Programs>Microchip>MPLAB IDE 7.41>MPLAB IDE。 (不同版本的MPLAB IDE软件可能路径名称会略有不同。)

B.双击桌面上的MPLAB IDE 图标。

MPLAB IDE 简单使用说明

二、创建源文件

1.选择File(文件)>new…(新建),出现一个文本编辑窗口,在该窗口中输入以下汇编语言源程序:

MPLAB IDE 简单使用说明

2.先创建文件夹D:\myprj,然后将上面输入的源程序保存该文件夹,注意文件的扩展名为asm,这里我们将它保存为exam1.asm:

MPLAB IDE 简单使用说明

文件保存后,我们发现源程序编辑窗口中的程序被着上了各种颜色,这些颜色能帮助我们更好地阅读源程序,快速发现输入有误的指令:

MPLAB IDE 简单使用说明

三、创建项目

项目是将文件组织起来以便进行编译和汇编的方式。选择Project(项目)>new…(新建),出现New Project (新项目)对话框:

MPLAB IDE 简单使用说明

在New Project(新项目)对话框中,我们将这个示例项目命名为MyPrj,使用Browse 按钮,将项目放在名为D:\myprj的文件夹中。单击OK按钮,在MPLAB IDE 界面上我们会看到已创建项目的的项目窗口,如下图:

MPLAB IDE 简单使用说明

如果项目窗口未打开,请选择View>Project。

四、给项目节点添加文件

源文件是必须添加的。其他文件,如头文件、库文件、链接描述文件,视项目的具体情况可加可不加。在本实例中,只添加一个源文件exam1.asm,在左边的项目窗口中找到Source Files节点,在其上点鼠标右键,在弹出的快捷菜单中选Add Files。

MPLAB IDE 简单使用说明

双击要添加的文件exam1.asm,或单击要添加的文件exam1.asm,然后点“打开”按纽:

MPLAB IDE 简单使用说明

文件添加成功后的项目窗口如下,Source Files节点下已经添加了文件 exam1.asm

MPLAB IDE 简单使用说明

五、选择器件

1.选择Configure>Select Device。

2.在Select Device 对话框中,点device栏右边的下拉箭头,选择器件为16F877A,注意一定要后面有A的!(提醒:16F877A与16F877是两个内部结构和功能不同的芯片,两个芯片不能直接相互替换,所以千万不要误选成16F877!),在Microchip Programmer Tool Support 部分中, MPLAB ICD 2 旁边的“灯”图标应为绿色。

MPLAB IDE 简单使用说明

说明:MPLAB ICD 2 支持的器件会在Microchip Programmer Tool Support 下MPLAB ICD 2 旁边有一个“绿灯”图标。不支持的器件则有一个“红灯”图标。而“黄灯”图标表明可以选择这个器件,但可能有某些限制,可能不适于量产,但它可以让MPLAB ICD 2 做试用。

3.点击OK。

六、设置配置位

设置要烧写到器件中的配置位,选择Configure>ConfigurationBits。通过点击“Settings”栏中的文本,可以更改这些配置位

MPLAB IDE 简单使用说明

对于本演示实例,应该在这个对话框中设置这些配置位如下:

Oscillatot 振荡方式选择,由于增强型PIC实验板使用的是4MHz晶振,因此选XT,也可以选HS Watchdog Timer 看门狗使能位,本实例未使用看门狗,因此设置为off

Power Up Timer 上电廷时使能位,一般选择为 on 有利于芯片起振,也可以选off。

Brown Out Detect 掉电检测使能位,ICD2作调试工具时一定要选择为 off!

Low Voltage Program 低压编程使能,必须选择为 off!

Flash Program Write 写 FLASH 使能,选择为Write Protection off(写保护关闭)。 Data EE Read Protect 读内部 EEPROM 保护位, 用 ICD2 作调试工具时一定要选择为 off!

Code Protect 加密位, 用 ICD2 作调试工具时一定要选择为 off!

七、选择 ICD 2 作为调试器

1.选择Debugger>Select Tool>MPLAB ICD 2。Debugger 菜单会显示可用的其它调试选项。同时,Output 窗口会打开显示连接信息。

MPLAB IDE 简单使用说明

注意:ICD2 作为调试工具时所烧写的程序只能用于仿真调试,不能够脱机使用,若要烧写能脱机使用程序,就要选择Programmerr>Select Programmer>MPLAB ICD2将 MPLABICD2作为编程工具。

八、通过向导完成调试器的设置

1.选择Debugger>MPLAB ICD2 Setup Wizard…,启动 ICD2 调试器设置向导:

MPLAB IDE 简单使用说明

2.选择 USB 或 COM 端口/波特率。因为我们使用的“ICD2 PIC仿真烧写器”为USB接口,COM串口数据传输太慢,难以忍受。因此,通信端口选 USB 即可:

MPLAB IDE 简单使用说明

3.确定是否由“ICD2 PIC仿真烧写器”对实验板供电。本演示实例由“ICD2 PIC仿真烧写器”向实验板供电,因此选中“Power target from the MPLAB ICD2”:

MPLAB IDE 简单使用说明

4.自动连接前面最好打上钩,这样不用手动连接,比较方便:

MPLAB IDE 简单使用说明

5.自动下载 OS(操作系统)前面最好打上钩,这样不用手动下载 OS(操作系统),比较方便:

MPLAB IDE 简单使用说明

6.完成:

MPLAB IDE 简单使用说明

九、建立 PC 与“ICD2 PIC仿真烧写器”之间的通讯连接

手动连接:选择Debugger>Connect 连接到MPLAB ICD 2。

自动连接:如果ICD 2设置中选择了选择“Automatically connect at startup”,那么系统会自动连接,输出窗口提示“…Connected”,并且没有出现红色的警告或错误信息,表示已经正常连接:

MPLAB IDE 简单使用说明

十、更新 ICD 2 固件(操作系统)

由于不同型号的单片机使用不同的ICD2 固件,当切换到一个不同型号的单片机时,会出现一条消息提示固件需要更新。MPLAB IDE 会自动安装新固件。

更新对话框如下图所示:

MPLAB IDE 简单使用说明

特殊情况下,固件也可以按照以下步骤手动更新:

1.选择Debugger>Download ICD2 Operating System。Select ICD 2 Firmware File 对话框会打开。

2.从列表中选择或者浏览需要下载的固件。文件名形式为icdxxxxxx.hex,其中 xxxxxx 为版本号。

3.点击Open。MPLAB IDE 会把新的操作系统下载到MPLAB ICD 2中。注意:如果您始终用同一种型号的芯片,除第一次外不会弹出更新固件对话框,如果没有弹出更新固件对话框,通常无需手动更新,可以跳过这一步骤。

十一、为调试生成目标文件(也就是我们通常说的“编译”)

注意:为调试生成目标文件(.HEX 文件)之前,必须已经选择ICD 2 作为调试器!!!

选择Project>Build All 或在项目窗口中的项目名称上点击右键,并从弹出菜单中选择“Build All”。

MPASM 汇编器总会生成文件名与源文件(.asm 文件)名相同的目标文件(.hex 文件)。编译时会打开一个状态窗口,显示编译的进度和最后的结果。编译完成后自动关闭该窗口。同时还将打开Output 窗口,Output 窗口没有出现红色警告或错误信息,而且最后一句显示“BUILD SUCCEEDED”,就表示编译成功了:

MPLAB IDE 简单使用说明

如果编译失败,请检查以下各项,然后重新编译项目:

1.检查在编辑器窗口中输入的所有代码的拼写和格式。如果在Output 窗口中报告有错,双击该错误就会在源代码窗口左侧的灰色区域中以绿色箭头指出源代码中出错的行。

2.检查用于该项目及其项目文件的语言工具是否正确。

为初学者解释几个概念:.

.asm 文件是我们用汇编语言(一种类似英语缩写的语言)写的源程序,但单片机无法识别和运行源程序,单片机只能看懂由0和1组成的机器码,因此这里需要一个“翻译”的过程,称为“编译”或“汇

编”,编译的作用就是把单片机无法识别的汇编源程序翻译成单片机能识别的机器码,由于机器码是最终在单片机上运行的代码,因此也称为目标代码,其后缀是.hex。

另外,整个“翻译”的过程是由一个小小的工具软件完成的,它就是MPLAB IDE 自带的MPASM汇编器。当您选择Project>Build All的时候,系统会自动调用MPASM汇编器,自动完成整个编译过程。

十二、为调试烧写目标代码

在调试之前,必须把目标代码烧写到目标单片机中。选择Debugger>Program,把目标文件exam1.hex (目标文件中包括的就是目标代码)烧写到实验板上的PIC16F877A中。烧写可能需要几分钟时间。在烧写过程中, Output 对话框的MPLAB ICD 2 选项卡下会显示目前的操作阶段。Output 窗口没有出现红色的警告或错误信息,而且倒数第3句显示“…Programming succeeded”,就表示烧写成功了:

MPLAB IDE 简单使用说明

提醒:进入调试模式的一个必要条件是,开发板或您的应用系统已经加了晶振。如编程器模式下烧写没问题,但调试器模式下烧写不成功,通常是开发板或您的应用系统忘了装上晶振!注意:初学者容易将Debugger(调试器)下拉菜单下的Program(编程)命令和 Programmer(编程器)下拉菜单下的Program(编程)命令混为一谈,其实这是两个作用完全不同的命令,切记:在调试器模式下,必须使用调试器下拉菜

单下的Program 命令,同样,在编程器模式下,必须使用编程器下拉菜单下的Program命令!!!同时也不要以为:在编程器模式下已经执行“Program”命令了,因此切换到调试器模式时,就可以不用执行了调试器模式下的“Program”命令了,这是大错特错的,反之也是一样。

Debugger(调试器)下拉菜单下和Programmer(编程器)下拉菜单下还有许多命令字面上一样,但实际功能是不一样的,注意不要混淆!进一步的解释,初学者可以跳过不读:

执行Debugger(调试器)下拉菜单下的Program(编程)命令时,系统会自动在用户编写程序的目标代码中加入调试执行代码,调试执行代码会自动烧写到程序存储器的高端地址,以便用“ICD2 PIC仿真烧写器”来进行调试。执行Programmer(编程器)下拉菜单下的Program(编程)命令时,只将用户编写程序的目标代码烧写到程序存储器中,和一般单片机的编程性质完全一致,由此可见,这两个编程命令的作用是完全不同的。

十三、在调试器模式下运行 exam1 进入调试模式后,工具栏会多出调试器快捷工具条,见下图:

MPLAB IDE 简单使用说明

从左到右分别是

1.run –全速运行

2.halt –暂停

3.animate –自动单步(或称为慢速运行)

4.step into –单步运行(子程序内部也单步运行)

5.step over --单步运行(子程序内部代码被全速执行,整个子程序被作为单步运行中的一步来执行的)

6.step out --跳出子循环(当程序运行在子程序中时,可以使用它直接运行完该子程序)

7.reset –复位

MPLAB ICD 2 在调试器模式下可以实时或单步执行代码,实时执行代码又称“全速运行”,当然调试器模式下的“全速运行”与单片机脱离开发系统独立运行时的“全速运行”还是有区别的,单步执行代码又称“单步运行”。

我们首先执行调试器模式下的“全速运行”。选择Debugger>Run (或点击Run 工具栏按钮)。

如果我们编写的程序没有错误,我们将在开发板上看到8个LED显示8位二进制递增数。但遗憾的是,8个LED上面什么也没有显示,程序没有按我们的要求运行,说明程序有错误,不必担心,利用调试器模式下的单步运行、变量观察窗口、断点等调试手段可以查找出任何错误。

先选择Debugger>Halt(或点击Halt 工具栏按钮)来中止程序执行。

十四、调试 exam1

1.我们首先在把累加值输出到LED的那一行设置断点。在需要设置断点的语句上双击,这一行的行首就出现如下图所示的断点标记了(红色的B 停止标记)