单片机
 
  插手珍藏夹
域名:www.kincony.com    www.agpgames.com       数据材料站 || 公司简介|| 汇款须知 || 汇款确认及留言 || 论坛 || 淘宝网店

若何建立一个工程名目及调试斥地             -->>前去首页

    和 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。

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

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

五、 选择器件

    1.选择Configure>Select Device

    2.在Select Device 对话框中,点device栏右边的下拉箭头,选择器件为16F877A, 留意必然要后面有A的!(提示:16F877A与16F877是两个内部布局和功能不合的芯片, 两个芯片不能间接相互替代,所以千万不要误选成16F877!),在Microchip Programmer Tool Support 部门中, MPLAB ICD 2 旁边的“灯”图标应为绿色。

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

    3.点击OK

六、设置拔擢位

设置要烧写到器件中的拔擢位,选择Configure>ConfigurationBits。经由点击 “Settings”栏中的文本,能够更改这些拔擢位

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

    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 窗口会打开显示连接消息。

留意:ICD2 作为调试对象时所烧写的法式只能用于仿真调试,不成以大概脱机使用,若要烧写能脱机使用法式,就要选择Programmerr>Select Programmer>MPLAB ICD2将 MPLABICD2作为编程对象。

 

八、经由带领完成调试器的设置

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

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

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

    4.主动连接后面较好打上钩,多么不消手动连接,比力便当:

    5.主动下载 OS(操作系统)后面较好打上钩,多么不消手动下载 OS(操作系统), 比力便当:

    6.完成:

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

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

    主动连接:若是ICD 2设置当选择了选择“Automatically connect at startup”,那么系统会主动连接,输出窗口提示“…Connected”,并且没有出现红色的警告或错误消息,暗示曾经一般连接:

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

    由于不合型号的单片机使用不合的ICD2 固件,当切换到一个不合型号的单片机时,会出现一条动静提示固件需要更新。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”,就暗示编译成功了:

若是编译失败,请反省以下各项,然后从头编译名目:

    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”,就暗示烧写成功了:

    提示:进入调试模式的一个需要前提是,斥地板或您的使用系统曾经加了晶振。如编程器模式下烧写没问题,但调试器模式下烧写不成功,凡是是斥地板或您的使用系统忘了装上晶振! 留意:初学者容易将Debugger(调试器)下拉菜单下的Program(编程)号令和 Programmer(编程器)下拉菜单下的Program(编程)号令混为一谈,其实这是两个传染感动完全不合的号令,切记:在调试器模式下,必需使用调试器下拉菜单下的Program 号令,同样,在编程器模式下,必需使用编程器下拉菜单下的Program号令!!!同 时也不要认为:在编程器模式下曾经施行“Program”号令了,因而切换到调试器模 式时,就能够不消施行了调试器模式下的“Program”号令了,这是大错特错的,反 之也是一样。

    Debugger(调试器)下拉菜单下和Programmer(编程器)下拉菜单下又一次有很多号令字面上一样,但现实功能是不一样的,留意不要混合! 进一步的注释,初学者能够跳过不读:

    施行Debugger(调试器)下拉菜单下的Program(编程)号令时,系统会主动在用户编写法式的方针代码中插手调试施行代码,调试施行代码会主动烧写到法式存储器的高端地址,以便用“ICD2 PIC仿真烧写器”来进行调试。施行Programmer(编程器)下拉菜单下的Program(编程)号令时,只将用户编写法式的方针代码烧写到法式存储器中,和一般单片机的编程性质完全分歧,由此可见,这两个编程号令的传染感动是完全不合的。

十三、在调试器模式下运转 exam1 进入调试模式后,对象栏会多出调试器快速对象条,见下图:

从左到右别离是

    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 遏制标识表记标帜)

    2.打开一个新的Watch 窗口,来察看跟着法式的施行输出端口(PORTD)寄放器值的变化。选择View>Watch。从Add SFR 按钮旁边的列表当选择“PORTD”,再点击这个按钮,PORTD加到了Watch窗口中,如下图所示:

    3.此刻咱们调整源法式窗口和察看窗口的大小,使它们同时可见,多么便于察看源法式的施行和被察看寄放器数据的变化:

    4.选择Debugger>Run(或者点击Run 对象栏按钮),再次全速运转法式。当法式施行到被标识表记标帜断点的行时,法式会中止施行,绿色箭头停在源代码窗口第24行“GOTO LOOP”,暗示下一条将被施行的指令是“GOTO LOOP”:

    5.此时咱们察看察看窗口,PORTD的内容是0X00(便是16进制00)。

    6.再选择Debugger>Run(或者点击Run 对象栏按钮),再次全速运转法式。当法式施行到被标识表记标帜断点的行时,法式同样又中止施行。咱们再察看察看窗口,PORTD 的内容怎样仍是0X00,该当是0X01才对呀,明显PORTD端口没有施行加1操作,细心察看第23行语句“INCF PORTE”,本来在输入的时候将PORTD错输成为PORTE。

    7.将第23行语句编削为“INCF PORTD”,同时在该语句上双击左键,去消该 语句上设置的断点。

    8.选择File>Save ,保留编削。

    9.选择Project>Build All ,从头编译名目。

    10.选择Debugger>Program,从头烧写修悔改的法式。

提示:源法式每次编削后都必需施行“保留”、“编译”、“烧写”这三个措施!

    11.选择Debugger>Run(或者点击Run 对象栏按钮),全速运转法式。此时8个LED 曾经显示一般了。 本演示实例中的源代码只包含一个很是简单的错误,调试时没有使用“单步施行”。单步施行是一种很常用的调试手段,适合于解除流程毛病(法式未按照预设的流程运转)。选择Debugger>Step (或者点击Step 对象栏按钮)来单步施行法式。 建议使用对象栏按钮,当您不竭点击Step 对象栏按钮时,语句就会跟着您的点击一 条一条地运转,绿色箭头不竭地挪动,不时指向下一条将被施行的指令。

    很多时候,法式的调试会比编写破费更多的时间和精神。一段现实的代码可能包 含有良多的错误,解除这些错误,不只需要需要的调试技能,同时也要求法式员有优良的心理本质,特别是初学者,碰到错误不要惊慌,编程出现错误其实是一件很一般的事,要深信赖何错误都是能够解除的,充实把持“ICD2 PIC仿真烧写器”和MPLAB IDE 的调试功能, 您完全能够成功地定位和修复其代码中具有的错误。若是错误良多,宜采用“缩小包 围圈”的排错策略,逐步解除错误。

十五、 在编程器模式下烧写方针代码

    当法式成功调试并运转后,下一步是在编程器模式下烧写PIC单片机,以便它能分开斥地系统独立工作。进行这一步时,为ICD 保留的本钱被释放。(这句话,初学者能够不消去管它)

按照以下措施进行烧写:

    1.选择Debugger>Select Tool>none,禁止MPLAB ICD 2 作为调试器。

    2.在Programmer>Select Tool菜单中,选择MPLAB ICD 2作为编程器。

    3.选择Programmer>MPLAB ICD2 Setup Wizard…,经由带领完成编程器的设置。

    4.选择Programmer>Program

    当用户使用MPLAB IDE中的编程器模式时,编程(也称烧写)完成后,测验考试板处于遏制运转情况,点programmer菜单下的Release from reset号令加强型PIC测验考试板才会进入运转情况。用户要想让加强型PIC测验考试板复位,采纳的操作是先点programmer菜单下的hold in reset 号令,后点Release from reset,即完成一次复位。 留意:此刻加强型PIC测验考试板是独立运转的,“ICD2 PIC仿真烧写器”只是为测验考试板供电。当然加强型PIC测验考试板也能够不由“ICD2 PIC仿真烧写器”供电,改由本人的外接电源供电。

十六、文件保留

    斥地工作半途及完成后,要及时进行文件的保留,能够选择File>Save Workspace,保留为工作空间文件或选择Project>Save Project,保留名目文件。

下面临这两种文件类型及其区别进行申明:

Project(名目文件) 包罗了编译所需的源文件、连接文件、头文件…… 及这些文件间的机关布局,同时又一次包罗了芯片设置、拔擢位设置等。

Workspace(工作空间文件) 在名目文件包含的内容底子上,又一次进一步 包含了调试器或编程器的选择,已打开的窗口等。

    简单地说:名目文件便是法式员辛辛苦苦做出来的“产物”,工作空间 文件比名目文件多包罗了一些内容,多包罗的内容其实便是做“产物” 过程顶用到的各类对象,例如当前您正在调试法式,为此选择了“ICD2 PIC仿真烧写器”,又一次打开了变量察看窗口,这些在工作空间文件中也会被保留。

    若是您的名目又一次没有最终完成,那么在保留时该当保留为工作空间文件类型,下一次打开时,该当打开这个名目文件,多么出此刻您面前的一 切和您前次看到的一模一样,您能够便本地继续您未完成的工作。

视频录像
    ICD2 仿真烧写器和加强型PIC测验考试板共同使用,教初学者若何建立一个简单的名目工程实例(使用汇编言语)
    下载视频->   http://www.agpgames.com/pic_demo/PIC_asm.rar

视频录像
    ICD2 仿真烧写器和加强型PIC测验考试板共同使用,教初学者若何建立一个简单的名目工程实例(使用C言语)
    下载视频->   http://www.agpgames.com/pic_demo/PIC_c.rar


以上部门内容转载于网上,如有涉及到版权问题,请即通知本人删除 ICP备05019516号 MSN:hificat@hotmail.com
联系地址:浙江省杭州市拱墅区普金家园11-3-702 邮政编码:310011 Email:hificat@163.com support@kincony.com
德律:0571-87615070 传真:0571-87615070 手机:13185018567 在线征询 在线征询 QQ:420951892
杭州澳门新濠天地电子有限公司 版权所有 COPYRIGHT2003——2008 HANGZHOU KinCony ELECTRONICS CO.,LTD All rights reserved