① 单片机中位寻址和字节寻址的区别
一、作用不同:
字节寻址:把数据直接写入当前地址,或者把当前地址的内容读出。
位寻址是位操作命令,写入和读出的是一个位bit变量。
二、传递不同:
MOV A,00H和MOV C,00H,前者是将RAM中地址为00H的8位内容传递给A,后者是将位寻址区(20H-2FH)中的地址为00H的1位内容传递给C。这两个00H不是在同一个地址。
三、命令不同:
地址本身是8位二进制,但区别是前面的命令。如果命令是字节寻址,则这个字节就是字节地址,相应地如果命令是位寻址则这个字节就是位地址。
(1)单片机的位寻址区扩展阅读:
对字节地址中的位地址进行寻址的寻址方式称为位寻址。
采用位寻址方式的指令,其操作数是8位二进制数中的某一位,在指令中要给出的是内部RAM单元中的某一位,即位地址,其在指令中用bit表示。
8051单片机内部有1个可位寻址区,地址为20H~2FH,共16个单元。其中每个单元中的每一位都可单独作为操作数,共128位。如果SFR的地址值能被8整除,则该SFR也可以进行位寻址。可位寻址的SFR有ACC,B,PSW,P0,P1,P2,P3,IP,IE,TCON,SCON。
② 51单片机内部数据存储器有几个可寻址位其地址范围是多少
51单片机内部数据存储器有几个可寻址位?
--在字节地址 20H~2FH,称为“位寻址区”。
--在位寻址区,共有 16 字节,形成 128 个可寻址位。
其地址范围是多少?
--位地址的范围是:00H~7FH。
======================
另外,在特殊功能寄存器中,还有一些可寻址位。
但是,这些,不属于本题目的范围。
所以,楼主采纳的回答,有错。
③ 单片机位寻址区的作用
答:位寻址区位于数据存储器20F至2FH区间。此区间的寄存器可以位寻址,可以对它们进行位操作、位运算。
主要是要注意寄存器“本身”的地址与该寄存器“每一位”对应的位地址的关系,此是最易发生错误之处。20H对应的位地址为20H到27H。即:20H的第零位位地址是20H,第一位位地址是21H,以此类推。21H(我指的是寄存器,不是20H的第一位位地址)的位地址是从28H到2FH;22H(寄存器)对应的位地址 30H到37H;以此类推。
明白否?
可见,某寄存器某一位的位地址有可能和另一个寄存器的直接地址重合,但在使用时对位地址操作的指令与对直接地址的操作是不同的,所以不会混淆。
在使用上可以用位地址存储某个开关量(只有0,1两个值),将位地址数值做逻辑运算,或传递给特殊功能寄存器等等。
特殊功能寄存器里有许多也可位运算。置位,置零等等。这就可以仅对该位操作而不影响其他位。