CC2530常用的控制寄存器
CC2530中常用的控制寄存器
P0SEL(P1SEL相同):各个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 功能
|
P2SEL:(D0到D2位)端口2 功能选择和端口1 外设优先级控制
什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
未用
|
0: USART 0 优先
1: USART 1 优先
|
0: USART 1 优先
1: 定时器3优先
|
0: 定时器1优先
1: 定时器4优先
|
0: USART 0 优先
1: 定时器1 优先
|
P2_4功能选择
|
P2_3功能选择
|
P2_0功能选择
|
PERCFG:设置部分外设的I/O位置,0为默认I位置1,1为默认位置2
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
未用
|
定时器1
|
定时器3
|
定时器4
|
未用
|
未用
|
USART1
|
USART0
|
P0DIR(P1DIR相同):设置各个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方向
|
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
第2优先级:USART 1
第3优先级:定时器1
|
01
|
第1优先级:USART 1
第2优先级:USART 0
第3优先级:定时器1
|
10
|
第1优先级:定时器1通道0-1
第2优先级:USART 1
第3优先级:USART 0
第4优先级:定时器1通道2 –3
|
11
|
第1优先级:定时器1通道2-3
第2优先级:USART 0
第3优先级:USART 1
第4优先级:定时器1通道0 –1
|
P0INP(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模式
|
P0_1模式
|
P0_0模式
|
需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。D1D0两位无作用。
P2INP: D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态;
D5~D7设置对P0、P1和P2的上拉或下拉的选择。0为上拉,1为下拉;
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
端口2选择
|
端口1选择
|
端口0选择
|
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
|
P0IEN(P1IEN相同):各个控制口的中断使能,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
|
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
|
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
|
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
|
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一般中断
|
T1CTL:定时器1的控制,D1D0控制运行模式,D3D2设置分频划分值
D7
|
D6
|
D5
|
D4
|
D3D2
|
D1D0
|
未用
|
未用
|
未用
|
未用
|
00:不分频
01:8分频
10:32分频
11:128分频
|
00:暂停运行
01:自由运行,反复从0x0000到0xffff计数
10:模计数,从0x000到T1CC0反复计数
11:正计数/倒计数,从0x0000到T1CC0反复计数并且从T1CC0倒计数到0x0000
|
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溢出中断标志
|
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。
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
|
57600
|
216
|
10
|
4800
|
7
|
59
|
76800
|
59
|
10
|
9600
|
8
|
59
|
115200
|
216
|
11
|
14400
|
8
|
216
|
230400
|
216
|
12
|
19200
|
9
|
59
|
|
||
28800
|
9
|
216
|
|
||
38400
|
10
|
59
|
|