資料介紹
從數據存儲類型來說,8051系列有片內、片外程序存儲器,片內、片外數據存儲器,片內程序存儲器還分直接尋址區和間接尋址類型,分別對應code、data、xdata、idata以及根據51系列特點而設定的pdata類型,使用不同的存儲器,將使程序執行效率不同,在編寫C51程序時,最好指定變量的存儲類型,這樣將有利于提高程序執行效率(此問題將在后面專門講述)。與ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各種不同的模式對應不同的實際硬件系統,也將有不同的編譯結果。
在51系列中data,idata,xdata,pdata的區別:
data:固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小。 idata:固定指前面0x00-0xff的256個RAM,其中前128和data的128完全相同,只是因為訪問的方式不同。idata是用類似C中的指針方式訪問的。匯編中的語句為:mox ACC,@Rx.(不重要的補充:c中idata做指針式的訪問效果很好) xdata:外部擴展RAM,一般指外部0x0000-0xffff空間,用DPTR訪問。 pdata:外部擴展RAM的低256個字節,地址出現在A0-A7的上時讀寫,用movx ACC,@Rx讀寫。這個比較特殊,而且C51好象有對此BUG,建議少用。但也有他的優點,具體用法屬于中級問題,這里不提。單片機C語言unsigned char code table[] code 是什么作用? code的作用是告訴單片機,我定義的數據要放在ROM(程序存儲區)里面,寫入后就不能再更改,其實是相當與匯編里面的尋址MOVX(好像是),因為C語言中沒辦法詳細描述存入的是ROM還是RAM(寄存器),所以在軟件中添加了這一個語句起到代替匯編指令的作用,對應的還有data是存入RAM的意思。程序可以簡單的分為code(程序)區,和data (數據)區,code區在運行的時候是不可以更改的,data區放全局變量和臨時變量,是要不斷的改變的,cpu從code區讀取指令,對data區的數據進行運算處理,因此code區存儲在什么介質上并不重要,象以前的計算機程序存儲在卡片上,code區也可以放在rom里面,也可以放在ram 里面,也可以放在flash里面(但是運行速度要慢很多,主要讀flash比讀ram要費時間),因此一般的做法是要將程序放到flash里面,然后load到ram里面運行的;DATA區就沒有什么選擇了,肯定要放在RAM里面,放到rom 里面改動不了。
- 單片機keil C中的data、bdata、idata、xdata
- keil中data,xdata,code指的是什么,存放在哪里,大小是否符合單片機參數規格
- 關于單片機存儲“Program Size: data=56.4 xdata=0 code=1067”對應 flash 和RAM ROM
- keil中C51關鍵字code用法
- keil與vs code開發C51單片機
- 我使用vs code編程單片機方法
- 單片機C編程中的關鍵字sfr和sbit的簡介
- 單片機C51編程的警告提示說明
- 面向51單片機的Keil uVision4基本數據類型的詳細資料簡介
- 51單片機的unsigned char code代碼定義詳細說明
- C51中的關鍵詞bdata使用教程詳細說明
- 單片機基礎教程之單片機簡介和微機基礎知識的詳細資料說明 0次下載
- Keil C和Proteus結合使用的設計及開發實例詳細資料說明 13次下載
- 單片機開發軟件Keil C51使用步驟詳細介紹 7次下載
- 單片機C語言code與data的作用 1次下載
- 單片機編程和plc編程有什么區別 1800次閱讀
- 什么是C語言?單片機有什么特點?為什么要用C語言編程? 1264次閱讀
- 單片機Keil開發環境的搭建 1423次閱讀
- 如何創建51單片機KEIL工程步驟 2568次閱讀
- IAR單片機編程軟件建立stm32工程的方法解析 2372次閱讀
- 基于Keil 5版本單片機編程軟件中MDK的應用技巧解析 5068次閱讀
- Keil C51單片機中變量的使用方法解析 5036次閱讀
- 如何對IAR單片機編程軟件進行編譯優化 9208次閱讀
- 如何正確的設置IAR單片機編程軟件 4993次閱讀
- 單片機編程器是什么_單片機編程器應用 1.6w次閱讀
- IAR單片機新建軟件工程的詳細步驟解析 5886次閱讀
- 51單片機編程環境的搭建及代碼編寫的方法 2.2w次閱讀
- 單片機C語言編程中定時器初值計算的兩種方法 1w次閱讀
- Keil C51單片機變量的使用方法詳細介紹 4528次閱讀
- C52單片機的應用(連接、編程、測試) 1.2w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 651單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機大棚環境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多