cc2530常用寄存器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.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:输出
P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外设功能
P2DIR :D0~D4设置P2_0到P2_4的方向
D7、D6位作为端口0外设优先级的控制
寄存器的设置:
将控制寄存器的某一位置1:
例:P1DIR |= 0X02;
解释:”|=“表示按位或运算,0X02为十六进制数,转换成二进制数为0000 0010,若P1DIR
原来的值为0011 0000,或运算后P1DIR的值为0011 0010。根据上面给出的取值表可知,按位与运算后P1_1的方向改为输出,其他I/O口方向保持不变。
将控制寄存器某一位清0:
例:P1DIR &= ~0X02;
解释:”&=“表示按位与运算,”~“运算符表示取反,0X02为0000 0010,即~0X02为1111 1101。若P1DIR原来的值为0011 0010,与运算后P1DIR的值为0011 0000。
二.通过中断控制LED,如何捕获一个外部中断和CC2530捕获外部中断后的处理流程
该标志,用于检测USB挂起状态下的USB恢复事件。当USB控制器没有挂起时不设置该标志。
T1STAT:定时器1的状态寄存器,D4~D0为通道4~通道0的中断标志,D5为溢出标志位,当计数到最终计数值是自动置1。
PCON(0x87) Bit0. 系统电源模式控制寄存器,置
1 将强制系统进入SLEEPCMD所指定
的电源模式,所有中断信号都可以清除此置位。
SLEEPCMD(0xBE) Bit1:Bit0 系统电源模式设定: 00
全功能模式 01:PM1 10:PM2 11:PM3
系统电源管理(工作方式如下):
1. 全功能模式,高频晶振(16M 或者 32M )和低频晶振(3
2.768K RCOSC/XOSC )全部工作, 数字处理模块正常工作。
2. PM1 : 高频晶振(16M 或者32M )关闭,低频晶振(32.768K RCOSC/XOSC )工作,数字核心模块正常工作。
3. PM2 :低频晶振(32.768K RCOSC/XOSC )工作, 数字核心模块关闭,系统通过RESET,外部中断或者睡眠计数器溢出唤醒。
4. PM3 : 晶振全部关闭,数字处理核心模块关闭,系统只能通过RESET或外部中断唤醒。此模式下功耗最低。
PCON = 0x01; // 进入睡眠模式 ,通过中断打断
(注:可编辑下载,若有不当之处,请指正,谢谢!)