1. 程式人生 > >51微控制器data,idata,xdata,pdata的區別

51微控制器data,idata,xdata,pdata的區別

在51系列微控制器中data,idata,xdata,pdata的區別:

data:固定指前面0x00-0x7F的128byte的RAM,可以用ACC直接讀寫的,速度最快,生成的程式碼也最小。 idata:固定指前面0x00-0xFF的256byte的RAM,其中前128byte和data的128byte完全相同,只是因為訪問的方式不同。idata是用類似C中的指標方式訪問的。彙編中的語句為:MOX  ACC,@Rx.(不重要的補充:c中idata做指標式的訪問效果很好) xdata:外部擴充套件RAM,一般指外部0x0000-0xFFFF空間,用DPTR訪問。 pdata:外部擴充套件RAM的低256byte,地址出現在A0-A7的上時讀寫,用movx ACC,@Rx讀寫。
微控制器C語言unsigned char code table[] code 是什麼作用? code:定義的資料要放在ROM(程式儲存區)裡面,寫入後就不能再更改,其實是相當與彙編裡面的定址MOVX(好像是),因為C語言中沒辦法詳細描述存入的是ROM還是RAM(暫存器),所以在軟體中添加了這一個語句起到代替彙編指令的作用,對應的還有data是存入RAM的意思。

相關推薦

51微控制器data,idata,xdata,pdata區別

在51系列微控制器中data,idata,xdata,pdata的區別: data:固定指前面0x00-0x7F的128byte的RAM,可以用ACC直接讀寫的,速度最快,生成的程式碼也最小。 idata:固定指前面0x00-0xFF的256byte的RAM,其中前12

51微控制器idata,xdata,pdata,data的詳解

轉載:https://www.cnblogs.com/jikexianfeng/p/5870357.html data: 固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的程式碼也最小。 bit :是指0x20-0x2f的可位定址區 ida

51系列中data,idata,xdata,pdata區別

         從資料儲存型別來說,8051系列有片內、片外程式儲存器,片內、片外資料儲存器,片內程式儲存器還分直接定址區和間接定址型別,分別對應code、data、xdata、idata以及根據51系列特點而設定的p

關於keil單片機編程中的data,idata,xdata,pdata,code數據類型

賦值語句 很多 全局 一個 速度 根據 ans 告訴 常數 從數據存儲類型來說,8051系列有片內、片外程序存儲器,片內、片外數據存儲器,片內程序存儲器還分直接尋址區和間接尋址類型,分別對應code、data、xdata、idata以及根據51系列特點而設定的pdata類型

C51 keil中data,idata,xdata,pdata,code

從資料儲存型別來說,8051系列有片內、片外程式儲存器,片內、片外資料儲存器,片內程式儲存器還分直接定址區和間接定址型別,分別對應code、data、xdata、idata以及根據51系列特點而設定的pdata型別,使用不同的儲存器,將使程式執行效率不同,在編寫C51程式時,

DATA/IDATA/XDATA 區別

class lis aid baidu 建議 .html con nbsp .com 轉載自:http://jingyan.baidu.com/article/c843ea0b80c56e77931e4a2a.html DATA: 固定指前面0x00-0x7F

keil c51中的data idata xdata code詳解

51微控制器採用哈佛結構。記憶體空間編址有重疊。可以在不同匯流排(本文稱其為匯流排域,簡稱域)上定義不同的變數。在keilc51中定義了data idata xdata code幾種域修飾符。這些修飾符決定了變數訪問方式。 data:用mov直接訪問的內部RAM idata

【轉】淺談C51記憶體優化(data idata xdata

對 51 微控制器記憶體的認識,很多人有誤解,最常見的是以下兩種① 超過變數128後必須使用compact模式編譯   實際的情況是隻要記憶體佔用量不超過 256.0 就可以用 small 模式編譯② 128以上的某些地址為特殊暫存器使用,不能給程式用   與 PC 機

51微控制器dataxdata,code區別詳解

dATa: 固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的程式碼也最小。 idATa:固定指前面0x00-0xff的256個RAM,其中前128和dATa的128完全相同,只是因為訪問的方式不同。 idATa是用類似C中的指標方式訪問的。 彙編中的語句為:mox ACC

51微控制器dataxdata,code的區別詳解

dATa: 固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的程式碼也最小。 idATa:固定指前面0x00-0xff的256個RAM,其中前128和dATa的128完全相同,只是因為訪問的方式不同。 idATa是用類似C中的指標方式訪問的。 彙編中的語句為:mox ACC

51微控制器---IO口 (準雙向口和雙向口的區別

P0口:雙向8位三態I/O口P1口:準雙向8位I/O口P2口:準雙向8位I/O口P3口:準雙向8位I/O口這裡特別要主要準雙向與雙向三態I/O的區別:P1口,P2口,P3口是3個8位準雙向的I/O口,各口線在片內均有固定的上拉電阻,當這三個準雙向I/O口作輸入口使用時,要想該口先寫1,另外準雙向I/O口無高阻

51微控制器PSW之CY與OV的聯絡與區別

1.先從計算機儲存的機制說起: 直接說有符號數,先說一個位元組的的補碼錶示範圍為-2^7~(2^7-1),即-128~127。 當X>0時,X[原碼]=[反碼]=[補碼]; 當X=0時,存在[+0]和[-0]兩種表示形式,[+0]原=0000 000,[+0]反=00

Python requests模塊params、data、json的區別

通過 com pos get請求 pbm data avi number fonts requests模塊發送請求有data、json、params三種攜帶參數的方法。 params在get請求中使用,data、json在post請求中使用。 通過介紹,params是往u

總結Jquery中獲取自定義屬性使用.attr()和.data()以及.prop()的區別

p.p1 { margin: 0.0px 0.0px 2.0px 0.0px; font: 14.0px ".PingFang SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC" } p.p3 { margin:

51微控制器初瞭解(9)

跑馬燈效果的實現------8顆LED,7亮1滅,滅的移動 0x7f(01111111) 0xbf(10111111) 0xdf(11011111)   C語言按位取反:~表示對一個數字按位取反。01111111~10000000   #include <reg51.h

TYPES與DATA TYPE與LIKE 區別

1.TYPES與DATA區別:   TYPES是用來自定義某種類(型)的,需(用DATA語句)例項化以後才可以使用   DATA 是用來宣告基本型別資料物件(例項變數)的,對於用DATA直接定義的結構體物件(不參照其它結構型

51微控制器----基礎知識

基礎: 1. 點亮二極體的壓降為 1.6–1.7V,工作電流為3–10 mA;低電平點亮 2.線與指的是它們任意一開關只要對地導通,這根線就一定是低電平。 3.微控制器I/O預設輸入高電平; LED 燈點亮 電路圖: # include<reg5

51微控制器自學--完美的單擊、雙擊、長按、中斷消抖

完整的單擊、雙擊、長按程式碼。 工作原理:當有按鈕第一次按下時,設定第一個標誌An,當按鈕第一次釋放後,進入中斷消抖延時計數,假如在計數範圍內第二次按鈕按下,設定第二標誌Aa,這樣就把單擊和雙擊區分開,而且是可靠的邏輯標誌,長按為大於1秒的判斷. 中斷消抖及按鈕單擊、雙擊、長按處理

51微控制器入門_使用keil新建工程以及串列埠驅動下載和程式燒寫教程

        51微控制器是很簡單的一款微控制器,適合於新手的入門學習,但是也只能作為初學者繼續往上學習的一個墊腳石。這篇部落格我主要的目的是寫給我們學校社團的萌新閱覽的,方便他們入門51,繼續堅持學習下去。假如你有一個51微控

51微控制器學習筆記()

一、關於標頭檔案 在輸入標頭檔案時,新手容易出錯 比如: #include "reg52.h" 由於不仔細以及對標頭檔案不夠了解,會出現錯誤,如: #include "reg.52“ #include "reg.52.h" 此情況下編譯會出錯,顯示打不開該檔案,如下圖