8051標頭檔reg51.h sbit的疑問

會在這問51的問題還真是奇怪...

最近在看51的資料,關於暫存器名稱與地址的宣告有個疑問

sfr TCON = 0x88;
sfr TMOD = 0x89;

sbit IE0 = TCON^1;還可以理解

但為什麼 sbit IE0 = 0x89; 會指到TCON的第二個位元,不是指到TMOD?
Keil的reg51.h sbit都是用這種方式寫, 不懂阿@@"

8051標頭檔reg51.h sbit的疑問

8051標頭檔reg51.h sbit的疑問
2014-01-29 23:55 發佈
GOOGLE 是妳的恩師
sbit 位變量名=記憶體地址^變化位置
sbit IE0= 0×88 ^ 1;
等於
sbit IE0= 0×89;

zxc2486573 wrote:
GOOGLE 是妳的...(恕刪)


sbit IE0 = TCON^1; 等於 sbit IE0= 0×88 ^ 1;
這OK

可是0x89是TMOD的位址

gp1288 wrote:
sbit IE0 =...(恕刪)


想像成
我設定IE0就會往上找TCON(因為TCON包含TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 )
0x89 - 0x88 =1
在0x88的位址裡的8bit 7 6 5 4 3 2 1 0 其中1為IE0
並不是直接設定0x89位址 而是間接設定0x88
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?