位定址

位定址

對位地址中的內容進行位操作的定址方式稱為位定址。由於 單片機中只有內部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口第二位為例*/

bit P01 = P0^1;

bit P01 = 0x81;

1.

bit P01 = P0^1;

2.

bit P01 = 0x81;

相關詞條

相關搜尋

熱門詞條

聯絡我們