真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言函數(shù)xbyte意義的簡單介紹

請問高手 單片機(jī)編程中#define ZXK XBYTE[0xfeff]中XBYTE[0xfeff]是什么意思 能講詳細(xì)點(diǎn)嗎?

你還沒聽懂樓上幾位的意思。其實(shí)這個(gè)定義就是定義了一個(gè)字節(jié)的外部RAM,其地址為0xfeff。即將外部RAM中地址為0xfeff的字節(jié)定義為了ZXK這個(gè)名字。對它賦值即是對片外RAM的地址為0xfeff的字節(jié)賦值。這個(gè)和P0、P2沒有關(guān)系,只是在程序執(zhí)行過程中,訪問這個(gè)外部RAM字節(jié)的時(shí)候P0口是0xff,P2口是0xfe。(根據(jù)這個(gè)地址來確定RAM中的哪個(gè)單元被選中)

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供冷水江企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、HTML5建站、小程序制作等業(yè)務(wù)。10年已為冷水江眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

比如ZXK=0x00bf這條賦值是不行的,因?yàn)閆XK是字節(jié)變量,ZXK=0xbf這條賦值是對的,作用是將片外RAM的地址為0xfeff的字節(jié)賦值為0xbf。

單片機(jī)里xbyte和xdata到底什么關(guān)系啊?

首先說明:由于C語言是字符大小寫敏感的,所以沒有xbyte,而只有XBATE!

下面說一下,XBATE和xdata的意思。

xdata是C51關(guān)鍵字,說明變量的存儲區(qū)間,它是指單片機(jī)的擴(kuò)展存儲區(qū)域(也稱外部存儲、片外存儲,盡管物理存儲器也可能在單片機(jī)芯片內(nèi)部),最大64kByte,在匯編語言中,需要通過用16位指針DPTR來訪問。

XBATE在ABSACC.H文件中為一個(gè)宏定義

#define XBYTE ((unsigned char volatile xdata *) 0)

也就是說,通過直接地址引用該位置的值。例如在xdata的04H單元內(nèi)存放了一個(gè)字符'c',則

XDATA[4]就是引用了04H的內(nèi)容,也就是'c'。

同樣的還有DBYTE,CBYTE,PBYTE等單字節(jié)引用data、pdata,code空間的數(shù)據(jù),還有XWORD,DWORD,CWORD,PWORD等雙字節(jié)引用xdata,data,code,pdata空間的數(shù)據(jù)的,但要注意它們是以2字節(jié)為一個(gè)計(jì)數(shù)單元。例如 XWORD[4]是引用xdata空間中08H,09H兩個(gè)單元構(gòu)成的unsigned int。

不知道說明清楚了沒有?

XBYTE[0x8000]=0x08是什么意思

是單片機(jī)的C語言編程嗎?

XBYTE[ ]是用來對一個(gè)外部的內(nèi)存單元進(jìn)行操作的宏,常常用在將單片機(jī)外設(shè)作為一個(gè)內(nèi)存單元來訪問的情形XBYTE[0x8000]=0x08的意思是對外部的內(nèi)存單元0x8000寫入0x80數(shù)據(jù),而且會調(diào)用MOVX匯編指令,會產(chǎn)生WR/RD信號,例如你一個(gè)外設(shè)的使能端接在P2.7腳,在數(shù)據(jù)線以及WR都接好的情況下就可以給外設(shè)寫入0x08數(shù)據(jù)


當(dāng)前名稱:c語言函數(shù)xbyte意義的簡單介紹
地址分享:http://weahome.cn/article/dohshph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部