① 單片機中位定址和位元組定址的區別
一、作用不同:
位元組定址:把數據直接寫入當前地址,或者把當前地址的內容讀出。
位定址是位操作命令,寫入和讀出的是一個位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兩個值),將位地址數值做邏輯運算,或傳遞給特殊功能寄存器等等。
特殊功能寄存器里有許多也可位運算。置位,置零等等。這就可以僅對該位操作而不影響其他位。