資料介紹
1、 data 區(qū)空間小,所以只有頻繁用到或?qū)\(yùn)算速度要求很高的變量才放到 data 區(qū)內(nèi),比如 for 循環(huán)中的計(jì)數(shù)值。
2、 data 區(qū)內(nèi)最好放局部變量。
因?yàn)榫植孔兞康目臻g是可以覆蓋的(某個(gè)函數(shù)的局部變量空間在退出該函數(shù)是就釋放,由別的函數(shù)的局部變量覆蓋),可以提高內(nèi)存利用率 。當(dāng)然靜態(tài)局部變量除外,其內(nèi)存使用方式與全局變量相同;
3、 確保你的程序中沒有未調(diào)用的函數(shù)。
在 Keil C 里遇到未調(diào)用函數(shù),編譯器就將其認(rèn)為可能是中斷函數(shù)。函數(shù)里用的局部變量的空間是不釋放,也就是同全局變量一樣處理。這一點(diǎn) Keil C 做得很愚蠢,但也沒辦法。
4、 程序中遇到的邏輯標(biāo)志變量可以定義到 bdata 中,可以大大降低內(nèi)存占用空間。
在 51 系列芯片中有 16 個(gè)字節(jié)位尋址區(qū) bdata ,其中可以定義 8*16=128 個(gè)邏輯變量。定義方法是: bdata bit LedState;但位類型不能用在數(shù)組和結(jié)構(gòu)體中。
5、 其他不頻繁用到和對(duì)運(yùn)算速度要求不高的變量都放到 xdata 區(qū)。
6、 如果想節(jié)省 data 空間就必須用 large 模式,將未定義內(nèi)存位置的變量全放到 xdata 區(qū)。當(dāng)然最好對(duì)所有變量都要指定內(nèi)存類型。
7、 當(dāng)使用到指針時(shí),要指定指針指向的內(nèi)存類型。
在 C51 中未定義指向內(nèi)存類型的通用指針占用 3 個(gè)字節(jié);而指定指向 data 區(qū)的指針只占 1 個(gè)字節(jié);指定指向 xdata 區(qū)的指針占 2 個(gè)字節(jié)。如指針 p 是指向 data 區(qū),則應(yīng)定義為: char data *p; 。還可指定指針本身的存放內(nèi)存類型,如: char data * xdata p; 。其含義是指針 p 指向 data 區(qū)變量,而其本身存放在 xdata 區(qū)。
單片機(jī) 初學(xué)者一般對(duì)c51語(yǔ)言里的DATA ,XDATA ,BDATA,IDATA,CODE,不是很清楚,因?yàn)樵?a href='http://www.1cnz.cn/v/tag/10980/' target='_blank' class='arckwlink_none'>微機(jī)的c語(yǔ)言里根本沒有這些東西,一下子出來(lái)難以讓人接受,特別是沒有硬件基本的朋友們。這也是寫程序的時(shí)候經(jīng)常犯錯(cuò)誤的地方。請(qǐng)看下表
- 單片機(jī)c語(yǔ)言code的作用
- 九齊51單片機(jī)使用注意事項(xiàng):不要用float
- AVR單片機(jī)ADC采樣編程需要注意的問(wèn)題
- PIC單片機(jī)編程注意事項(xiàng)及技巧資料下載
- 單片機(jī)的程序在內(nèi)存和FLASH中應(yīng)該如何進(jìn)行空間分配
- 51單片機(jī)串口通訊需要注意的寄存器及51單片機(jī)使用PRINTF的示例程序
- C51程序中兩種對(duì)內(nèi)存空間地址寫數(shù)據(jù)的方法說(shuō)明
- 51單片機(jī)的頭文件和keil中switch使用注意事項(xiàng)與break的使用資料說(shuō)明
- 位域結(jié)構(gòu)體變量在主流控制器編程時(shí)應(yīng)該要注意那些事項(xiàng)
- 51單片機(jī)中變量的存儲(chǔ)類型有什么區(qū)別
- 51單片機(jī)如何使用動(dòng)態(tài)內(nèi)存
- PIC單片機(jī)開發(fā)前需要準(zhǔn)備那些東西
- STC51單片機(jī)的printf函數(shù)的用法和注意事項(xiàng)詳細(xì)說(shuō)明
- 使用51單片機(jī)需要注意那五點(diǎn)注意事項(xiàng)
- 51單片機(jī)C語(yǔ)言編程中的絕對(duì)定位問(wèn)題
- 51、STM32單片機(jī)的編程方式一樣嗎? 1200次閱讀
- 你知道嗎? 51單片機(jī)也有動(dòng)態(tài)內(nèi)存分配 955次閱讀
- 淺析C語(yǔ)言中的變量修飾符 321次閱讀
- 51單片機(jī)燒寫程序的方法 4929次閱讀
- 單片機(jī)的內(nèi)存映射圖解析 1029次閱讀
- 單片機(jī)的內(nèi)存映射圖解析 1505次閱讀
- 51單片機(jī)的匯編程序庫(kù) 9414次閱讀
- SMT貼片產(chǎn)品加工中有哪些事項(xiàng)需要注意 4094次閱讀
- Keil C51單片機(jī)中變量的使用方法解析 5036次閱讀
- 在進(jìn)行單片機(jī)設(shè)計(jì)時(shí)需要注意哪些事項(xiàng) 4706次閱讀
- 開發(fā)51單片機(jī)操作系統(tǒng)注意事項(xiàng) 4545次閱讀
- Keil C51單片機(jī)變量的使用方法詳細(xì)介紹 4528次閱讀
- C51單片機(jī)中定義一個(gè)全局變量會(huì)有怎樣的影響 7894次閱讀
- 51單片機(jī)復(fù)位的方法有哪些 淺談51單片機(jī)復(fù)位 2.7w次閱讀
- 51單片機(jī)存儲(chǔ)器內(nèi)存的講解 1844次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多