0x3FFD // XT 模式
0x3FFC // LP 模式
#define WDTEN 0x3FFF // 看门狗打开
#define WDTDIS
/*上电延时定时器配置*/
#define PWRTEN
0x3FFB // 看门狗关闭
0x3FF7 // 上电延时定时器打开
#define PWRTDIS 0x3FFF // 上电延时定时器关闭
/*低电压复位配置*/
#define BOREN 0x3FFF // 低电压复位允许
#define BORDIS
/*代码保护配置*/
0x3FBF // 低电压复位禁止
#define UNPROTECT 0x3FFF // 没有代码保护
#define PROTECT 0x3FEF // 程序代码保护
例 11-6 头文件预定义的配置信息符号
11.7.2 定义芯片标记单元
PIC 单片机中的标记单元定义可以用下面的__IDLOC(注意前面有两个下划线符)预处
理指令实现,方法如下:
__IDLOC (1234);
其特殊之处是括号内的值全部为 16 进制数,不需要用“0x”引导。这样上面的定义就设定
了标记单元内容为 01020304。
11.8
MPLAB-IDE 中实现 PICC 的编译选项设置
在 11.3 节中已经介绍了如何实现 PICC 和 MPLAB-IDE 开发平台的挂接。一旦项目建立
成功、程序编写完成后即可以通过 MPLAB 环境下的项目管理工具实现程序的编译、连接和
调试。它们的含义分别
是:
-项目维护(Make):MPLAB 检查项目中的原程序文件,只编译那些在上次编
译后又被修改过的原程序,最后进行连接;
-项目重建(Build All):项目中的所有原程序文件,不管是否有修改,都将被
重新编译一次,最后进行连接。
也可以通过 Project 菜单选择“Make”或“Build All”实现项目编译。不管采用何种方
式,在启动编译过程前一般都要设定一些编译选项。
11.8.1 选择单片机型号
在选择 PICC 作为语言工具并建立了项目后,同样通过菜单项 Configure&O1616;Select Device
在 MPLAB 环境中选择具体单片机型号。请回顾一下例 11-1 的代码,我们在原程序一开始
使用了“#include ”实现了相关单片机的一些预定义符号的直接引用,但没有具体指
明是哪一个型号。实际上,“pic.h”头文件只是一个简单的管理工具(条件判别),它会按照
MPLAB 所选择的特定型号的单片机,把真正对应的头文件包含进来。有兴趣者可以直接用
文本编辑工具打开 pic.h 文件查看其是如何根据不同的单片机型号包含对应的头文件。
这样对编程员而言,程序中只需加上一句“#include ”即可。
11.8.2 PICC 普通编译选项(General)设定
参考第三章 3.2.7 节的内容和图 3-20 的指示说明,启动编译选项设定对话框。在使用
PICC 语言工具时对话框的内容和用 MPAMS 汇编工具相比完全不同。图 11-3 为 PICC 编译
环境下普通选项设定的界面。
在此界面中用户唯一能改变的是编译器查找头文件时的指定路径(Include Path),实际
上如果编译器安装没有问题,在此界面中这些普通选项的设定无需任何改动,编译器会自动
到缺省认定的路径中(编译器安装后的相关路径)查找编译所需的各类文件。
图 11-3 PICC 普通选项设定 图 11-4 PICC 全局选项设定
11.8.3 PICC 全局选项设定(PICC Global)
全局选项将影响项目中所有 C 和汇编原程序的编译,详细的设定内容见图 11-4。其中
必须关注的有:
&O1540; Compile for MPLAB ICD:如果你准备用 ICD 调试 C 语言编译后的代码,那么此项
就必须打钩选中。这样编译后的结果就能保证 ICD 本身使用的芯片资源(一小部
分的程序和数据空间)不被应用程序所占用。
&O1540; Treat ?char? as signed:为了提高编译后的代码效率,PICC 缺省认定?char?型变量也
是无符号数。如果在设计中需要使用带符号的?char?型变量,此项就应该被选中。
&O1540; Floating point ?double? width:同样为了提高编译后的代码效率,PICC 缺省认定
?double?型的双精度浮点数变量的实现长度为 24 位(等同于普通 float 型浮点数)。
在这里可以选择使其长度达 32 位。这样数值计算的精度将得到提高,但代码长度
将增加,计算速度也会降低,所以请在权衡利弊后作出你自己的决定。