如果妳聲明的是函數內部的動態變量,比如在函數內部聲明:bit a,那麽,這個位變量是隨著函數的調用變化的,其地址也是變化的。
所以,妳只要聲明壹個全局的位變量,那麽,這個變量就肯定是地址不變的,當然,不知道其地址具體是多少罷了。
如果妳非要知道每個地址是多少,那麽,有兩個辦法:
1 妳集中把128個位全部都定義出來。
比如,妳在某個C文件裏,這樣寫:
bit Bit00 = 0;
bit Bit01 = 0;
bit Bit02 = 0;
bit Bit03 = 0;
壹直定義128個,把所有位空間占滿,那麽,這樣,就可以肯定Bit00的地址是0x20的最低位,bit01的地址是0x20的次低位了。
2 用sbit,而不用bit.
比如:unsigned char data B_Var[16] = 0;
sbit Led_Status1 = B_Var[0]^7;那麽,就表示Led_Status 是第20H地址中的最高位。
sbit Led_Status2 = B_Var[6]^3;那麽,就表示Led_Status 是第26H地址中的第3位。
這個其實並不是定義了位變量,只是起了個別名而已。但效果壹樣,只是註意,妳更改B_Var[6],可能會更改26H的地址第3位,所以,如果妳只用位,那麽,就不要操作B_Var[6]這個數組元素。
其實呢,妳只要定義個全局變量就行了,沒有必要知道這個bit變量的地址,因為沒有什麽實際意義。