国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 11363|回復(fù): 8
打印 上一主題 下一主題

[提問] KEIL中關(guān)于DBYTE

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2010-10-28 01:32:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: DBYTE , Keil
10積分
這是KEIL C中一個絕對地址宏指令DBYTE的講解:
DBYTE[address]
說明:在8051內(nèi)部數(shù)據(jù)存儲器里,讀取一個字節(jié)的內(nèi)容
自變量:內(nèi)部數(shù)據(jù)存儲器的地址(0~0xff)
定義:#define DBYTE((unsigned char volatile data *)0)
例子代碼:
#include "absacc.h"
void IRamSet (unsigned char value);
void Main(void)
{
   char val = 0
   IRamSet (0xaa);
   val = DBYTE [0x0032];
   DBYTE [0x0032]—0x1b;
}
unsigned char idata address _at_ 0x20;   // 這句定義是什么意思呢?
void IRamSet (unsigned char value)
{
   unsigned char idata *index = &address;
   unsigned char i;
   for (i = 0;i < (0x7f —0x20+0x01);i++)  // 這個循環(huán)的限制條件是什么意思呢?
  {
      *index = value;
      index ++;     
  }
}
想請教下,這個程序的大概意思是什么?以及幫我解答下程序中的兩個問題(已經(jīng)注釋出來了)

最佳答案

查看完整內(nèi)容

沒看明白。。 看看你包含的頭文件和處理器的說明吧。
沙發(fā)
發(fā)表于 2010-10-28 01:32:17 | 只看該作者
沒看明白。。
看看你包含的頭文件和處理器的說明吧。

評分

參與人數(shù) 1積分 +4 收起 理由
左左 + 4

查看全部評分

板凳
發(fā)表于 2010-11-1 22:50:53 | 只看該作者
解決了嗎?
地板
 樓主| 發(fā)表于 2010-11-2 10:02:22 | 只看該作者
沒有   沒人回答呀  正糾結(jié)著呢……
地下室
發(fā)表于 2010-11-2 19:25:07 | 只看該作者
長定義地址吧,怎么for里面會有那樣的語句啊

評分

參與人數(shù) 1積分 +4 收起 理由
左左 + 4

查看全部評分

6
 樓主| 發(fā)表于 2010-11-2 21:28:57 | 只看該作者
恩  是呀  我看的時候也不懂  …… 回復(fù)5樓suecollege
7
 樓主| 發(fā)表于 2010-11-2 21:30:56 | 只看該作者
在Keil C51標(biāo)準(zhǔn)庫ABSACC.H中定義了一些宏,利用這些宏我們以絕對地址方式訪問51的存儲器。這幾個宏分別是:
#define CBYTE ((unsigned char volatile code  *) 0)
#define DBYTE ((unsigned char volatile data  *) 0)
#define PBYTE ((unsigned char volatile pdata *) 0)
#define XBYTE ((unsigned char volatile xdata *) 0)

#define CWORD ((unsigned int volatile code  *) 0)
#define DWORD ((unsigned int volatile data  *) 0)
#define PWORD ((unsigned int volatile pdata *) 0)
#define XWORD ((unsigned int volatile xdata *) 0)

以DBYTE為例,((unsigned char volatile data  *) 0)定義了一個值為零的指針,該指針指向data內(nèi)部RAM存儲區(qū)的一個易變無符號單字節(jié)變量。
當(dāng)我們以DBYTE[0x20]這樣類似于數(shù)組的方式使用它時,根據(jù)C語言中對指針?biāo)饕慕忉尫绞,它訪問的是*(((unsigned char volatile data  *) 0) + 0x20),簡化為*(0 + 0x20),即*(0x20),就是data內(nèi)部RAM存儲區(qū)0x20地址處的單字節(jié)變量。

?WORD宏和?BYTE的區(qū)別在于起始地址。以DWORD為例,如果我們訪問DWORD[0x20],由于unsigned int在C51中為兩字節(jié)長,因此DWORD[0x20]其實訪問的是data存儲區(qū)0x40地址開始的兩字節(jié)無符號整形變量。

code/data/pdata/xdata在C51中分別代表代碼區(qū)/內(nèi)部RAM/按頁訪問的外部RAM/外部RAM四種存儲區(qū)訪問方式。


這是另一個論壇中對我的解答
8
發(fā)表于 2010-12-23 18:06:57 | 只看該作者
謝謝分享
9
發(fā)表于 2011-3-26 16:10:50 | 只看該作者
沒看明白!
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美另类亚洲 | 在线色播 | 欧美一级特黄视频 | 在线日本看片免费人成视久网 | 毛片视频免费观看 | 色综合五月 | 2018av男人天堂 | 国产欧美日韩一区二区三区视频 | 一本大道香蕉大vr在线吗视频 | 日本成年片高清在线观看 | 农奴完整版在线观看 | 亚洲日本aⅴ片在线观看香蕉 | 猛乳3p市来美保天国在线观看 | 免费国产成人午夜私人影视 | 国产啪视频免费视频观看视频 | 成人看片黄a免费 | 国产成人精品久久二区二区 | 日韩在线理伦片免费观看 | 国产亚洲欧美一区 | 国产精品嫩草研究院成人 | 黄色免费网站在线播放 | 91热国内精品永久免费观看 | 亚洲视频在线观看视频 | 99久久免费看国产精品 | 最新天堂在线 | 国产大陆亚洲精品国产 | 亚洲va欧美 | www.99re.| 性视频福利在线看 | 欧美精品在线看 | 一级做a级爰片性色毛片视频 | 国产精品免费一区二区三区 | 欧美日韩另类综合 | 欧美另类在线观看 | 成在线人免费视频一区二区三区 | 国产成人18 | 日产精品一线二线三线区动漫 | 九月色| 波多野结衣四虎精品影库 | 久久国产精品1区2区3区网页 | 亚洲男女在线 |