80C51单片机有位处理功用,能够对数据位进行操作,因而就有相应的位寻址办法。所谓位寻址,便是对内部RAM或可位寻址的特别功用寄存器SFR内的某个位,直接加以置位为1或复位为0。
位寻址的规模,也便是哪些部份能够进行位寻址:
1、咱们在学习51单片机的存储器结构时,咱们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都独自有一个位地址,其位地址的姓名便是00H-7FH。
这儿就有一个比较费事的问题需求咱们了解清楚了。咱们在前面的学习中00H、01H。。。。7FH等等,所表明的都是一个字节(或许叫单元地址),而在这儿,这些数据都变成了位地址。咱们在指令中,或许在程序中如何来区别它是一个单元地址仍是一个位地址呢?这个问题,也便是咱们现在正在研讨的位寻址的一个重要问题。其实,区别这些数据是位地址仍是单元地址,咱们都有相应的指令方法的。这个问题咱们在后面的指令系统学习中再加以论说。
2、对专用寄存器位寻址。这儿要阐明一下,不是一切的专用寄存器都能够位寻址的。详细哪些专用寄存器能够哪些专用寄存器不能够,请咱们回头去看看咱们前面关于专用寄存器的相关文章。一般来说,地址单元能够被8整除的专用寄存器,一般都能够进行位寻址,当然并不是悉数,咱们在运用傍边应引起留意。
专用寄存器的位寻址表明办法:
下面咱们以程序状态字PSW来进行阐明
D7
D6
D5
D4
D3
D2
D1
D0
CY
AC
F0
RS1
RS0
OV
P
1、直接运用位地址表明:看上表,PSW的第五位地址是D5,所以能够表明为D5H
MOV C,D5H
2、位称号表明:表明该位的称号,例如PSW的位5是F0,所以能够用F0表明
MOV C,F0
3、单元(字节)地址加位表明:D0H单元位5,表明为DOH.5
MOV C,D0H.5
4、专用寄存器符号加位表明:例如PSW.5
MOV C,PSW.5
这四种办法完成的功用都是相同的,仅仅表述的办法不同罢了。