MPLABIDE简单使用说明.docx
- 文档编号:3618181
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:22
- 大小:711.43KB
MPLABIDE简单使用说明.docx
《MPLABIDE简单使用说明.docx》由会员分享,可在线阅读,更多相关《MPLABIDE简单使用说明.docx(22页珍藏版)》请在冰豆网上搜索。
MPLABIDE简单使用说明
MPLAB-IDE-简单使用说明
和MCS51单片机中的Keil编程开发软件一样,我们做项目开发,MPLABIDE软件也是以工程为单位,即我们得为咱们的源程序创建工程文件,再进行配置,载入相应的源程序文件。
下面,我们来一起看一下,在PIC中,如何创建我们的第一个工程。
一、启动MPLABIDE
用以下任何一种方法启动该软件:
A.选择Start>Programs>Microchip>MPLABIDE7.41>MPLABIDE。
(不同版本的MPLABIDE软件可能路径名称会略有不同。
)
B.双击桌面上的MPLABIDE图标。
二、创建源文件
三、创建项目
项目是将文件组织起来以便进行编译和汇编的方式。
选择Project(项目)>new…(新建),出现NewProject(新项目)对话框:
在NewProject(新项目)对话框中,我们将这个示例项目命名为MyPrj,使用Browse按钮,将项目放在名为D:
\myprj的文件夹中。
单击OK按钮,在MPLABIDE界面上我们会看到已创建项目的的项目窗口,如下图:
如果项目窗口未打开,请选择View>Project。
四、给项目节点添加文件
源文件是必须添加的。
其他文件,如头文件、库文件、链接描述文件,视项目的具体情况可加可不加。
在本实例中,只添加一个源文件exam1.asm,在左边的项目窗口中找到SourceFiles节点,在其上点鼠标右键,在弹出的快捷菜单中选AddFiles。
双击要添加的文件exam1.asm,或单击要添加的文件exam1.asm,然后点“打开”按纽:
文件添加成功后的项目窗口如下,SourceFiles节点下已经添加了文件exam1.asm
五、选择器件
1.选择Configure>SelectDevice。
2.在SelectDevice对话框中,点device栏右边的下拉箭头,选择器件为16F877A,注意一定要后面有A的!
(提醒:
16F877A与16F877是两个内部结构和功能不同的芯片,两个芯片不能直接相互替换,所以千万不要误选成16F877!
),在MicrochipProgrammerToolSupport部分中,MPLABICD2旁边的“灯”图标应为绿色。
说明:
MPLABICD2支持的器件会在MicrochipProgrammerToolSupport下MPLABICD2旁边有一个“绿灯”图标。
不支持的器件则有一个“红灯”图标。
而“黄灯”图标表明可以选择这个器件,但可能有某些限制,可能不适于量产,但它可以让MPLABICD2做试用。
3.点击OK。
六、设置配置位
设置要烧写到器件中的配置位,选择Configure>ConfigurationBits。
通过点击“Settings”栏中的文本,可以更改这些配置位
对于本演示实例,应该在这个对话框中设置这些配置位如下:
Oscillatot振荡方式选择,由于增强型PIC实验板使用的是4MHz晶振,因此选XT,也可以选HSWatchdogTimer看门狗使能位,本实例未使用看门狗,因此设置为off
PowerUpTimer上电廷时使能位,一般选择为on有利于芯片起振,也可以选off。
BrownOutDetect掉电检测使能位,ICD2作调试工具时一定要选择为off!
LowVoltageProgram低压编程使能,必须选择为off!
FlashProgramWrite写FLASH使能,选择为WriteProtectionoff(写保护关闭)。
DataEEReadProtect读内部EEPROM保护位,用ICD2作调试工具时一定要选择为off!
CodeProtect加密位,用ICD2作调试工具时一定要选择为off!
七、选择ICD2作为调试器
1.选择Debugger>SelectTool>MPLABICD2。
Debugger菜单会显示可用的其它调试选项。
同时,Output窗口会打开显示连接信息。
注意:
ICD2作为调试工具时所烧写的程序只能用于仿真调试,不能够脱机使用,若要烧写能脱机使用程序,就要选择Programmerr>SelectProgrammer>MPLABICD2将MPLABICD2作为编程工具。
八、通过向导完成调试器的设置
1.选择Debugger>MPLABICD2SetupWizard…,启动ICD2调试器设置向导:
2.选择USB或COM端口/波特率。
因为我们使用的“ICD2PIC仿真烧写器”为USB接口,COM串口数据传输太慢,难以忍受。
因此,通信端口选USB即可:
3.确定是否由“ICD2PIC仿真烧写器”对实验板供电。
本演示实例由“ICD2PIC仿真烧写器”向实验板供电,因此选中“PowertargetfromtheMPLABICD2”:
4.自动连接前面最好打上钩,这样不用手动连接,比较方便:
5.自动下载OS(操作系统)前面最好打上钩,这样不用手动下载OS(操作系统),比较方便:
6.完成:
九、建立PC与“ICD2PIC仿真烧写器”之间的通讯连接
手动连接:
选择Debugger>Connect连接到MPLABICD2。
自动连接:
如果ICD2设置中选择了选择“Automaticallyconnectatstartup”,那么系统会自动连接,输出窗口提示“…Connected”,并且没有出现红色的警告或错误信息,表示已经正常连接:
十、更新ICD2固件(操作系统)
由于不同型号的单片机使用不同的ICD2固件,当切换到一个不同型号的单片机时,会出现一条消息提示固件需要更新。
MPLABIDE会自动安装新固件。
更新对话框如下图所示:
特殊情况下,固件也可以按照以下步骤手动更新:
1.选择Debugger>DownloadICD2OperatingSystem。
SelectICD2FirmwareFile对话框会打开。
2.从列表中选择或者浏览需要下载的固件。
文件名形式为icdxxxxxx.hex,其中xxxxxx为版本号。
3.点击Open。
MPLABIDE会把新的操作系统下载到MPLABICD2中。
注意:
如果您始终用同一种型号的芯片,除第一次外不会弹出更新固件对话框,如果没有弹出更新固件对话框,通常无需手动更新,可以跳过这一步骤。
十一、为调试生成目标文件(也就是我们通常说的“编译”)
注意:
为调试生成目标文件(.HEX文件)之前,必须已经选择ICD2作为调试器!
!
!
选择Project>BuildAll或在项目窗口中的项目名称上点击右键,并从弹出菜单中选择“BuildAll”。
MPASM汇编器总会生成文件名与源文件(.asm文件)名相同的目标文件(.hex文件)。
编译时会打开一个状态窗口,显示编译的进度和最后的结果。
编译完成后自动关闭该窗口。
同时还将打开Output窗口,Output窗口没有出现红色警告或错误信息,而且最后一句显示“BUILDSUCCEEDED”,就表示编译成功了:
如果编译失败,请检查以下各项,然后重新编译项目:
1.检查在编辑器窗口中输入的所有代码的拼写和格式。
如果在Output窗口中报告有错,双击该错误就会在源代码窗口左侧的灰色区域中以绿色箭头指出源代码中出错的行。
2.检查用于该项目及其项目文件的语言工具是否正确。
为初学者解释几个概念:
.
.asm文件是我们用汇编语言(一种类似英语缩写的语言)写的源程序,但单片机无法识别和运行源程序,单片机只能看懂由0和1组成的机器码,因此这里需要一个“翻译”的过程,称为“编译”或“汇编”,编译的作用就是把单片机无法识别的汇编源程序翻译成单片机能识别的机器码,由于机器码是最终在单片机上运行的代码,因此也称为目标代码,其后缀是.hex。
另外,整个“翻译”的过程是由一个小小的工具软件完成的,它就是MPLABIDE自带的MPASM汇编器。
当您选择Project>BuildAll的时候,系统会自动调用MPASM汇编器,自动完成整个编译过程。
十二、为调试烧写目标代码
在调试之前,必须把目标代码烧写到目标单片机中。
选择Debugger>Program,把目标文件exam1.hex(目标文件中包括的就是目标代码)烧写到实验板上的PIC16F877A中。
烧写可能需要几分钟时间。
在烧写过程中,Output对话框的MPLABICD2选项卡下会显示目前的操作阶段。
Output窗口没有出现红色的警告或错误信息,而且倒数第3句显示“…Programmingsucceeded”,就表示烧写成功了:
提醒:
进入调试模式的一个必要条件是,开发板或您的应用系统已经加了晶振。
如编程器模式下烧写没问题,但调试器模式下烧写不成功,通常是开发板或您的应用系统忘了装上晶振!
注意:
初学者容易将Debugger(调试器)下拉菜单下的Program(编程)命令和Programmer(编程器)下拉菜单下的Program(编程)命令混为一谈,其实这是两个作用完全不同的命令,切记:
在调试器模式下,必须使用调试器下拉菜单下的Program命令,同样,在编程器模式下,必须使用编程器下拉菜单下的Program命令!
!
!
同时也不要以为:
在编程器模式下已经执行“Program”命令了,因此切换到调试器模式时,就可以不用执行了调试器模式下的“Program”命令了,这是大错特错的,反之也是一样。
Debugger(调试器)下拉菜单下和Programmer(编程器)下拉菜单下还有许多命令字面上一样,但实际功能是不一样的,注意不要混淆!
进一步的解释,初学者可以跳过不读:
执行Debugger(调试器)下拉菜单下的Program(编程)命令时,系统会自动在用户编写程序的目标代码中加入调试执行代码,调试执行代码会自动烧写到程序存储器的高端地址,以便用“ICD2PIC仿真烧写器”来进行调试。
执行Programmer(编程器)下拉菜单下的Program(编程)命令时,只将用户编写程序的目标代码烧写到程序存储器中,和一般单片机的编程性质完全一致,由此可见,这两个编程命令的作用是完全不同的。
十三、在调试器模式下运行exam1进入调试模式后,工具栏会多出调试器快捷工具条,见下图:
从左到右分别是
1.run–全速运行
2.halt–暂停
3.animate–自动单步(或称为慢速运行)
4.stepinto–单步运行(子程序内部也单步运行)
5.stepover--单步运行(子程序内部代码被全速执行,整个子程序被作为单步运行中的一步来执行的)
6.stepout--跳出子循环(当程序运行在子程序中时,可以使用它直接运行完该子程序)
7.reset–复位
MPLABICD2在调试器模式下可以实时或单步执行代码,实时执行代码又称“全速运行”,当然调试器模式下的“全速运行”与单片机脱离开发系统独立运行时的“全速运行”还是有区别的,单步执行代码又称“单步运行”。
我们首先执行调试器模式下的“全速运行”。
选择Debugger>Run(或点击Run工具栏按钮)。
如果我们编写的程序没有错误,我们将在开发板上看到8个LED显示8位二进制递增数。
但遗憾的是,8个LED上面什么也没有显示,程序没有按我们的要求运行,说明程序有错误,不必担心,利用调试器模式下的单步运行、变量观察窗口、断点等调试手段可以查找出任何错误。
先选择Debugger>Halt(或点击Halt工具栏按钮)来中止程序执行。
十四、调试exam1
1.我们首先在把累加值输出到LED的那一行设置断点。
在需要设置断点的语句上双击,这一行的行首就出现如下图所示的断点标记了(红色的B停止标记)
2.打开一个新的Watch窗口,来观察随着程序的执行输出端口(PORTD)寄存器值的变化。
选择View>Watch。
从AddSFR按钮旁边的列表中选择“PORTD”,再点击这个按钮,PORTD加到了Watch窗口中,如下图所示:
3.现在我们调整源程序窗口和观察窗口的大小,使它们同时可见,这样便于观察源程序的执行和被观察寄存器数据的变化:
4.选择Debugger>Run(或者点击Run工具栏按钮),再次全速运行程序。
当程序执行到被标记断点的行时,程序会中止执行,绿色箭头停在源代码窗口第24行“GOTOLOOP”,表示下一条将被执行的指令是“GOTOLOOP”:
5.此时我们观察观察窗口,PORTD的内容是0X00(就是16进制00)。
6.再选择Debugger>Run(或者点击Run工具栏按钮),再次全速运行程序。
当程序执行到被标记断点的行时,程序同样又中止执行。
我们再观察观察窗口,PORTD的内容怎么还是0X00,应该是0X01才对呀,显然PORTD端口没有执行加1操作,仔细观察第23行语句“INCFPORTE”,原来在输入的时候将PORTD错输成了PORTE。
7.将第23行语句修改为“INCFPORTD”,同时在该语句上双击左键,去消该语句上设置的断点。
8.选择File>Save,保存修改。
9.选择Project>BuildAll,重新编译项目。
10.选择Debugger>Program,重新烧写修改过的程序。
提醒:
源程序每次修改后都必须执行“保存”、“编译”、“烧写”这三个步骤!
11.选择Debugger>Run(或者点击Run工具栏按钮),全速运行程序。
此时8个LED已经显示正常了。
本演示实例中的源代码只包含一个非常简单的错误,调试时没有使用“单步执行”。
单步执行是一种很常用的调试手段,适合于排除流程故障(程序未按照预设的流程运行)。
选择Debugger>Step(或者点击Step工具栏按钮)来单步执行程序。
建议使用工具栏按钮,当您不断点击Step工具栏按钮时,语句就会随着您的点击一条一条地运行,绿色箭头不断地移动,时时指向下一条将被执行的指令。
许多时候,程序的调试会比编写花费更多的时间和精力。
一段实际的代码可能包含有很多的错误,排除这些错误,不仅需要必要的调试技巧,同时也要求程序员有良好的心理素质,尤其是初学者,遇到错误不要惊慌,编程出现错误实在是一件很正常的事,要坚信任何错误都是可以排除的,充分利用“ICD2PIC仿真烧写器”和MPLABIDE的调试功能,您完全可以成功地定位和修复其代码中存在的错误。
如果错误很多,宜采用“缩小包围圈”的排错策略,逐步排除错误。
十五、在编程器模式下烧写目标代码
当程序成功调试并运行后,下一步是在编程器模式下烧写PIC单片机,以便它能脱离开发系统独立工作。
进行这一步时,为ICD保留的资源被释放。
(这句话,初学者可以不用去管它)
按照以下步骤进行烧写:
1.选择Debugger>SelectTool>none,禁止MPLABICD2作为调试器。
2.在Programmer>SelectTool菜单中,选择MPLABICD2作为编程器。
3.选择Programmer>MPLABICD2SetupWizard…,通过向导完成编程器的设置。
4.选择Programmer>Program。
当用户使用MPLABIDE中的编程器模式时,编程(也称烧写)完成后,实验板处于停止运行状态,点programmer菜单下的Releasefromreset命令增强型PIC实验板才会进入运行状态。
用户要想让增强型PIC实验板复位,采取的操作是先点programmer菜单下的holdinreset命令,后点Releasefromreset,即完成一次复位。
注意:
现在增强型PIC实验板是独立运行的,“ICD2PIC仿真烧写器”只是为实验板供电。
当然增强型PIC实验板也可以不由“ICD2PIC仿真烧写器”供电,改由自己的外接电源供电。
十六、文件保存
开发工作中途及完成后,要及时进行文件的保存,可以选择File>SaveWorkspace,保存为工作空间文件或选择Project>SaveProject,保存项目文件。
下面对这两种文件类型及其区别进行说明:
Project(项目文件)包括了编译所需的源文件、连接文件、头文件……及这些文件间的组织结构,同时还包括了芯片设置、配置位设置等。
Workspace(工作空间文件)在项目文件包含的内容基础上,还进一步包含了调试器或编程器的选择,已打开的窗口等。
简单地说:
项目文件就是程序员辛辛苦苦做出来的“产品”,工作空间文件比项目文件多包括了一些内容,多包括的内容其实就是做“产品”过程中用到的各种工具,例如当前您正在调试程序,为此选择了“ICD2PIC仿真烧写器”,还打开了变量观察窗口,这些在工作空间文件中也会被保存。
如果您的项目还没有最终完成,那么在保存时应该保存为工作空间文件类型,下一次打开时,应该打开这个项目文件,这样出现在您面前的一切和您上次看到的一模一样,您可以方便地继续您未完成的工作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MPLABIDE 简单 使用说明
![提示](https://static.bdocx.com/images/bang_tan.gif)