购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.5 PIC单片机配置位

PIC单片机的配置位(Configuration Bits)允许用户根据应用需要配置器件。当单片机上电时,这些位的状态决定了PIC单片机的工作模式。配置位只能在编程模式下存取。通过对配置位编程(读为0)或不编程(读为1)可选择不同的器件配置。配置位编程后,是否能够更改其设置取决于器件的存储工艺和封装形式。

对于PIC16F877A单片机,表1-4列出了它的所有相关配置位。

表1-4 PIC16F877A所有相关配置位

各配置位的说明如下。

CP(Flash Program Memory Code Protection bit):Flash程序内存代码保护位。

1=代码保护关;0=保护所有程序内存。

DEBUG:在线调试器模式配置位。

1=禁止调试,RB6/RB7为通用I/O引脚;0=使能调试,RB6/RB7用作调试器引脚。

WRT1:WRT0(Flash Program Memory Write Enable bits):Flash程序内存写使能控制位。

11=取消写保护,所有程序内存均可以被EECON控制写入。

10=0000H~00FFH被写保护,0100h~1FFFh可被EECON控制写入。

01=0000H~07FFH被写保护,0800h~1FFFh可被EECON控制写入。

00=0000H~0FFFH被写保护,1000h~1FFFh可被EECON控制写入。

CPD(Data EEPROM Memory Code Protection bit):数据内存代码保护位。

1=Data EEPROM保护关;0=Data EEPROM被保护。

LVP(Low-Voltage/Single-Supply In-Circuit Serial Programming Enable bit)低压/单电源在线串行编程使能位。

1=RB3/PGM引脚用于PGM功能,使能低电编程。

0=RB3引脚用作数字I/O引脚,编程必须使用MCLR引脚的高电压(HV)。

BODEN(Brown-out Reset Enable bit):欠压复位使能位。

1=BOR使能;0=BOR禁止。

PWRTE(Power-up Timer Enable bit):上电定时器(PWRT)使能位。

1=PWRT禁止;0=PWRT使能。

WDTE:看门狗定时器(WDT)使能位。

1=WDT使能;0=WDT禁止。

FOSC1:FOSC0:振荡器选择位。

11=RC振荡器;10=HS振荡器;01=XT振荡器;00=LP振荡器。

配置字中的标识说明如下:

R=可读位,P=可编程位,U=未用位,读为‘0’;

−n=POR复位后的值,u=编程后状态不变。

MPLAB X IDE提供了非常方便的配置位管理及源代码生成功能,单击MPLAB X IDE的菜单“窗口/PIC存储器视图/配置位”,可打开如图1-11所示的MPLAB X IDE配置位功能窗口。

图1-11 MPLAB X IDE配置位功能窗口

完成配置位设置后,单击窗口下方的“输出生成源代码”按钮,“输出”窗口将出现类似于下面的配置位代码:

将这些代码直接复制粘贴到主程序中的#include<xc.h>语句下面即可。

另外,通过在线串行编程(ICSP,In-Circuit Serial Programming)设备下载PIC单片机程序时,源程序的配置位将显示在相关对话框中,例如图1-12所示的PIC16F877A单片机及PIC18F452单片机在某型号ICSP编程器中的配置位设置对话框。

图1-12 ICSP中两款PIC单片机配置位设置对话框(PIC16F877A/PIC18F452)

如果源程序中没有设置配置位,在用ICSP编程器下载程序时,可在编程器软件中直接调整配置位,然后将程序(包括配置位)下载到PIC单片机。

全书提供的案例源代码绝大多数未设置配置位,在实物电路中测试时注意添加配置。 oGeyTDT3t8lTnLy6VjUaevlG796Da6MAj1jQtQqWilnYvgQe8y6h0bAUXTavxaq7

点击中间区域
呼出菜单
上一章
目录
下一章
×