最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

PIC18F2420252044204520配置位详细说明

IT圈 admin 44浏览 0评论

2024年3月21日发(作者:伦荣)

详细 可以参考datasheet的 23.0 CPU 的特殊功能

PIC18F2420/2520/4420/4520 器件具有几项特殊的功能

旨在最大限度地提高系统可靠性,并通过减少外部元件

把成本降到最低。这些功能包括:

• 振荡器选择

• 复位:

- 上电复位(POR)

- 上电延时定时器(PWRT)

- 振荡器起振定时器(OST)

- 欠压复位(BOR)

• 中断

• 看门狗定时器(WDT)

• 故障保护时钟监视器(FSCM)

• 双速启动

• 代码保护

• ID 单元

• 在线串行编程

选择振荡器时,要根据具体应用对频率、功耗、精度和

成本的要求。在第2.0 节“振荡器配置”中详细讨论了

所有的选项。

在本数据手册的前面几章中已经完整地讨论了器件的复

位和中断。

除了为复位提供了上电延迟定时器和振荡器起振定时器

之外,PIC18F2420/2520/4420/4520 器件还提供了一个

看门狗定时器,该定时器可配置成永久使能或用软件控

制(如果使能位被禁止的话)。

器件自带的RC 振荡器还提供了故障保护时钟监视器

(FSCM)和双速启动这两个额外的功能。FSCM 对外

设时钟进行后台监视,并在外设时钟发生故障时自动切

换时钟源。双速启动使得几乎可在起振发生时立即执行

代码,而此时主时钟源正在完成起振延时。

通过设置相应的配置寄存器位可以使能和配置所有这些

功能。

23.1 配置位

可以通过对配置位编程(读为0)或不编程(读为1)

来选择不同的器件配置。这些配置位被映射到程序存储

器从300000h 开始的单元中。

用户会注意到地址300000h 超出了用户程序存储空间的

范围。事实上,它属于配置存储空间(300000h-

3FFFFFh),该空间仅能通过表读和表写进行访问。

对配置寄存器编程类似于对闪存存储器编程。EECON1

寄存器中的WR 位可启动对配置寄存器的自定时写操

作。在正常工作模式下,采用TBLPTR 指向配置寄存器

的TBLWT 指令设置要用于写操作的地址和数据。将WR

位置1 可启动对配置寄存器的长写操作。每次往配置寄

存器写入1 个字节。要写入或擦除一配置单元,可用

TBLWT 指令向该单元写入1 或0。欲知更多信息,请参

见第6.5 节“写入闪存程序存储器”。

图注:

知, u = 不变,- = 未用, q = 取值依情况而定。

x = 未

阴影单元未用,读为0。

注1: PIC18F2420/4420 器件中不可用;保持该位置1。

2: 关于DEVID1 的值,请参见寄存器23-14。DEVID 寄存器为只读寄存器,用户不

能对其进行编程。

PIC18F2420/2520/4420/4520

DS39631A_CN 第250 页初稿2006 Microchip Technology Inc.

bit 7 IESO:内

部/ 外部振荡器切换位

1 = 使能振荡器切换模式

0 = 禁止振荡器切换模式

bit 6 FCMEN:故障保护时钟监视器使能位

1 = 使能故障保护时钟监视器

0 = 禁止故障保护时钟监视器

bit 5-4 未用位:读为0

bit 3-0 FOSC3:FOSC0:振荡器选择位

11xx = 外部RC 振荡器, RA6 用作CLKO 引脚

101x = 外部RC 振荡器, RA6 用作CLKO 引脚

1001 = 内部振荡电路, RA6 用作CLKO 引脚, RA7 用作端口引脚

1000 = 内部振荡电路, RA6 和RA7 均用作端口引脚

0111 = 外部RC 振荡器, RA6 用作端口引脚

0110 = PLL 使能的HS 振荡器(时钟频率 = 4 × FOSC1)

0101 = EC 振荡器, RA6 用作端口引脚

0100 = EC 振荡器, RA6 用作CLKO 引脚

0011 = 外部RC 振荡器, RA6 用作CLKO 引脚

0010 = HS 振荡器

0001 = XT 振荡器

0000 = LP 振荡器

图注:

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

-n = 未对器件编程时的值u = 编程后状态不变

2006 Microchip Technology Inc. 初稿DS39631A_CN 第251 页

PIC18F2420/2520/4420/4520

bit 7-5 未用

位:读为0

bit 4-3 BORV1:BORV0:欠压复位门限电压位(1)

11 = 最大设置

...

00 = 最小设置

bit 2-1 BOREN1:BOREN0:欠压复位使能位(2)

11 = 由硬件使能欠压复位(禁止SBOREN)

10 = 由硬件使能欠压复位,休眠模式下被禁止(禁止SBOREN)

01 = 由软件使能和控制欠压复位(使能SBOREN)

00 = 禁止使用硬件或软件使能欠压复位

bit 0 PWRTEN:上电延时定时器(PWRT)使能位(2)

1 = 禁止PWRT

0 = 使能PWRT

注1: 请参见第26.1 节“直流规范:供电电压”了解具体规范。

2: 上电延时定时器与欠压复位是相互独立的,这样可以分别控制两者的操作。

图注:

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

-n = 未对器件编程时的值u = 编程后状态不变

PIC18F2420/2520/4420/4520

DS39631A_CN 第252 页初稿2006 Microchip Technology Inc.

bit 7-5 未用

位:读为0

bit 4-1 WDTPS3:WDTPS0:看门狗定时器后分频比选择位

1111 = 1:32,768

1110 = 1:16,384

1101 = 1:8,192

1100 = 1:4,096

1011 = 1:2,048

1010 = 1:1,024

1001 = 1:512

1000 = 1:256

0111 = 1:128

0110 = 1:64

0101 = 1:32

0100 = 1:16

0011 = 1:8

0010 = 1:4

0001 = 1:2

0000 = 1:1

bit 0 WDTEN:看门狗定时器使能位

1 = 使能WDT

0 = 禁止WDT (由SWDTEN 位控制)

图注:

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

-n = 未对器件编程时的值u = 编程后状态不变

2006 Microchip Technology Inc. 初稿DS39631A_CN 第253 页

PIC18F2420/2520/4420/4520

bit 7 MCLRE:

MCLR 引脚使能位

1 = 使能MCLR 引脚,禁止RE3 输入引脚

0 = 使能RE3 引脚,禁止MCLR 引脚

bit 6-3 未用位:读为0

bit 2 LPT1OSC:低功耗Timer1 振荡器使能位

1 = Timer1 配置为低功耗运行

0 = Timer1 配置为高功耗运行

bit 1 PBADEN:PORTB A/D 使能位

(影响ADCON1 复位状态。ADCON1 控制PORTB<4:0> 引脚配置。)

1 = 复位时PORTB<4:0> 引脚配置为模拟输入通道

0 = 复位时PORTB<4:0> 引脚配置为数字I/O

bit 0 CCP2MX:CCP2 复用位

1 = CCP2 输入/ 输出与RC1 复用

0 = CCP2 输入/ 输出与RB3 复用

图注:

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

-n = 未对器件编程时的值u = 编程后状态不变

:后台调试器使能位

1 = 禁止后台调试器, RB6 和RB7 被配置为通用I/O 引脚

0 = 使能后台调试器, RB6 和RB7 专用于在线调试

bit 6 XINST:扩展指令集使能位

1 = 使能指令集扩展和变址寻址模式

bit 7

DEBUG

0 = 禁止指令集扩展和变址寻址模式(传统模式)

bit 5-3 未用位:读为0

bit 2 LVP:单电源ICSP 使能位

1 = 使能单电源ICSP

0 = 禁止单电源ICSP

bit 1 未用位:读作0

bit 0 STVREN:堆栈满/ 下溢复位使能位

1 = 堆栈满/ 下溢导致复位

0 = 堆栈满/ 下溢不导致复位

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

PIC18F2420/2520/4420/4520

DS39631A_CN 第254 页初稿2006 Microchip Technology Inc.

bit 7-4 未用

位:读作0

bit 3 CP3:代码保护位(1,2)

1 = 程序存储块3 (006000-007FFFh)无代码保护

0 = 程序存储块3 (006000-007FFFh)有代码保护

bit 2 CP2:代码保护位(1)

1 = 程序存储块2 (004000-005FFFh)无代码保护

0 = 程序存储块2 (004000-005FFFh)有代码保护

bit 1 CP1:代码保护位

1 = 程序存储块1 (002000-003FFFh)无代码保护

0 = 程序存储块1 (002000-003FFFh)有代码保护

bit 0 CP0:代码保护位

1 = 程序存储块0 (000800-000FFFh)无代码保护

0 = 程序存储块0 (000800-000FFFh)有代码保护

注1: 在PIC18F2420/4420 器件中不可用;保持该位置1。

2: 在PIC18F2425/4425 器件中不可用;保持该位置1。

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

据EEPROM 代码保护位

1 = 数据EEPROM 无代码保护

0 = 数据EEPROM 有代码保护

bit 6 CPB:引导区代码保护位

1 = 引导区(000000-0007FFh)无代码保护

bit 7 CPD:数

0 = 引导区(000000-0007FFh)有代码保护

bit 5-0 未用位:读为0

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

2006 Microchip Technology Inc. 初稿DS39631A_CN 第255 页

PIC18F2420/2520/4420/4520

bit 7-4 未用

位:读为0

bit 3 WRT3:写保护位(1,2)

1 = 程序存储块3 (006000-007FFFh)无写保护

0 = 程序存储块3 (006000-007FFFh)有写保护

bit 2 WRT2:写保护位(1)

1 = 程序存储块2 (004000-005FFFh)无写保护

0 = 程序存储块2 (004000-005FFFh)有写保护

bit 1 WRT1:写保护位

1 = 程序存储块1 (002000-003FFFh)无写保护

0 = 程序存储块1 (002000-003FFFh)有写保护

bit 0 WRT0:写保护位

1 = 程序存储块0 (000800-001FFFh)无写保护

0 = 程序存储块0 (000800-001FFFh)有写保护

注1: 在PIC18F2420/4420 器件中不可用;保持该位置1。

2: 在PIC18F2425/4425 器件中不可用;保持该位置1。

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

bit 7 WRTD:

数据EEPROM 写保护位

1 = 数据EEPROM 无写保护

0 = 数据EEPROM 有写保护

bit 6 WRTB:引导区写保护位

1 = 引导区(000000-0007FFh)无写保护

0 = 引导区(000000-0007FFh)有写保护

bit 5 WRTC:配置寄存器写保护位(1)

1 = 配置寄存器(300000-3000FFh)无写保护

0 = 配置寄存器(300000-3000FFh)有写保护

注1: 在正常执行模式下,该位只读;仅在编程模式下该位才可写。

bit 4-0 未用位:读为0

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

PIC18F2420/2520/4420/4520

DS39631A_CN 第256 页初稿2006 Microchip Technology Inc.

bit 7-4 未用

位:读为0

bit 3 EBTR3:表读保护位(1,2)

1 = 程序存储块3 (006000-007FFFh)无表读保护,可从其他区块对其执行表读操

0 = 程序存储块3 (006000-007FFFh)有表读保护,不能从其他区块对其执行表读

操作

bit 2 EBTR2:表读保护位(1)

1 = 程序存储块2 (004000-005FFFh)无表读保护,可从其他区块对其执行表读操

0 = 程序存储块2 (004000-005FFFh)有表读保护,不能从其他区块对其执行表读

操作

bit 1 EBTR1:表读保护位

1 = 程序存储块1 (002000-003FFFh)无表读保护,可从其他区块对其执行表读操

0 = 程序存储块1 (002000-003FFFh)有表读保护,不能从其他区块对其执行表读

操作

bit 0 EBTR0:表读保护位

1 = 程序存储块0 (000800-001FFFh)无表读保护,可从其他区块对其执行表读操

0 = 程序存储块0 (000800-001FFFh)有表读保护,不能从其他区块对其执行表读

操作

注1: 在PIC18F2420/4420 器件中不可用;保持该位置1。

2: 在PIC18F2425/4425 器件中不可用;保持该位置1。

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

bit 7 未用位:

读为0

bit 6 EBTRB:引导区表读保护位

1 = 引导区(000000-0007FFh)无表读保护,可从其他区块对其执行表读操作

0 = 引导区(000000-0007FFh)有表读保护,不能从其他区块对其执行表读操作

bit 5-0 未用位:读为0

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

2006 Microchip Technology Inc. 初稿DS39631A_CN 第257 页

PIC18F2420/2520/4420/4520

DEV2:DEV0:器件ID 位

000 = PIC18F4520

010 = PIC18F4420

100 = PIC18F2520

110 = PIC18F2420

bit 4-0 REV4:REV0:版本ID 位

这些位用于表明器件的版本。

图注:

R = 只读位P = 可编程位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

DEV10:DEV3:器件ID 位

bit 7-5

bit 7-0

这些位与器件ID 寄存器1 中的DEV2:DEV0 一起用于标识器件号。

0000 1100 = PIC18F2420/2520/4420/4520 器件

注: DEV10:DEV3 的值可能会用于其他器件。特定器件是通过使用整个DEV10:DEV0

位序列来标识的。

图注:

R = 只读位P = 可编程位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

PIC18F2420/2520/4420/4520

DS39631A_CN 第258 页初稿2006 Microchip Technology Inc.

23.2 看门狗定时器(WDT)

PIC18F2420/2520/4420/4520 器件的WDT 由INTRC

时钟源驱动。当使能WDT 时,也将同时使能时钟源。

WDT 超时溢出周期的标称值为4 ms,其稳定性与

INTRC 振荡器相同。

4 ms 的WDT 超时溢出周期将与16 位后分频器的值相

乘来得到更长的时钟周期。通过配置寄存器2H 来控制

一个多路开关以对WDT 后分频器的输出进行选择。因

此可获得的超时溢出周期范围为4 ms 至131.072 秒

(2.18 分钟)。当发生以下任一事件时,WDT 和后分频

器将被清零,这些事件包括 :执行SLEEP 或CLRWDT

指令、IRCF 位(OSCCON<6:4>)发生了改变或发生时

钟故障。

23.2.1 控制寄存器

寄存器23-14 所示为WDTCON 寄存器。这是一个可读

写的寄存器,它包含一个控制位,当WDT 被配置位禁

止时,该控制位允许使用软件来控制WDT。

注1: 当执行CLRWDT 和SLEEP 指令时, WDT

和后分频器的计数值将被清零。

2: 更改IRCF 位(OSCCON<6:4>)的设置

会清零WDT 和后分频器的计数值。

图23-1: WDT 原理框图

2024年3月21日发(作者:伦荣)

详细 可以参考datasheet的 23.0 CPU 的特殊功能

PIC18F2420/2520/4420/4520 器件具有几项特殊的功能

旨在最大限度地提高系统可靠性,并通过减少外部元件

把成本降到最低。这些功能包括:

• 振荡器选择

• 复位:

- 上电复位(POR)

- 上电延时定时器(PWRT)

- 振荡器起振定时器(OST)

- 欠压复位(BOR)

• 中断

• 看门狗定时器(WDT)

• 故障保护时钟监视器(FSCM)

• 双速启动

• 代码保护

• ID 单元

• 在线串行编程

选择振荡器时,要根据具体应用对频率、功耗、精度和

成本的要求。在第2.0 节“振荡器配置”中详细讨论了

所有的选项。

在本数据手册的前面几章中已经完整地讨论了器件的复

位和中断。

除了为复位提供了上电延迟定时器和振荡器起振定时器

之外,PIC18F2420/2520/4420/4520 器件还提供了一个

看门狗定时器,该定时器可配置成永久使能或用软件控

制(如果使能位被禁止的话)。

器件自带的RC 振荡器还提供了故障保护时钟监视器

(FSCM)和双速启动这两个额外的功能。FSCM 对外

设时钟进行后台监视,并在外设时钟发生故障时自动切

换时钟源。双速启动使得几乎可在起振发生时立即执行

代码,而此时主时钟源正在完成起振延时。

通过设置相应的配置寄存器位可以使能和配置所有这些

功能。

23.1 配置位

可以通过对配置位编程(读为0)或不编程(读为1)

来选择不同的器件配置。这些配置位被映射到程序存储

器从300000h 开始的单元中。

用户会注意到地址300000h 超出了用户程序存储空间的

范围。事实上,它属于配置存储空间(300000h-

3FFFFFh),该空间仅能通过表读和表写进行访问。

对配置寄存器编程类似于对闪存存储器编程。EECON1

寄存器中的WR 位可启动对配置寄存器的自定时写操

作。在正常工作模式下,采用TBLPTR 指向配置寄存器

的TBLWT 指令设置要用于写操作的地址和数据。将WR

位置1 可启动对配置寄存器的长写操作。每次往配置寄

存器写入1 个字节。要写入或擦除一配置单元,可用

TBLWT 指令向该单元写入1 或0。欲知更多信息,请参

见第6.5 节“写入闪存程序存储器”。

图注:

知, u = 不变,- = 未用, q = 取值依情况而定。

x = 未

阴影单元未用,读为0。

注1: PIC18F2420/4420 器件中不可用;保持该位置1。

2: 关于DEVID1 的值,请参见寄存器23-14。DEVID 寄存器为只读寄存器,用户不

能对其进行编程。

PIC18F2420/2520/4420/4520

DS39631A_CN 第250 页初稿2006 Microchip Technology Inc.

bit 7 IESO:内

部/ 外部振荡器切换位

1 = 使能振荡器切换模式

0 = 禁止振荡器切换模式

bit 6 FCMEN:故障保护时钟监视器使能位

1 = 使能故障保护时钟监视器

0 = 禁止故障保护时钟监视器

bit 5-4 未用位:读为0

bit 3-0 FOSC3:FOSC0:振荡器选择位

11xx = 外部RC 振荡器, RA6 用作CLKO 引脚

101x = 外部RC 振荡器, RA6 用作CLKO 引脚

1001 = 内部振荡电路, RA6 用作CLKO 引脚, RA7 用作端口引脚

1000 = 内部振荡电路, RA6 和RA7 均用作端口引脚

0111 = 外部RC 振荡器, RA6 用作端口引脚

0110 = PLL 使能的HS 振荡器(时钟频率 = 4 × FOSC1)

0101 = EC 振荡器, RA6 用作端口引脚

0100 = EC 振荡器, RA6 用作CLKO 引脚

0011 = 外部RC 振荡器, RA6 用作CLKO 引脚

0010 = HS 振荡器

0001 = XT 振荡器

0000 = LP 振荡器

图注:

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

-n = 未对器件编程时的值u = 编程后状态不变

2006 Microchip Technology Inc. 初稿DS39631A_CN 第251 页

PIC18F2420/2520/4420/4520

bit 7-5 未用

位:读为0

bit 4-3 BORV1:BORV0:欠压复位门限电压位(1)

11 = 最大设置

...

00 = 最小设置

bit 2-1 BOREN1:BOREN0:欠压复位使能位(2)

11 = 由硬件使能欠压复位(禁止SBOREN)

10 = 由硬件使能欠压复位,休眠模式下被禁止(禁止SBOREN)

01 = 由软件使能和控制欠压复位(使能SBOREN)

00 = 禁止使用硬件或软件使能欠压复位

bit 0 PWRTEN:上电延时定时器(PWRT)使能位(2)

1 = 禁止PWRT

0 = 使能PWRT

注1: 请参见第26.1 节“直流规范:供电电压”了解具体规范。

2: 上电延时定时器与欠压复位是相互独立的,这样可以分别控制两者的操作。

图注:

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

-n = 未对器件编程时的值u = 编程后状态不变

PIC18F2420/2520/4420/4520

DS39631A_CN 第252 页初稿2006 Microchip Technology Inc.

bit 7-5 未用

位:读为0

bit 4-1 WDTPS3:WDTPS0:看门狗定时器后分频比选择位

1111 = 1:32,768

1110 = 1:16,384

1101 = 1:8,192

1100 = 1:4,096

1011 = 1:2,048

1010 = 1:1,024

1001 = 1:512

1000 = 1:256

0111 = 1:128

0110 = 1:64

0101 = 1:32

0100 = 1:16

0011 = 1:8

0010 = 1:4

0001 = 1:2

0000 = 1:1

bit 0 WDTEN:看门狗定时器使能位

1 = 使能WDT

0 = 禁止WDT (由SWDTEN 位控制)

图注:

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

-n = 未对器件编程时的值u = 编程后状态不变

2006 Microchip Technology Inc. 初稿DS39631A_CN 第253 页

PIC18F2420/2520/4420/4520

bit 7 MCLRE:

MCLR 引脚使能位

1 = 使能MCLR 引脚,禁止RE3 输入引脚

0 = 使能RE3 引脚,禁止MCLR 引脚

bit 6-3 未用位:读为0

bit 2 LPT1OSC:低功耗Timer1 振荡器使能位

1 = Timer1 配置为低功耗运行

0 = Timer1 配置为高功耗运行

bit 1 PBADEN:PORTB A/D 使能位

(影响ADCON1 复位状态。ADCON1 控制PORTB<4:0> 引脚配置。)

1 = 复位时PORTB<4:0> 引脚配置为模拟输入通道

0 = 复位时PORTB<4:0> 引脚配置为数字I/O

bit 0 CCP2MX:CCP2 复用位

1 = CCP2 输入/ 输出与RC1 复用

0 = CCP2 输入/ 输出与RB3 复用

图注:

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

-n = 未对器件编程时的值u = 编程后状态不变

:后台调试器使能位

1 = 禁止后台调试器, RB6 和RB7 被配置为通用I/O 引脚

0 = 使能后台调试器, RB6 和RB7 专用于在线调试

bit 6 XINST:扩展指令集使能位

1 = 使能指令集扩展和变址寻址模式

bit 7

DEBUG

0 = 禁止指令集扩展和变址寻址模式(传统模式)

bit 5-3 未用位:读为0

bit 2 LVP:单电源ICSP 使能位

1 = 使能单电源ICSP

0 = 禁止单电源ICSP

bit 1 未用位:读作0

bit 0 STVREN:堆栈满/ 下溢复位使能位

1 = 堆栈满/ 下溢导致复位

0 = 堆栈满/ 下溢不导致复位

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

PIC18F2420/2520/4420/4520

DS39631A_CN 第254 页初稿2006 Microchip Technology Inc.

bit 7-4 未用

位:读作0

bit 3 CP3:代码保护位(1,2)

1 = 程序存储块3 (006000-007FFFh)无代码保护

0 = 程序存储块3 (006000-007FFFh)有代码保护

bit 2 CP2:代码保护位(1)

1 = 程序存储块2 (004000-005FFFh)无代码保护

0 = 程序存储块2 (004000-005FFFh)有代码保护

bit 1 CP1:代码保护位

1 = 程序存储块1 (002000-003FFFh)无代码保护

0 = 程序存储块1 (002000-003FFFh)有代码保护

bit 0 CP0:代码保护位

1 = 程序存储块0 (000800-000FFFh)无代码保护

0 = 程序存储块0 (000800-000FFFh)有代码保护

注1: 在PIC18F2420/4420 器件中不可用;保持该位置1。

2: 在PIC18F2425/4425 器件中不可用;保持该位置1。

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

据EEPROM 代码保护位

1 = 数据EEPROM 无代码保护

0 = 数据EEPROM 有代码保护

bit 6 CPB:引导区代码保护位

1 = 引导区(000000-0007FFh)无代码保护

bit 7 CPD:数

0 = 引导区(000000-0007FFh)有代码保护

bit 5-0 未用位:读为0

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

2006 Microchip Technology Inc. 初稿DS39631A_CN 第255 页

PIC18F2420/2520/4420/4520

bit 7-4 未用

位:读为0

bit 3 WRT3:写保护位(1,2)

1 = 程序存储块3 (006000-007FFFh)无写保护

0 = 程序存储块3 (006000-007FFFh)有写保护

bit 2 WRT2:写保护位(1)

1 = 程序存储块2 (004000-005FFFh)无写保护

0 = 程序存储块2 (004000-005FFFh)有写保护

bit 1 WRT1:写保护位

1 = 程序存储块1 (002000-003FFFh)无写保护

0 = 程序存储块1 (002000-003FFFh)有写保护

bit 0 WRT0:写保护位

1 = 程序存储块0 (000800-001FFFh)无写保护

0 = 程序存储块0 (000800-001FFFh)有写保护

注1: 在PIC18F2420/4420 器件中不可用;保持该位置1。

2: 在PIC18F2425/4425 器件中不可用;保持该位置1。

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

bit 7 WRTD:

数据EEPROM 写保护位

1 = 数据EEPROM 无写保护

0 = 数据EEPROM 有写保护

bit 6 WRTB:引导区写保护位

1 = 引导区(000000-0007FFh)无写保护

0 = 引导区(000000-0007FFh)有写保护

bit 5 WRTC:配置寄存器写保护位(1)

1 = 配置寄存器(300000-3000FFh)无写保护

0 = 配置寄存器(300000-3000FFh)有写保护

注1: 在正常执行模式下,该位只读;仅在编程模式下该位才可写。

bit 4-0 未用位:读为0

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

PIC18F2420/2520/4420/4520

DS39631A_CN 第256 页初稿2006 Microchip Technology Inc.

bit 7-4 未用

位:读为0

bit 3 EBTR3:表读保护位(1,2)

1 = 程序存储块3 (006000-007FFFh)无表读保护,可从其他区块对其执行表读操

0 = 程序存储块3 (006000-007FFFh)有表读保护,不能从其他区块对其执行表读

操作

bit 2 EBTR2:表读保护位(1)

1 = 程序存储块2 (004000-005FFFh)无表读保护,可从其他区块对其执行表读操

0 = 程序存储块2 (004000-005FFFh)有表读保护,不能从其他区块对其执行表读

操作

bit 1 EBTR1:表读保护位

1 = 程序存储块1 (002000-003FFFh)无表读保护,可从其他区块对其执行表读操

0 = 程序存储块1 (002000-003FFFh)有表读保护,不能从其他区块对其执行表读

操作

bit 0 EBTR0:表读保护位

1 = 程序存储块0 (000800-001FFFh)无表读保护,可从其他区块对其执行表读操

0 = 程序存储块0 (000800-001FFFh)有表读保护,不能从其他区块对其执行表读

操作

注1: 在PIC18F2420/4420 器件中不可用;保持该位置1。

2: 在PIC18F2425/4425 器件中不可用;保持该位置1。

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

bit 7 未用位:

读为0

bit 6 EBTRB:引导区表读保护位

1 = 引导区(000000-0007FFh)无表读保护,可从其他区块对其执行表读操作

0 = 引导区(000000-0007FFh)有表读保护,不能从其他区块对其执行表读操作

bit 5-0 未用位:读为0

图注:

R = 可读位C = 可清零位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

2006 Microchip Technology Inc. 初稿DS39631A_CN 第257 页

PIC18F2420/2520/4420/4520

DEV2:DEV0:器件ID 位

000 = PIC18F4520

010 = PIC18F4420

100 = PIC18F2520

110 = PIC18F2420

bit 4-0 REV4:REV0:版本ID 位

这些位用于表明器件的版本。

图注:

R = 只读位P = 可编程位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

DEV10:DEV3:器件ID 位

bit 7-5

bit 7-0

这些位与器件ID 寄存器1 中的DEV2:DEV0 一起用于标识器件号。

0000 1100 = PIC18F2420/2520/4420/4520 器件

注: DEV10:DEV3 的值可能会用于其他器件。特定器件是通过使用整个DEV10:DEV0

位序列来标识的。

图注:

R = 只读位P = 可编程位U = 未用位,读为0

-n = 未对器件编程时的值u = 编程后状态不变

PIC18F2420/2520/4420/4520

DS39631A_CN 第258 页初稿2006 Microchip Technology Inc.

23.2 看门狗定时器(WDT)

PIC18F2420/2520/4420/4520 器件的WDT 由INTRC

时钟源驱动。当使能WDT 时,也将同时使能时钟源。

WDT 超时溢出周期的标称值为4 ms,其稳定性与

INTRC 振荡器相同。

4 ms 的WDT 超时溢出周期将与16 位后分频器的值相

乘来得到更长的时钟周期。通过配置寄存器2H 来控制

一个多路开关以对WDT 后分频器的输出进行选择。因

此可获得的超时溢出周期范围为4 ms 至131.072 秒

(2.18 分钟)。当发生以下任一事件时,WDT 和后分频

器将被清零,这些事件包括 :执行SLEEP 或CLRWDT

指令、IRCF 位(OSCCON<6:4>)发生了改变或发生时

钟故障。

23.2.1 控制寄存器

寄存器23-14 所示为WDTCON 寄存器。这是一个可读

写的寄存器,它包含一个控制位,当WDT 被配置位禁

止时,该控制位允许使用软件来控制WDT。

注1: 当执行CLRWDT 和SLEEP 指令时, WDT

和后分频器的计数值将被清零。

2: 更改IRCF 位(OSCCON<6:4>)的设置

会清零WDT 和后分频器的计数值。

图23-1: WDT 原理框图

发布评论

评论列表 (0)

  1. 暂无评论