位寻址

更新时间:2023-02-09 10:06

对位地址中的内容进行位操作寻址方式称为位寻址。由于 单片机中只有内部RAM和 特殊功能寄存器的部分单元有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作。

简介

对字节地址中的位地址进行寻址的寻址方式称为位寻址。

采用位寻址方式的指令,其操作数是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.直接用位地址00H~FFH来表示,如20H单元的0~7位可表示为0H~7H。

2.采用第n单元第n位的表示方法,如25H.5,表示25H单元的D5 位。

3.对于SFR可直接用寄存器名加位数的方法表示,如ACC.3、PSW.7等。

4.用汇编语言中的伪指令定义。

C:/*以操作P0口第二位为例*/

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}