CLKCONCMD:时钟频率控制寄存器。
D7 |
D6 |
D5~D3 |
D2~D0 |
32KHZ时间振荡器选择 |
系统时钟选择 |
定时器输出标记 |
系统主时钟选择 |
D7位为32KHZ时间振荡器选择,,0为32KRC震荡,1为32K晶振。默认为1。
D6位为系统时钟选择。0为32M晶振,1为16M RC震荡。当D7位为0时D6必须为1。
D5~D3为定时器输出标记。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为 1MHZ,110为500KHZ,111为250KHZ。默认为001。需要注意的是:当D6为1时,定时器频率最高可采用频率为16MHZ。
D2~D0:系统主时钟选择:000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为1MHZ,110为500KHZ,111为250KHZ。当D6为1时,系统主时钟最高可采用频率为16MHZ。
CLKCONSTA:时间频率状态寄存器。
D7 |
D6 |
D5~D3 |
D2~D0 |
当前32KHZ时间振荡器 |
当前系统时钟 |
当前定时器输出标记 |
当前系统主时钟 |
D7位为当前32KHZ时间振荡器频率。0为32KRC震荡,1为32K晶振。
D6位为当前系统时钟选择。0为32M晶振,1为16M RC震荡。
D5~D3为当前定时器输出标记。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为 1MHZ,110为500KHZ,111为250KHZ。
D2~D0为当前系统主时钟。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为1MHZ,110为500KHZ,111为250KHZ。
IEN0:中断使能0,0为中断禁止,1为中断使能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
总中断EA |
未用 |
睡眠定时器中断 |
AES加密/解密中断 |
USART1 RX中断 |
USART0 RX中断 |
ADC中断 |
RF TX/RF FIFO中断 |
IEN1:中断使能1,0为中断禁止,1为中断使能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
端口0 |
定时器4 |
定时器3 |
定时器2 |
定时器1 |
DMA传输 |
IEN2:中断使能2,0为中断禁止,1为中断使能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
看门狗定时器 |
端口1 |
USART1 TX |
USART0 TX |
端口2 |
RF一般中断 |
TCON(0x88)——中断标志寄存器1
位 |
位名 |
复位值 |
操作性 |
功能描述 |
7 |
URX1IF/I2SRXIF |
0 |
读/写,硬件清0 |
USART1/I2S接受中断使能 |
6 |
|
0 |
读/写 |
未用 |
5 |
ADCIF |
0 |
读/写,硬件清0 |
A/D转换完成中断使能 |
4 |
|
0 |
读/写 |
未用 |
3 |
URX0IF |
0 |
读/写,硬件清零 |
USART0接受中断使能 |
2 |
|
1 |
读/写 |
保留,但必须置1 |
1 |
RFTXRXIF |
0 |
读/写,硬件清0 |
RF收发完成中断使能 |
0 |
|
1 |
读/写 |
保留,但必须置1 |
注:使用位置1为申请中断
S0CON(0x98)——中断标志寄存器2
位 |
位名 |
复位值 |
操作性 |
功能描述 |
7:2 |
|
0 |
读/写 |
未用 |
1 |
ENCIF_1 |
0 |
读/写 |
AES中断,有两个标志位:ENCIF_1和ENCIF_0。 |
0 |
ENCIF_0 |
0 |
读/写 |
与ENCIF_1配合使用 |
注:使用位置1为申请中断
S1CON(0x9B)——中断标志寄存器3
位 |
位名 |
复位值 |
操作性 |
功能描述 |
7:2 |
|
0 |
读/写 |
未用 |
1 |
RFIF_1 |
0 |
读/写 |
RF普通中断,RFIF有两个中断标志:RFIF_1,RFIF_0, |
0 |
RFIF_0 |
0 |
读/写 |
与RFIF_1配合使用 |
注:使用位置1为申请中断
IRCON(0xC0)——中断标志寄存器4
位 |
位名 |
复位值 |
操作性 |
功能描述 |
7 |
STIF |
0 |
读/写 |
睡眠定时器中断标志 |
6 |
|
0 |
读/写 |
保留,必须写为0 |
5 |
P0IF |
0 |
读/写 |
P0中断标志 |
4 |
T4IF |
0 |
读/写,硬件清0 |
T4中断标志 |
3 |
T3IF |
0 |
读/写,硬件清0 |
T3中断标志 |
2 |
T2IF |
0 |
读/写,硬件清0 |
T2中断标志 |
1 |
T1IF |
0 |
读/写,硬件清0 |
T1中断标志 |
0 |
DMAIF |
0 |
读/写 |
DMA传输完成中断标志 |
注:使用位置1为申请中断
IRCON2(0xE8)——中断标志寄存器5
位 |
位名 |
复位值 |
操作性 |
功能描述 |
7:5 |
|
0 |
读/写 |
未用 |
4 |
WDTIF |
0 |
读/写 |
看门狗中断标志 |
3 |
P1IF |
0 |
读/写 |
P1中断标志 |
2 |
UTX1IF/I2STXIF |
0 |
读/写 |
USART1/I2S发送完成中断标志 |
1 |
UTX0IF |
0 |
读/写 |
USART0发送完成中断标志 |
0 |
P2IF/USBIF |
0 |
读/写 |
P2中断标志 |
注:使用位置1为申请中断
P0DIR:设置各个I/O的方向,0为输入,1为输出
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7方向 |
P0_6方向 |
P0_5方向 |
P0_4方向 |
P0_3方向 |
P0_2方向 |
P0_1方向 |
P0_0方向 |
P1DIR相同:设置各个I/O的方向,0为输入,1为输出
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P1_7方向 |
P1_6方向 |
P1_5方向 |
P1_4方向 |
P1_3方向 |
P1_2方向 |
P1_1方向 |
P1_0方向 |
P2DIR :D0~D4设置P2_0到P2_4的方向
D7、D6位作为端口0外设优先级的控制
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
X |
X |
未使用 |
P2_4方向 |
P2_3方向 |
P2_2方向 |
P2_1方向 |
P2_0方向 |
D7D6 |
意义 |
00 |
第1优先级:USART 0 |
01 |
第1优先级:USART 1 |
10 |
第1优先级:定时器1通道0-1 |
11 |
第1优先级:定时器1通道2-3 |
P0IEN:各个控制口的中断使能,0为中断禁止,1为中断使能。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7 |
P0_6 |
P0_5 |
P0_4 |
P0_3 |
P0_2 |
P0_1 |
P0_0 |
P1IEN:各个控制口的中断使能,0为中断禁止,1为中断使能。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P1_7 |
P1_6 |
P1_5 |
P1_4 |
P1_3 |
P1_2 |
P1_1 |
P1_0 |
P2IEN:D0~D4控制P2_0~P2_4的中断使能
D5控制USB D+的中断使能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
USB D+ |
P2_4 |
P2_3 |
P2_2 |
P2_1 |
P2_0 |
P0IFG(P1IFG相同):终端状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7 |
P0_6 |
P0_5 |
P0_4 |
P0_3 |
P0_2 |
P0_1 |
P0_0 |
P1IFG:终端状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7 |
P0_6 |
P0_5 |
P0_4 |
P0_3 |
P0_2 |
P0_1 |
P0_0 |
P2IFG:D0~D4为P2_0~P2_4的中断标志位
D5为USD D+中断状态标志,当D+线有一个中断请求未决时设置该标志,用于检测USB挂起状态下的USB恢复事件。当USB控制器没有挂起时不设置该标志。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
USB D+ |
P2_4 |
P2_3 |
P2_2 |
P2_1 |
P2_0 |
P0INP:设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7模式 |
P0_6模式 |
P0_5模式 |
P0_4模式 |
P0_3模式 |
P0_2模式 |
P0_1模式 |
P0_0模式 |
需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。D1D0两位无作用。
P1INP:设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
P0_7模式 |
P0_6模式 |
P0_5模式 |
P0_4模式 |
P0_3模式 |
P0_2模式 |
无 |
无 |
P2INP: D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态;
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
端口2选择0/1上/下拉 |
端口1选择0/1上/下拉 |
端口0选择0/1上/下拉 |
P2_4模式 |
P2_3模式 |
P2_2模式 |
P2_1模式 |
P2_0模式 |
P0SEL:各个I/O口的功能选择,0为普通I/O功能,1为外设功能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
P0_7功能 |
P0_6功能 |
P0_5 功能 |
P0_4 功能 |
P0_3 功能 |
P0_2 功能 |
P0_1功能 |
P0_0 功能 |
P1SEL:各个I/O口的功能选择,0为普通I/O功能,1为外设功能
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
P1_7功能 |
P1_6功能 |
P1_5 功能 |
P1_4 功能 |
P1_3 功能 |
P1_2 功能 |
P1_1功能 |
P1_0 功能 |
P2SEL:(D0到D2位)端口2功能选择和端口1外设优先级控制
什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
0: USART 0优先 |
0: USART 1优先 |
0:定时器1优先 |
0: USART 0优先 |
P2_4功能选择 |
P2_3功能选择 |
P2_0功能选择 |
PCON——电源模式控制寄存器
位 |
位名 |
复位值 |
操作性 |
功能描述 |
7:2 |
- |
0x00 |
读/写 |
未用 |
1 |
- |
0 |
读0 |
读出为0 |
0 |
IDLE |
0 |
读0/写,硬件清0 |
电源模式控制,写1将进入由SLEEP.MODE |
PICTL:D0~D3设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。
D7控制I/O引脚在输出模式下的驱动能力。选择输出驱动能力增强来补偿引脚DVDD的低I/O电压,确保在较
低的电压下的驱动能力和较高电压下相同。0为最小驱动能力增强。1为最大驱动能力增强。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
I/O驱动能力 |
未用 |
未用 |
未用 |
P2_0~P2_4 |
P1_4~P1_7 |
P1_0~P1_3 |
P0_0~P0_7 |
SLEEP(0xBE)——睡眠模式控制寄存器
位 |
位名 |
复位值 |
操作性 |
功能描述 |
7 |
|
0 |
读/写 |
未用 |
6 |
XOSC_STB |
0 |
读 |
高速晶振状态位 |
5 |
HFRC_STB |
0 |
读 |
高速RC振荡器状态位。 |
4:3 |
RST[1:0] |
xx |
读 |
上次复位指示。00:上电复位或掉电; |
2 |
OSC_PD |
1 |
读/写,硬件清0 |
0:两个振荡器都打开; |
1:0 |
MODE[1:0] |
00 |
读/写 |
模式选择。00:PM0;01:PM1; |
PERCFG:设置部分外设的I/O位置,0为默认I位置1,1为默认位置2
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
定时器1 |
定时器3 |
定时器4 |
未用 |
未用 |
USART1 |
USART0 |
T1CTL:定时器1的控制,D1D0控制运行模式,D3D2设置分频划分值
D7 |
D6 |
D5 |
D4 |
D3D2 |
D1D0 |
未用 |
未用 |
未用 |
未用 |
00:不分频 |
00:暂停运行 |
T1STAT:定时器1的状态寄存器,D4~D0为通道4~通道0的中断标志,D5为溢出标志位,当计数到最终技术值是自动置1。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
未用 |
溢出中断 |
通道4中断 |
通道3中断 |
通道2中断 |
通道1中断 |
通道0中断 |
T1CCTL0~T1CCTL4:定时器1通道0~通道4的工作方式设置。D1D0为捕捉模式选择:00为不捕捉,01为上升沿捕获,10为下降沿捕获,11为上升或下降沿都捕获。
D2位为捕获或比较的选择,0为捕获模式,1为比较模式。D5D4D3为比较模式的选择:000为发生比较式输出端置1,001为发生比较时输出端清0,010为比较时输出翻转,其他模式较少使用。
D7 |
D6 |
D5D4D3 |
D2 |
D1D0 |
未用 |
未用 |
比较模式 |
捕获/比较 |
捕捉模式 |
IRCON:中断标志4,;0为无中断请求。1为有中断请求。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
睡眠定时器 |
必须为0 |
端口0 |
定时器4 |
定时器3 |
定时器2 |
定时器1 |
DMA完成 |
T3CTL/T4CTL:定时器3或定时器4的方式控制寄存器。D7D6D5设置分频:000为无分频、001为2分频、010为4分频、011为8分频、100为16分频、101为32分频、110为64分频,111为128分频。D4为启动位,启动时1,停止工作为0。D3位为中断使能位,0为禁止,1为使能,默认为1;D2为复位,置1时定时器复位。D1D0为计数器模式选择:该位与T1CTL的D1D0位意义相同。
D7D6D5 |
D4 |
D3 |
D2 |
D1D0 |
分频 |
启动定时器 |
溢出中断 |
清除计数器 |
计数模式 |
T3CCTL0/T3CCTL1/T4CCTL0/T4CCTL1:定时器3或定时器4的通道0和通道1的方式控制,D6为该通道的中断使能位,0为禁止,1为使能,默认为1;D5~D0与T1CCTL0相同
D7 |
D6 |
D5D4D3 |
D1 |
D0 |
未用 |
中断使能 |
比较模式 |
捕获/比较 |
捕捉模式 |
TIMIF:定时器1的溢出中断屏蔽与定时器3、4的中断标志。D6为定时器1的溢出中断屏蔽,0为屏蔽,1为使能,默认为1.D5~D0为定时器3和4中各个通道的中断标志。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
未用 |
T1溢出中断使能 |
T4通道1中断标志 |
T4通道0中断标志 |
T4溢出标志中断标志 |
T3通道1 |
T3通道0 |
T3溢出中断标志 |
U0CSR:USART0控制与状态;
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
模式选择 |
接收器使能 |
SPI主/从模式 |
帧错误状态 |
奇偶错误状态 |
接受状态 |
传送状态 |
收发主动状态 |
D7为工作模式选择,0为SPI模式,1为USART模式
D6为UART接收器使能,0为禁用接收器,1为接收器使能。
D5为SPI主/从模式选择,0为SPI主模式,1为SPI从模式。
D4为帧错误检测状态,0为无错误,1为出现出错。
D3为奇偶错误检测,0为无错误出现,1为出现奇偶校验错误。
D2为字节接收状态,0为没有收到字节,1为准备好接收字节。
D1为字节传送状态,0为字节没有被传送,1为写到数据缓冲区的字节已经被发送。
D0为USART接收/传送主动状态,0为USART空闲,1为USART忙碌。
U0GCR:USART0通用控制寄存器;
D7 |
D6 |
D5 |
D4~D0 |
SPI时钟极性 |
SPI时钟相位 |
传送位顺序 |
波特率指数值 |
D7为SPI时钟极性:0为负时钟极性,1为正时钟极性;
D6为SPI时钟相位:
D5为传送为顺序:0为最低有效位先传送,1为最高有效位先传送。
D4~D0为波特率设置:
波特率 |
指数值 |
小数部分 |
2400 |
6 |
59 |
4800 |
7 |
59 |
9600 |
8 |
59 |
14400 |
8 |
216 |
19200 |
9 |
59 |
28800 |
9 |
216 |
38400 |
10 |
59 |
57600 |
10 |
216 |
76800 |
11 |
59 |
115200 |
11 |
216 |
230400 |
12 |
216 |
U0BAUD:波特率控制小数部分。(取值参考上表)