zigbee CC2530芯片操作寄存器
LED电路原理图:
科普下SFR位寻址的知识:--(来自百度网络介绍)
对字节地址中的位地址进行寻址的寻址方式称为位寻址。
采用位寻址方式的指令,其操作数是8位二进制数中的某一位,在指令中要给出的是内部RAM单元中的某一位,即位地址,其在指令中用bit表示。
8051单片机内部有1个可位寻址区,地址为20H~2FH,共16个单元。其中每个单元中的每一位都可单独作为操作数,共128位。另外,如果SFR(特殊功能寄存器片—内高128单元)的地址值能被8整除,则该SFR也可以进行位寻址。可位寻址的SFR有ACC,B,PSW,P0,P1,P2,P3,IP,IE,TCON,SCON。
由于单片机中只有内部RAM和特殊功能寄存器的部分单元有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作。位寻由指令给出直接位地址。与直接寻址不同的是,位寻址只给出位地址,而不是字节地址。
指令中直接给出了操作数所在的位地址。
例: CLR P1.0 ;(P1.0) ← 0
SETB ACC.7 ;(ACC.7)← 1
CPL C ;( C )← NOT( C )
操作方式编辑
在8051单片机中,位地址的表示可以采用以下几种方式:
汇编:
1.直接用位地址00HFFH来表示,如20H单元的07位可表示为0H~7H。
2.采用第n单元第n位的表示方法,如25H.5,表示25H单元的D5 位。
3.对于SFR可直接用寄存器名加位数的方法表示,如ACC.3、PSW.7等。
4.用汇编语言中的伪指令定义。
C:/以操作P0口第二位为例/
bit P01 = P0^1;
bit P01 = 0x81;
寄存器介绍:
P1(0x90) 端口1 端口1描述:通用IO口,可以SFR位寻址。(上面已经介绍了什么叫寻址)
0x90 = 1001 0000
0xF4 = 1111 0100
0xFE = 1111 1110
0xF6 = 1111 0110
按照表格寄存器的内容,对 P1.0、P1.1、P1.4 进行配置,当 IO 口输出低电平时 Led 被点 亮。 所以
配置如下:
P1SEL &=~0x13; //配置P1.0、P1.1、P1.4为通用IO口
P1DIR |= 0x13; //配置P1.0、P1.1、P1.4为输出
由于 CC2530 寄存器初始化时默认值为(详细说明请参考 CC2530 数据手册(中文).pdf):
P1SEL = 0x00;
P1DIR = 0x00;
P1INP = 0x00;
所以 IO 口配置可简化为:P1DIR |= 0x13; //配置 P1.0、P1.1、P1.4 为输出