模板的发布编制卢继珍审核批准发布日期实施日期模板更改记录模板详细内容见后文。
MPLAB X IDE快速操作指南编制卢继珍审核批准发布日期实施日期MPLAB X IDE 快速指南一、环境搭建PIC单片机的开发环境以前主要是MPLAB IDE,但由于其已经暴露出诸多问题,在2010年8月,微芯公司发布了全新的MPLAB X IDE开发环境。
见图1.1。
MPLAB® X IDE是可以运行在PC(Windows®、Mac OS®和Linux®)上的软件程序,用于开发Microchip单片机和数字信号控制器的应用。
由于它提供了一个统一的集成“环境”来支持嵌入式单片机的代码开发,因此称为集成开发环境(IDE)。
下载路径:/pagehandler/zh-cn/family/mplabx/图1.1 MPLAB X IDE集成开发环境图标由于其主要是一个集成的软件编辑环境,并不提供编译功能,所以安装MPLAB X IDE以后,我们还要安装编译器。
Microchip最新编译器产品线——MPLAB® XC为项目开发的软件需求提供完整的解决方案,并且可以替换所有MPLAB C和HI-TECH编译器。
MPLAB XC编译器具有以下特性:支持所有8/16/32位PIC® MCU以及dsPIC® DSC与MPLAB X IDE配合工作,提供全面的图形前端:•编辑错误和断点,以匹配源代码中相应的行•支持C和C++源代码单步执行,以检测关键点的变量和结构•在观察窗口显示已定义数据类型的数据结构(包括浮点)可以在Windows、Linux和Mac OS X系统上运行提供不同优化等级以满足各种需求,并且可以免费下载表1.1:Microchip PIC单片机与编译器对应表专业版标准版免费版**C++PIC10/12/16/18MCUMPLAB®XC 8MPLABXC 8MPLABXC 8MPLAB XC8 不可用PIC24 MCU和dsPIC® DSCMPLAB MPLAB MPLAB MPLAB XCMPLAB XC8编译器提供了三种模式:免费(Free)、标准(Standard)、专业(PRO)。
标准和专业模式需要序列号来启用。
无序列号的客户可以使用免费模式。
基本的编译器操作、支持的器件和可用的存储器在三种模式中都是相同的,区别仅在于编译器的优化级别。
如果我们要求的优化级别比较高,可以对XC8进行破解,破解方法见:/lujizhen/item/de878421073f51d60f37f905安装完MPLAB X IDE集成开发环境和XC8等编译器以后,接下来就可以打开MPLAB X IDE进行相关设置了。
双击MPLAB X IDE图标,然后点击顶部菜单栏的Tools-Options, 点击“Embedded”图标,出现图1.2所示界面:图1.2 MPLAB X IDE 编译环境设置界面点击“Add”,弹出图1.3:图1.3 MPLAB X IDE 添加新的编译工具路径设置界面点击“Browse”,选择XC8及XC16的安装文件路径。
将XC8及XC16编译工具添加进入开发环境中进行管理。
以XC8为例,完成后如下图所示:图1.4 MPLAB X IDE 编译环境设置界面至此,已完成PIC单片机的开发及编译环境了。
创建第一个项目:点击“File”—“New Project”,弹出如下界面:图1.5 MPLAB X IDE 新建工程选择界面点击“Next”,出现如下“Select Device”界面,选择我们的目标CPU,这里以PIC16F877A为例:图1.6 MPLAB X IDE 芯片选择界面继续点击“Next”,出现“Select Tool”界面,选择我们的下载工具,这里选择“PICKit3”,如果当前选择的下载工具有效的话,会出现SN号,如下图所示:图1.7 MPLAB X IDE下载器选择界面选择“Next”,进入“Select Compiler”界面,选择我们的编译器,即所谓的语言工具。
这里因为PIC16F877A单片机是8位的,所以我们选择XC8编译器。
图1.8 MPLAB X IDE编译器选择界面选择“Next”,进入“Select Project Name and Folder”,设置工程名和工程路径。
图1.9 MPLAB X IDE工程名及路径设置界面点击“Finish”完成工程的建立。
刚刚建立的工程是没有任何内容的,如下图所示:图1.10 MPLAB X IDE新建工程后的界面接下去,我们就可以新建文件或添加已经存在的文件,完成软件工程的代码编辑工作。
常用的工程设置及工具含义:创建项目之后,可以在Project Properties(项目属性)对话框中查看或更改项目属性。
通过以下任一方式访问该对话框:• 在Projects 窗口中右键单击项目名称,然后选择“Properties”(属性)。
• 在Projects 窗口中单击项目名称,然后选择File>Project Properties。
里面有我们经常要设置的目标板的供电方式及编译的优化等级等等。
图1.11 MPLAB X IDE工程属性设置界面其它的一些设置基本都在“Tool”-“Options”里面进行设置,如下图所示:图1.12 MPLAB X IDE选项设置界面基于MPLAB X IDE配置位设置MPLAB X IDE和MPLAB IDE 8不同。
MPLAB IDE 8 可以再界限中选择配置位就行。
配置选项可以不写在代码中。
MPLAB X IDE 如果要配置的话必须在代码中写出配置。
配置字中最重要的配置选项就是:看门狗配置如:WDTE<1;0>;一般选择关闭看门狗。
MCLRE复位脚的配置如:MCLRE;一般选择复位脚作I/O,PIC16F877A无此选项。
不用设置。
震荡器的选择:如:FOSC<2:0>;根据实际情况配置,我这里一般选用XT,即标准的振荡频率1M~4M。
因为如果这三个没有配置好的话程序根本无法运行。
其他配置可以看数据手册此不赘述。
图1.13 MPLAB X IDE开发环境PIC设置位的设置界面实例介绍:打开MPLAB X IDE 在菜单栏中点击Window->PIC Memory Veiws->Configuration bits,如下图所示:图1.14 MPLAB X IDE开发环境PIC设置位的设置界面2 在出现的Configuration Bits中的改变每个配置中的option选项,红色的就是我们改变过的配置选项图1.15 MPLAB X IDE开发环境PIC设置位的设置界面3 配置完成后点击Genarate Source Code to Output 产生配置源代码。
图1.16 MPLAB X IDE开发环境PIC设置位的设置界面将其中的#include <xc.h>#pragma config FOSC = XT // Oscillator Selection bits (XT oscillator) #pragma config WDTE = ON // Watchdog Timer Enable bit (WDT enabled)#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)#pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)上述代码粘贴在main.c中即可。
另外,为了编辑过程中支持中文注释,需要对编码格式进行更改,右键点击工程名,选择“Properties”->“General”,在Encoding下拉选项中选择“GB2312”选项。
如图所示:图1.17 MPLAB X IDE开发环境工程属性的设置界面下面重点介绍一下在MPLAB X IDE中如何使用SVN。
在介绍SVN的使用之前,先让我们来了解一下SVN。
SVN是什么?有一个简单但不十分精确比喻:SVN = 版本控制+ 备份服务器简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。
并且自动的赋予每次的变更一个版本。
通常,我们称用来存放上传档案的地方就做Repository。
用中文来说,有点像是档案仓库的意思。
不过,通常我们还是使用Repository这个名词。
基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。
日后,当您有任何修改时,都可以上传到Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server的意思。
针对每次的commit,SVN server都会赋予他一个新的版本。
同时,也会把每次上传的时间记录下来。
日后,因为某些因素,如果您需要从Repository下载曾经提交的档案。
您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。
如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。
为什么要用SVN?备份工作档案是十分重要的。
您永远不知道计算机上的硬盘何时会坏掉。
根据经验法则再加上摩菲定理,坏事情往往都发生在最重要的时刻。
例如,要release东西的前一刻,硬盘完全坏掉,无法修复。