久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > C51存儲類型

C51存儲類型

作者: 時間:2016-11-18 來源:網絡 收藏
C51存貯器類型
C51編譯器完全支持8051微處理器及其系列的結構,可完全訪問MCS-51硬件系統所有部分。每個變量可準確地賦予不同的存貯器類型(data,idata,pdata,xdata,code)。訪問內部數據存貯器(idata)要比訪問外部數據存貯器(xdata)相對要快一些,因此,可將經常使用的變量置于內部數據存貯器中,而將較大及很少使用的數據單元置于外部數據存貯器中。


存貯器類型

本文引用地址:http://cqxgywz.com/article/201611/315598.htm

描 述


data


直接尋址內部數據存貯器,訪問變量速度最快(128bytes)


bdata


可位尋址內部數據存貯器,允許位與字節混合訪問(16 bytes)


iIdata


間接尋址內部數據存貯器,可訪問全部地址空間(256bytes)


pPdata


分頁(256bytes)外部數據存貯器,由操作碼MOVX @Ri訪問


xdata


外部數據存貯器(64K),由MOVX @DPTR訪問


code


代碼數據存貯器(64K),由MOVC @A+DPTR訪問


變量說明舉例:

data char charvar;

char code msg[]=”ENTER PARAMETER:”;

unsigned long xdata array[100];

float idata x,y,z;

unsigned char xdata vector[10][4][4];

sfr p0=0x80;

sbit RI="0x98";

char bdata flags;

sbit flago="flags"^0;

如果在變量說明時略去存貯器類型標志符,編譯器會自動選擇默認的存貯器類型。默認的存貯器類型進一步由控制指令SMALL、COMPACT和LARGE限制。例如:如果聲明char charvar,則默認的存貯器模式為SMALL,charvar放在data存貯器;如果使用COMPACT模式,則charvar放入idata存貯區;在使用LARGE模式的情況下,charvar被放入外部存貯區或xdata存貯區。
存貯器模式

存貯器模式決定了自動變量和默認存貯器類型,參數傳遞區和無明確存貯區類型的說明。在固定的存貯器地址變量參數傳遞是C51的一個標準特征,在SMALL模式下參數傳遞是在內部數據存貯區中完成的。LARGRE和COMPACT模式允許參數在外部存貯器中傳遞。C51同時也支持混合模式,例如在LARGE模式下生成的程序可將一些函數分頁放入SMALL模式中從而加快執行速度。



存貯器模式


描 述


SMALL


參數及局部變量放入可直接尋址的內部寄存器(最大128bytes,默認存貯器類型是DATA)


COMAPCT


參數及局部變量放入分頁外內部存貯區(最大256bytes,默認存貯器類型是PDATA)


LARGE


參數及局部變量直接放入外部數據存貯器(最大64K,默認存貯器類型是XDATA)


if ($ != jQuery) { $ = jQuery.noConflict(); } var isLogined = false; var cb_blogId = 45554; var cb_entryId = 1552895; var cb_blogApp = "papam"; var cb_blogUserGuid = "c3f8460b-63cf-dd11-9e4d-001cf0cd104b"; var cb_entryCreatedDate = 2009/8/24 14:49:00;


關鍵詞: C51存儲類

評論


技術專區

關閉