PICC提供了相关的预处理指令以实现在源程序中定义单片机的配置字和标记单元。
1)定义工作配置字
在源程序中定义PIC单片机工作配置字的重要性在前面章节中已经阐述。在用PICC写程序时同样可以在C原程序中定义,具体方式如下:
__CONFIG(HS&UNPROTECT&PWRTEN&BORDIS&WDTEN);
上面的关键词“__CONFIG”(注意前面有两个下划线符)专门用于是芯片配置字的设定,后面括号中的各项配置位符号在特定型号单片机的头文件中已经定义(注意不是pic.h头文件),相互之间用逻辑“与”操作符组合在一起。这样定义的配置字信息最后将和程序代码一起放入同一个HEX文件。
在这里列出了适用于16F7x系列单片机配置位符号预定义,其它型号或系列的单片机配置字定义方式类似,使用前查阅一下对应的头文件即可。
/*振荡器配置*/
#defineRC 0x3FFF//RC振荡
#defineHS 0x3FFE//HS模式
#defineXT 0x3FFD//XT模式
#defineLP 0x3FFC//LP模式
/*看门狗配置*/
#defineWDTEN0x3FFF//看门狗打开
#defineWDTDIS 0x3FFB//看门狗关闭
/*上电延时定时器配置*/
#definePWRTEN0x3FF7//上电延时定时器打开
#definePWRTDIS0x3FFF//上电延时定时器关闭
/*低电压复位配置*/
#defineBOREN0x3FFF//低电压复位允许
#defineBORDIS 0x3FBF//低电压复位禁止
/*代码保护配置*/
#defineUNPROTECT0x3FFF//没有代码保护
#definePROTECT0x3FEF//程序代码保护
2)定义芯片标记单元
PIC单片机中的标记单元定义可以用下面的__IDLOC(注意前面有两个下划线符)预处理指令实现,方法如下:
__IDLOC(1234);
其特殊之处是括号内的值全部为16进制数,不需要用“0x”引导。这样上面的定义就设定了标记单元内容为01020304。