"); //-->
为了更好地发挥调试系统的性能,必须把MPLAB-IDE软件包安装到符合以下要求的计算机里:
2.2 安装硬件
请按下列步骤安装MPLAB-ICD硬件系统:
2.2.1安装仿真MCU
按两种不同情况安装仿真MCU。
1、目标板上没有安装RJ-6插座:将仿真MCU (PIC16F87X)插入到MPLAB-ICD仿真头上仿真MCU插座(40脚IC座)里面。
用户目标板上的MCU型号 | 仿真头上相应的MCU型号 |
PIC16F870 | PIC16F871 |
PIC16F871 | PIC16F871 |
PIC16F872 | PIC16F871 |
PIC16F873 | PIC16F874 |
PIC16F874 | PIC16F874 |
PIC16F876 | PIC16F877 |
PIC16F877 | PIC16F877 |
2、目标板上已安装RJ-6插座:将仿真MCU-PIC16F87X直接插入目标上的MCU插座里面。
2.2.2连接主机、仿真头和目标(教学实验)板
1、安装仿真头:把仿真头插入应用目标(教学演示)板的MCU插座里。如果调试的MCU是28引脚,则需将仿真头的引出脚调整成28脚,然后插到目标(教学实验)板上的28脚的SDIP插座里。
如目标板上有安装RJ-6插座,则不需此步骤。
RJ-6电缆内部各芯的分配如下表2-2:
J2各芯编号 | 信号 |
6 | RB3 |
5 | RB6 |
4 | RB7 |
3 | 接地 |
2 | +VDD |
1 | Vpp |
2、用六芯扁平电缆连接MPLAB-ICD主机和ICDDEMO教学实验板(或用户应用目标板)。
3、用RS-232串行口专用九芯电缆连接计算机的串行口和MPLAB-ICD主机。
4、接上教学实验板(或用户应用目标板)的电源。使用的电源为9V、0.6A的电源适配器(插头中心为电源正极)。
5、打开计算机主机电源。
2.3 安装软件
MPLAB-ICD是 MPLAB-IDE 集成开发环境的一个可插入(ADD-ON)工具。用户应按如下步骤安装MPLAB-IDE集成开发环境软件包:
1.进入WINDOWS环境里,把MPLAB-IDE 的CD-ROM插入光盘驱动器里。
2.执行安装程序:在WINDOWS操作界面上找到安装文件后,直接点击运行即可。
3.按指导过程来安装MPLAB-IDE集成开发环境软件包。一定记住安装过程中当出现要求选择MPLAB-ICD部件的会话窗口时,要点击并选择该部件,以便系统安装。
2. 4 使用MPLAB-ICD
连接硬件并安装完软件之后,用户可以先在MPLAB-IDE的纯编辑模式下编写程序。在*.ASM程序编辑完成后就可以开始使用ICD。以下将以源程序tut877.asm为例说明使用过程。
2.4.1 建立一个16进制调试文件
用户需要建立一个新"项目"(*.pjt),以便将源文件*.asm和建立的十六进制文件*.hex包含在内进行调试。
2.4.1.1新"项目"目录
为这个新项目建立一个目录:\MPLAB\tut877。将tut877.asm文件从\MPLAB目录移动到该目录下面。
2.4.1.2 新"项目"
选择Project>New Project,选择新项目所在的路径,然后在文件名会话窗口里输入tut877.prj。
点击"OK"按钮(图2-1)之后编辑项目会话窗口(Edit Project dialog)将会打开(如图2-2所示)。
图2-1:建立新项目- tut877.prj
图2-2:设置开发模式前编辑项目会话窗口
2.4.1.3 项目会话窗口
用户将会在如图2-2所示的编辑项目会话窗口看到开发模式设置(Development Mode)。图中显示出当前工作于软件模拟(MPLAB-SIM)方式,MCU是PIC12C508处理器。这些状态都是用户以前使用MPLAB-IDE集成开发环境时的设置。而现在则需要改变这些设置。
点击"Change"按钮后将会出现开发模式设置(Development Mode)对话框(如图2-3所示)。
图2-3:设置开发模式
在Tools菜单条里选择"MPLAB-ICD Debugger"。在处理器(processor)窗口选择PIC16F877,然后点击"OK"。
这时MPLAB-IDE将和MPLAB-ICD主机之间建立通讯。在这个过程中,MPLAB-ICD会话窗口将会同时出现。
在编辑项目会话窗口里的项目文件(Project File)区域里用鼠标选取tut877.hex文件,然后点击节点属性(Node Property)按钮(如图2-4)。执行这项操作后系统将会弹出一个节点属性(Node Property)窗口。
图2-4:编辑项目会话窗口
2.4.1.4 设置节点属性
节点属性会话窗口显示出涉及到MPLAB-ICD的参数开关,这些参数都是MPASM汇编器的。当你首次打开该会话窗口时,所看到的设置均为该开发工具的默认设置。对于本范例中的应用,没有必要修改该默认设置。
点击"OK"按钮(如图2-5),返回到编辑项目会话窗口(Edit Project dialog)。
图2-5:节点属性会话窗口
图2-6:增加节点
2.4.1.5 增加节点
在编辑项目会话窗口里点击增加节点 (Add Node),打开添加节点会话窗口。选择tut877.asm,然后点击OK即可(如图2-6)。
2.4.1.6 完成对项目的设置
在这个简单的例子里,在路径选择框里没有指定目录。随着你的应用越来越复杂,用户将有可能需要在相应的选择框里指定包含相应文件的目录路径。
MPASM通常会把十六进制文件的文件名(a.hex)取得和源文件(a.asm)的文件名一样。当建立(BUILT)tut877.prj项目的时候,项目管理器将会生成一个十六进制文件tut877.hex。
图2-7:带节点的编辑项目会话窗口
点击"OK"按钮,关闭编辑项目会话窗口(Edit Project dialog),然后从MPLAB-IDE菜单项里选择选择命令:Project>Save Project 保存新的项目。这样就完成了对项目的设置。
2.4.1.7 建立项目(Make Project)
现在您要从MPLAB-IDE的菜单项里选择Project>Make Project,使用MPASM宏汇编来程序来汇编应用程序。创建(BUILT)以后的结果窗口中可以看到发送给汇编器的命令行和结果信息(如图2-8所示)。
图2-8:创建(BUILT)以后的结果窗口
其中主要有以下三种提示信息:
1、错误(error):表示源文件在…有错误,用户应根据提示修改源程序;
2、警告(warring);
3、信息(Message):这并不一定是错误,用户的程序代码仍然会被正确地编译。例如:信息[302]是提示,在指示的行号(31,32和34)里用户指定了一个并不位于第0页面(BANK 0)的通用寄存器。
点击创建结果(BUILT RESULTS)窗口右上角的图标X将关闭窗口。
2.4.2 设置MPLAB-ICD和MPLAB
这时候,MPLAB-ICD会话窗口将会出现在计算机的桌面上。用户须选择适当的选择项来设置MPLAB-IDE,使之能和MPLAB-ICD的硬件一起工作(图2-9)。
图2-9:MPLAB-ICD会话窗口
选项 | 选项说明 |
状态 (Status)菜单(不可选择项) | 状态栏显示被执行的MPLAB-ICD函数和状态。当编程时,可以从这里看到进程。当操作完成后,状态栏将显示信息"Waiting for use command"(等待用户命令) |
串行口和波特率菜单 | 要确信这些设置合乎你的系统要求 |
上载(Upload)选项菜单 | 现在选择最小值,往后的范例中将会调试改变该数值 |
时钟选择范围菜单 | 选择工作频率范围:2MHZ~10MHZ |
2.4.2.1 设置ICD的编程和调试选项
为了对PIC16F87X芯片进行编程,必须先对ICD选项会话窗口(ICD Options dialog)进行设置工作,为编程作好准备。在MPLAB-ICD的会话窗口里点击Options,打开ICD选项会话窗口(图2-10)。
图2-10:MPLAB-ICD选项会话窗口
2.4.2.2 配置位和芯片类型选择
用户将要在这个ICD选项会话窗口中设置PIC16F87X处理器的各种配置位。
点击图中相应的箭头图标,将弹出一个对应的列表,用户应根据需要从该列表中选择相应的选择项。可选项及相应说明如表2-2所示。
其中,芯片(Device)栏在本例中显示的是PIC16F877,这是在开发模式设置(Development Mode)中设定好的。要想改变这一设定,用户需退出当前设置,输入命令:Options > Development Mode ,然后正确选择芯片。
可选项 | 选项说明 |
Oscillator 振荡器 |
本范例里使用4.000Mhz的晶体振荡器。 |
Watchdog Timer 看门狗定时器 |
对于本范例里,看门狗定时器(WDT)应关闭 |
Power Up Timer 上电延时定时器 |
对于本范例里,上电延时定时器(PWRT)应关闭 |
Brown Out Detect 电源掉电监测 |
对于本范例里,电源掉电监测(BOD)应关闭 |
Low Voltage Program 低电压编程 |
当使用MPLAB-ICD时,低电压烧写应禁止。可以用RB3作为数字I/O。 |
Code Protect Data EEPROM数据保护 |
本范例关闭了EEPROM数据保护 |
Flash Memory Write 闪速存储器写 |
本范例没有使能通过EECON寄存器对FLASH存储空间进行擦写 |
Code Protect 代码保护 |
本范例关闭了代码保护 |
2.4.2.3 芯片ID码和代码校验和
在图2-10所示的MPLAB-ICD选项会话窗口中,用户还会看到代码校验和 (CHECHSUME)及ID代码(ID Code)这两个窗口。在本范例中,我们选?quot;Use Checksum as ID",使用代码校验和(CHECHSUME)作为ID代码。
2.4.2.4 电压选择
用鼠标点击更新(Update)按钮即可检查目标应用板上的电源Vdd(芯片供电)和Vpp(编程电源)的电压值。
MPLAB-ICD的编程电压大约为13伏特,该电压是将来自目标板的电源电压Vdd通过开关升压电路(Boost Converter)升压后得到的。
2.4.2.5 编程选项
程序地址范围(起始地址和结束地址)是可以被读取、编程或校验的程序或数据存储器地址范围。默认的程序地址范围被设定为用户所选芯片的程序存储器的最大范围。本范例将使用默认的程序地址范围。
确信程序选择项(Program Options)下的所有检查项都已经选中(有"√"符号为选中)。这意味着所有存储器、ID代码、配置位都将被编程。而且所有的存储器都将会在编程之前被全部清除;芯片被设置为调试(Debug)模式。
2.4.3 对PIC16F877进行编程
点击Program按钮,这时候就会将tut877.hex这个十六进制文件和调试代码(Debug Code)写入MPLAB-ICD仿真头或用户目标板(教学实验板)中的PIC16F87X里。编程过程可能要用几分钟。在编程过程中,状态栏(Status box)里将会显示当前的操作顺序。当编程过程结束后状态栏里将会显示信?quot;Waiting for user command"(等待用户命令)。
注意:调试代码(Debug Code)是PIC16F87X微控制器里地址范围1F00h~1FFFh的一组特殊代码,这些区域用来存放MPLAB-ICD在线调试功能的监控程序。 |
用户可以最小化或移动MPLAB-ICD会话窗口而不能关闭它:关闭MPLAB-ICD会话窗口将退出MPLAB-ICD开发环境。假如想重新进入MPLAB-ICD,使用命令:Options>Development Mode选择MPLAB-ICD并点击OK即可重新使用ICD环境。
2.4.4 运行及调试
最后要做的就是运行程序,并对其进行调试。MPLAB为方便使用,把常用的一些运行、调试命令及窗口选项以小图标的形式置于工具栏中。当用户鼠标移至小图标上时,背景窗体的左下角将会显示相应的说明。
以下对常用运行、调试命令及窗口选项进行简要的介绍。
运行(Run):点击此项后芯片将全速运行片内程序,直至遇到断点或是接到了停止命令。图标:
停止(Halt the Processor):点击此项后芯片将停止运行当前程序。图标:
单步(Step):点击此项后芯片将执行当前行的指令。图标:
连续单步(Step Over):点击此项后芯片将由当前行开始,连续执行单步操作,直至遇到断点或是接到停止命令。图标:
复位(Reset Processor):点击此项后芯片将被复位。图标:
程序存储器窗口(Program Register Window):点击此项后将打开程序存储器窗口。图标:
通用寄存器窗口(File Register Memory):点击此项后将打开通用寄存器窗口。图标:
特殊功能寄存器窗口(Special Function Register Window):点击此项后将打开特殊功能寄存器(SFR)窗口。图标:
增加新变量窗口(Create New Watch Window):点击此项后将打开观察变量窗口,并允许用户添加新的观察变量。图标:
合理运用运行调试手段将有助于更快更好的调试用户程序。例如:
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。