<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 地址轉換-51單片機C編程

地址轉換-51單片機C編程

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò ) 收藏
80C51單片機C編程時(shí)中,用sbit定義可位尋址的特殊功能寄存器的位變量(感覺(jué)說(shuō)是常量更確切)時(shí),編譯器會(huì )進(jìn)行處理,把sbit 后面給的地址值 轉換成 相應的可進(jìn)行位尋址的特殊功能寄存器 bit位 的位地址。轉換不了時(shí)uVision報錯,編譯不通過(guò)。

比如,在頭文件reg51.h中,定義了 sfr P0 = 0x80,該地址標識的是51芯片的P0端口的8個(gè)引腳。(一個(gè)字節)。
同時(shí)reg51.h中還定義了 sfr SP = 0x81。

本文引用地址:http://dyxdggzs.com/article/201611/323427.htm

如果自己定義 sbit TEST1 = 0x81;實(shí)驗時(shí)會(huì )發(fā)現:TEST1實(shí)際表示的是0x80標識的8bits中的第二個(gè)bit位,表示成0x80.1。

按照一般的理解:TEST1應該是地址0x81對應的8bit的第一個(gè)bit位(0x81.0),但是事實(shí)不是這樣的;

如果定義 sbit TEST4 = 0x84,表示的是0x80.4;
sbit TEST7 = 0x87,表示的是0x80.7。

但是當末尾大于7后,比如 sbit TEST8 = 0x88,表示的是0x88.0, 而不是0x81.0;
sbit TEST9 = 0x89;表示的是0x88.1; 依次類(lèi)推到0x8f表示0x88.7。


開(kāi)始是用實(shí)驗板上的LED來(lái)檢查,后來(lái)在uVision里面軟調試,看Parallel Port0??碝emory是沒(méi)用的,特殊功能寄存器的地址和內存空間地址是兩個(gè)東西;后來(lái)看Symbols,終于把sbit定義的控制位的實(shí)際地址看清楚,但是沒(méi)想明白,為甚么是這樣,規律是怎樣的。

查了一下資料,原來(lái)特殊功能寄存器中不是所有字節都可進(jìn)行位尋址,支持位尋址字節地址的是:
0x80,0x88,0x90, 0x98, 0xA0, 0xA0, 0xA8, 0xB0, 0xB8, 0xC0, 0xC8, 0xD0, 0xD8, 0xE0, 0xE8, 0xF0, 0xF8
共16個(gè),這些地址不連是續,能被8整除, 即字節地址是以8或0為尾數的。



關(guān)鍵詞: 地址轉換51單片機C編

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>