当前位置:首页>维修大全>综合>

什么是位寻址空间(可位寻址区和不可位寻址区的区别)

什么是位寻址空间(可位寻址区和不可位寻址区的区别)

更新时间:2024-03-24 14:04: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口第二位为例*/

1.bit P01 = P0^1;

2.bit P01 = 0x81;

寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。

数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据存放在哪里 ,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位 ,如32位寻址的CPU可以寻址2的32次方大小的地址也就是4G,这也是为什么32位的CPU最大能搭配4G内存的原因 ,再多的话CPU就找不到了。

更多栏目