CC2530部分寄存器配置
- 格式:docx
- 大小:29.52 KB
- 文档页数:5
附录A CC2530中常用的控制寄存器1 IO引脚表1-1 Po (0×80)-端口0表1-2 P1 (0×90)-端口1表1-3 P1 —P1端口寄存器表1-5 P2DIR (OxFF)-端口2方向和端口0外设优先级控制表1-6 P1SEL—P1 功能选择寄存器表1-7 P1INP P1输入模式寄存器表1-8 PERCFG (0xF1) -外设控制表1-9 P2INP(0×F7)-端口2 输入模式P0,P1,P2中断状态标志表1-10 P0IFG(0x89 – P0中断状态标志)表1-11 PICTL(0x8C)– I/O中断控制表1-12 P0,P1,P2中断屏蔽P0IEN (0xAB )- P0中断屏蔽2 中断处理表2-1 IENO (OxA8) - 中断使能0表2-2 IEN1 (0xB8) - 中断使能1表2-3 IEN2 (0x9A) - 中断使能2表2-4 TCON (0x88) –中断标志表2-5 SOCON (0x98) - 中断标志2表2-6 S1CON (0x9B) - 中断标志 3表2-7 IRCON (0xC0) - 中断标志 43 系统时钟源表3-1 SLEEPCMD(O×BE)-睡眠模式控制表3-2 CLKCONCMD(0×C6)时钟控制命令表3-3 CLKCONSTA(0×9E)时钟控制状态4 定时器表4-1 T1CTL (0×E4)定时器1控制状态表4-2 IRCON(0×CO)- 中断标志4表4-3 IEN1 :中断使能1寄存器表4-5 PERCFG 外设控制寄存器默认位置2。
表4-6 T1CNTH(0xE3) 定时器1计数器高位表4-7 T1CNTL(0xE2) 定时器1计数器低位表4-8 TIMIF(0xD8)定时器1/3/4的中断标志5 串口表5-1 UOCSR (0x86) - USART 0 控制和状态表5-2 U0CSR(串口 0 控制&状态寄存器)表5-4 U0GCR (串口 0 常规控制寄存器)表5-5 UOGCR (0xC5) - USART 0 通用控制表5-6 U0BAUD (0×C2)-USART 0 波特率控制表5-7 U0BUF(0×C1)-USART 0 接收/传送数据缓冲6 ADC表6-1 ADCL(0xBA)- ADC数据低位表6-2 ADCH (0xBB) -ADC数据高位表6-3 ADCCON1(0×B4)-ADC控制1控制3表6-4 ADCCON3(0×B6)-ADC7 看门狗表7-1 WDCTL(0×C9)-看门狗定时器控制8 电源管理寄存器(睡眠定时器功耗模式选择)SLEEPCMD、STLOAD、ST2、ST1、ST0、STIF表8-1 STLOAD(0×AD)- 睡眠定时器加载状态表8-2 ST2(0×97)- 休眠定时器2表8-3 ST1(0×96)- 休眠定时器1表8-4 ST0(0×95)- 休眠定时器表8-5 PCON (0×87)- 供电模式控制9 DMA 存储DMAARM 、DMAIRQ 、DMAREQ表9-1 DMAARM (0×B6)-DMA 通道进入工作状态表9-2 DMAIRQ(0×D1)- DMA 中断标志表9-3 DMAREQ (0×D7)-DMA 通道开始请求和状态10 随机数生成器RNDL 、RNDH表10-1 RNDL (0×BC )-随机数发生器数据低字节表10-2 RNDH(0×BD)- 随机寄存器RNDH11 无线射频FRMCTRL0、RFST、RFRND、RSSISTAT表11-1 FRMCTRL0(0×6189)- 帧处理表11-2 RFST(0×E1)- RF CSMA-CA/选通处理器表11-3 RFRND(0×61A7)- 随机数据表11-4 RSSISTAT(0×6199)-RSSI有效状态寄存器表11-5 RFIRQF0(0Xe9)—RF中断标志表11-6 RFIRQF1(0x91)—RF中断标志表11-7 RFERRF(0xBF)—RF错误中断标志表11-8 RFIRQM0(0x61A3)—RF中断使能表11-10 RFERRM(0x61A5)—RF错误中断使能TX FIFO和RX FIFO可以通过SFR寄存器RFD(0xD9)进行存取。
P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外设功能D7 D6 D5 D4 D3 D2 D1 D0P0_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 USART0P0DIR(P1DIR相同):设置各个I/O的方向,0为输入,1为输出D7 D6 D5 D4 D3 D2 D1 D0P0_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 D0X X 未使用P2_4方向P2_3方向P2_2方向P2_1方向P2_0方向D7D6 意义00第1优先级:USART 0 第2优先级:USART 1 第3优先级:定时器101 第1优先级:USART 1 第2优先级:USART 0 第3优先级:定时器110第1优先级:定时器1通道0-1 第2优先级:USART 1第3优先级:USART 0第4优先级:定时器1通道2 –311第1优先级:定时器1通道2-3 第2优先级:USART 0第3优先级:USART 1第4优先级:定时器1通道0 –1P0INP(P1INP意义相似) :设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式D7 D6 D5 D4 D3 D2 D1 D0P0_7模式P0_6模式P0_5模式P0_4模式P0_3模式P0_2模式P0_1模式P0_0模式需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。
CC2530中常用的控制寄存器1.P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外设功能2.P2SEL:(D0到D2位)端口2 功能选择和端口1 外设优先级控制什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应3.PERCFG:设置部分外设的I/O位置,0为默认I位置1,1为默认位置24.P0DIR(P1DIR相同):设置各个I/O的方向,0为输入,1为输出5.P2DIR :D0~D4设置P2_0到P2_4的方向6.P0INP(P1INP意义相似) :设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式D1D0两位无作用。
7.P2INP:D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态;1为下拉;8. P0IFG(P1IFG相同):终端状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。
9.P0IEN(P1IEN相同):各个控制口的中断使能,0为中断禁止,1为中断使能。
10. P2IFG:D0~D4为P2_0~P2_4的中断标志位D5为USD D+中断状态标志,当D+线有一个中断请求未决时设置该标志,用于检测USB挂起状态下的USB恢复事件。
当USB控制器没有挂起时不设置该标志。
11. P2IEN:D0~D4控制P2_0~P2_4的中断使能D5控制USB D+的中断使能12.PICTL:D0~D3设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。
D7控制I/O引脚在输出模式下的驱动能力。
选择输出驱动能力增强来补偿引脚DVDD的低I/O电压,确保在较低的电压下的驱动能力和较高电压下相同。
0为最小驱动能力增强。
1为最大驱动能力增强。
13. IEN0:中断使能0,0为中断禁止,1为中断使能14. IEN1:中断使能1,0为中断禁止,1为中断使能D7 D6 D5 D4 D3 D2 D1 D0未用未用端口0 定时器4 定时器3 定时器2 定时器1 DMA传输15. IEN2:中断使能2,0为中断禁止,1为中断使能D7 D6 D5 D4 D3 D2 D1 D0未用未用看门狗定时器端口1 USART1 TX USART0 TX 端口2 RF一般中断16.T1CTL:定时器1的控制,D1D0控制运行模式,D3D2设置分频划分值模模式需要开启通道0的输出比较模式,否则计数器只有到了0XFF时才会产生溢出中断(相应的产生溢出标志),也就是如果没有设置通道0的输出比较模式,计数器的值到达T1CC0后,不会产生溢出中断(相应的溢出标志不会置1),这点需要特别注意。
CC2530中常用的控制寄存器1.P0SEL (P1SEL 相同):各个I/O 口的功能选择,0为普通I/O 功能,1为外设功能2.P2SEL :(D0到D2位)端口2 功能选择和端口1 外设优先级控制什么是外设优先级:当PERCFG 分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外 设先被响应 D7D6D5D4D3D2D1D0未用 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功能选择3.PERCFG :设置部分外设的I/O 位置,0为默认I 位置1,1为默认位置2D7D6D5D4D3D2D1D0 未用 定时器1 定时器3 定时器4 未用 未用 USART1USART04.P0DIR (P1DIR 相同):设置各个I/O 的方向,0为输入,1为输出D7D6D5D4D3D2D1D0P0_7方向 P0_6方向 P0_5方向 P0_4方向 P0_3方向 P0_2方向 P0_1方向 P0_0方向5.P2DIR :D0~D4设置P2_0到P2_4的方向D7D6D5D4D3D2D1D0P0_7功能 P0_6功能 P0_5 功能 P0_4 功能 P0_3 功能 P0_2 功能 P0_1功能 P0_0 功能D7、D6位作为端口0外设优先级的控制D7 D6 D5 D4 D3 D2 D1 D0X X 未使用P2_4方向P2_3方向P2_2方向P2_1方向P2_0方向D7D6 意义00 第1优先级:USART 0 第2优先级:USART 1 第3优先级:定时器101 第1优先级:USART 1 第2优先级:USART 0 第3优先级:定时器110第1优先级:定时器1通道0-1 第2优先级:USART 1第3优先级:USART 0第4优先级:定时器1通道2 –311第1优先级:定时器1通道2-3 第2优先级:USART 0第3优先级:USART 1第4优先级:定时器1通道0 –16.P0INP(P1INP意义相似) :设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式D7 D6 D5 D4 D3 D2 D1 D0P0_7模式 P0_6模式 P0_5模式 P0_4模式 P0_3模式 P0_2模式 P0_1模式 P0_0模式需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。
一、IO口配置P0xIR(x=0,1):设置Px组I/O的方向,0为输入,1为输出P2DIR :D0~D4设置P2_0到P2_4的方向D7、D6位作为端口0外设优先级的控制PxINP(x=0,1):设置Px组I/O口的输入模式,0为上拉/下拉,1为三态模式P2INP:D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态;D7~D5控制P2,P1,P0组的输入模式,0为上拉,1为下拉;PxSEL:设置Px组I/O口的功能选择,0为普通I/O功能,1为外设功能P2SEL :(D0到D2位)端口2功能选择和端口1外设优先级控制外设优先级:当PERCFG 分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应二、中断配置PxIF(x=0,1,2):CUP 中断状态标志寄存器,只有一位,当Px 组存在中断时,PxIF 置1PxIFG(x=0,1):终端状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。
P2IFG :D0~D4为P2_0~P2_4的中断标志位D5为USB D+中断状态标志,当D+线有一个中断请求未决时设置该标志,用于检测USB 挂起状态下的USB 恢复事件。
当USB 控制器没有挂起时不设置该标志。
IEN0:中断使能0,0为中断禁止,1为中断使能IEN1:中断使能1,0为中断禁止,1为中断使能IEN2:中断使能2,0为中断禁止,1为中断使能PxIEN(x=0,1):各个控制口的中断使能,0为中断禁止,1为中断使能。
P2IEN:D0~D4控制P2_0~P2_4的中断使能,D5控制USB D+的中断使能PICTL:D0~D3设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。
D7控制I/O引脚在输出模式下的驱动能力。
选择输出驱动能力增强来补偿引脚DVDD的低I/O电压,确保在较低的电压下的驱动能力和较高电压下相同。
0为最小驱动能力增强。
1为最大驱动能力增强。
一.CC2530控制外设的基本方法(通用I/O口)CC2530的I/O控制口一共有21个,分成3组,分别是P0、P1和P2;由上面的对照表可以看出LED1所对应的I/O口为P1_0,LED2所对应的I/O口为P1_1,LED3所对应的I/O口为P1_4,LED4所对应的I/O为P0_1。
相对应的常用SFR有:P1DIR(P1方向寄存器,P0DIR同理):0:输入1:输出D7 D6 D5 D4 D3 D2 D1 D0P0_7方向P0_6方向P0_5方向P0_4方向P0_3方向P0_2方向P0_1方向P0_0方向P1SEL(P1功能选择寄存器,P0SEL同理):D7 D6 D5 D4 D3 D2 D1 D0P1.7的功能0:普通I/O 1:外设功能P1.6的功能0:普通I/O1:外设功能P1.5的功能0:普通I/O1:外设功能P1.4的功能0:普通I/O1:外设功能P1.3的功能0:普通I/O1:外设功能P1.2的功能0:普通I/O1:外设功能P1.1的功能0:普通I/O1:外设功能P1.0的功能0:普通I/O1:外设功能P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外设功能D7 D6 D5 D4 D3 D2 D1 D0P2SEL:(D0到D2位)端口2 功能选择和端口1 外设优先级控制什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应D7 D6 D5 D4 D3 D2 D1 D0未用0:USART0 优先1:USART1 优先0:USART1 优先1:定时器3优先0:定时器1优先1:定时器4优先0:USART0 优先1:定时器1 优先P2_4功能选择P2_3功能选择P2_0功能选择P0DIR(P1DIR相同):设置各个I/O的方向,0为输入,1为输出D7 D6 D5 D4 D3 D2 D1 D0P0_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 D5D4D3D2D1D0X X 未使用 P2_4方向 P2_3方向 P2_2方向 P2_1方向 P2_0方向寄存器的设置:将控制寄存器的某一位置1:例:P1DIR |= 0X02;解释:”|=“表示按位或运算,0X02为十六进制数,转换成二进制数为0000 0010,若P1DIR 原来的值为0011 0000,或运算后P1DIR 的值为0011 0010。
CC2530寄存器配置说明ZigBee的基础实验(1)这是飞比FB2530EB V2.0提供的芯片I/O对应表*more607*2011/11/17 22:13*飞比CC2530EB模块*/#include <ioCC2530.h>#define uint unsigned int#define uchar unsigned char//定义控制灯的端口#define RLED P1_0 //定义LED1为P1.0口控制#define GLED P1_1 //定义LED2为P1.1口控制#define YLED P1_4 //定义LED3为P1.4口控制#define BLED P0_1 //定义LED4为P0.1口控制#define S1 P0_1 //定义S1为P0.1口控制(注意:因为端口复用所以需要设置P0DIR,//在程序中复用比较难,所以本程序就不用来做按键了)#define S2 P0_3 //定义S2为P0.3口控制(我将P10的针脚接到P14针脚上,所以是P0.3口)#define S6 P1_2 //定义S6为P1.2口控制//函数声明void InitIO(void); //初始化LED控制IO口函数void InitKey(void); //初始化按键void keyScan(void); //按键输入//全局变量int times; //计数器void InitIO(void) //初始化IO口程序{P1DIR |= 0x13; //P1_0、P1_1、P1_4定义为输出P0DIR |= 0x02; //P0_1定义为输出RLED = 1;GLED = 1;YLED = 1;BLED = 1; //将4盏LED灯都打开}void InitKey(void)//初始化按键{P1SEL &= 0xFB; //定义为输入P1DIR &= 0xFB; //按钮s6的P1INP |= 0x06; //拉高电压P0SEL &= 0xFB; //定义为输入P0DIR &= 0xFB; //按钮s6的P0INP |= 0x06; //拉高电压}void keyScan(void){if(S6 == 0)times ++;//增加值while(S6 == 0);if(S2 == 0)times=0;//清空值while(S2 == 0 );}void main(void){times = 0;InitIO(); //初始化while(1) //死循环让循环内的代码不断执行{keyScan();if(times>4)times = 0;if(times == 0)//灯全灭{RLED = 0;GLED = 0;YLED = 0;BLED = 0;}if(times == 1)//亮一灯{RLED = 1;GLED = 0;YLED = 0;BLED = 0;}if(times == 2)//亮两个灯{RLED = 1;GLED = 1;YLED = 0;BLED = 0;}if(times == 3)//亮三个灯{RLED = 1;GLED = 1;YLED = 1;BLED = 0;}if(times == 4)//全亮{RLED = 1;GLED = 1;YLED = 1;BLED = 1;}}}来自:/j_evil/blog/static/163211317201161211362979/数据手册P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外设功能P2SEL:(D0到D2位)端口2 功能选择和端口1 外设优先级控制什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确先被响应PERCFG:设置部分外设的I/O位置,0为默认I位置1,1为默认位置2P0DIR(P1DIR相同):设置各个I/O的方向,0为输入,1为输出P2DIR :D0~D4设置P2_0到P2_4的方向 D7、D6位作为端口0外设优先级的控制P0INP(P1INP意义相似) :设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。
一、IO口配置
P0xIR(x=0,1):设置Px组I/O的方向,0为输入,1为输出
P2DIR :D0~D4设置P2_0到P2_4的方向D7、D6位作为端口0外设优先级的控制
PxINP(x=0,1):设置Px组I/O口的输入模式,0为上拉/下拉,1为三态模式
P2INP:D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态;D7~D5控制P2,P1,P0组的输入模式,0为上拉,1为下拉;
PxSEL:设置Px组I/O口的功能选择,0为普通I/O功能,1为外设功能
P2SEL :(D0到D2位)端口2功能选择和端口1外设优先级控制
外设优先级:当PERCFG 分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应
二、中断配置
PxIF(x=0,1,2):CUP 中断状态标志寄存器,只有一位,当Px 组存在中断时,PxIF 置1
PxIFG(x=0,1):终端状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。
P2IFG :D0~D4为P2_0~P2_4的中断标志位
D5为USB D+中断状态标志,当D+
线有一个中断请求未决时设置该标志,用于检测USB 挂起状态下的USB 恢复事件。
当USB 控制器没有挂起时不设置该标志。
IEN0:中断使能0,0为中断禁止,1为中断使能
IEN1:中断使能1,0为中断禁止,1为中断使能
IEN2:中断使能2,0为中断禁止,1为中断使能
PxIEN(x=0,1):各个控制口的中断使能,0为中断禁止,1为中断使能。
P2IEN:D0~D4控制P2_0~P2_4的中断使能,D5控制USB D+的中断使能
PICTL:D0~D3设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。
D7控制I/O引脚在输出模式下的驱动能力。
选择输出驱动能力增强来补偿引脚DVDD的低I/O电压,确保在较低的电压下的驱动能力和较高电压下相同。
0为最小驱动能力增强。
1为最大驱动能力增强。
三、时钟配置
CLKCONCMD:时钟频率控制寄存器。
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:时间频率状态寄存器。
PERCFG:设置部分外设的I/O位置,0为默认I位置1,1为默认位置2
U0CSR:USART0控制与状态;
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为SPI时钟极性:0为负时钟极性,1为正时钟极性;
D6为SPI时钟相位:
D5为传送为顺序:0为最低有效位先传送,1为最高有效位先传送。
D4~D0为波特率设置:。