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
|
|