C51中變量的空間分配幾個方法
1、 data區(qū)空間小,所以只有頻繁用到或?qū)\算速度要求很高的變量才放到data區(qū)內(nèi),比如for循環(huán)中的計數(shù)值。
2、 data區(qū)內(nèi)最好放局部變量。
因為局部變量的空間是可以覆蓋的(某個函數(shù)的局部變量空間在退出該函數(shù)是就釋放,由別的函數(shù)的局部變量覆蓋),可以提高內(nèi)存利用率。當然靜態(tài)局部變量除外,其內(nèi)存使用方式與全局變量相同;
3、 確保你的程序中沒有未調(diào)用的函數(shù)。
在Keil C里遇到未調(diào)用函數(shù),編譯器就將其認為可能是中斷函數(shù)。函數(shù)里用的局部變量的空間是不釋放,也就是同全局變量一樣處理。這一點Keil C做得很愚蠢,但也沒辦法。
4、 程序中遇到的邏輯標志變量可以定義到bdata中,可以大大降低內(nèi)存占用空間。
在51系列芯片中有16個字節(jié)位尋址區(qū)bdata,其中可以定義8*16=128個邏輯變量。定義方法是: bdata bit LEDState;但位類型不能用在數(shù)組和結(jié)構(gòu)體中。
5、 其他不頻繁用到和對運算速度要求不高的變量都放到xdata區(qū)
上一篇:單片機在便攜式設(shè)備中的應(yīng)用與設(shè)計
下一篇:C51程序設(shè)計中斷及寄存器使用方法
推薦閱讀
史海拾趣
Califia Lighting深知品質(zhì)是企業(yè)生存和發(fā)展的關(guān)鍵。因此,公司建立了嚴格的質(zhì)量管理體系,從原材料采購到產(chǎn)品生產(chǎn)、檢驗、包裝等各個環(huán)節(jié)都進行嚴格把關(guān)。同時,公司還注重客戶服務(wù)和售后支持,及時解決客戶在使用過程中遇到的問題,贏得了客戶的信賴和好評。
ARMKEIL Microcontroller Tools公司的起點可以追溯到Keil公司的成立。1985年,Keil Elektronik GmbH(凱爾電子有限責任公司)在德國慕尼黑正式成立,由一群熱衷于嵌入式系統(tǒng)開發(fā)的工程師創(chuàng)立。起初,公司的主要業(yè)務(wù)是開發(fā)和銷售嵌入式系統(tǒng)的開發(fā)工具,這些工具為當時的電子工程師提供了強大的支持。隨著業(yè)務(wù)的發(fā)展,Keil逐漸在嵌入式系統(tǒng)開發(fā)領(lǐng)域嶄露頭角。
隨著電子行業(yè)的快速發(fā)展和變革,CAMBION公司也面臨著諸多挑戰(zhàn)。例如,新興技術(shù)的崛起使得市場競爭日益激烈,消費者對電子產(chǎn)品性能的要求也不斷提高。為了應(yīng)對這些變革,CAMBION公司不斷調(diào)整戰(zhàn)略,加大研發(fā)投入,推出了一系列具有競爭力的新產(chǎn)品。同時,公司還加強與上下游企業(yè)的合作,共同推動產(chǎn)業(yè)鏈的升級和發(fā)展。
在電子行業(yè)中,客戶服務(wù)質(zhì)量直接關(guān)系到企業(yè)的聲譽和市場競爭力。Elprotronic Inc.深知這一點,因此一直致力于優(yōu)化客戶服務(wù)體系。他們建立了專業(yè)的客戶服務(wù)團隊和客戶服務(wù)熱線電話等多種渠道來及時解答客戶的咨詢和問題。同時,公司還定期開展客戶滿意度調(diào)查活動收集客戶反饋和建議以便及時改進和優(yōu)化產(chǎn)品和服務(wù)。這些努力使得Elprotronic Inc.在客戶服務(wù)方面贏得了良好的口碑和信譽也為公司的長期發(fā)展奠定了堅實的基礎(chǔ)。
請注意,以上故事均為虛構(gòu)內(nèi)容,旨在展示Elprotronic Inc.公司可能的發(fā)展路徑和故事。實際情況可能有所不同,具體細節(jié)請以公司官方發(fā)布的信息為準。
如果用可控硅做為電熱類器件電源的開關(guān),由于可控硅本身具有整流作用,交流電(如AC220V)經(jīng)過可控硅后則變成正向的脈波,請問: 電熱類器件是否能像直接接交流電那樣工作?功率會不會降低一半?… 查看全部問答∨ |
STC12C5A08S2單片機 串口2 工作方式3 奇偶校驗問題 現(xiàn)在需要使用串口2,工作方式選擇方式3 我現(xiàn)在的配置如下: S2CON = 0xd0; //1101,0000 11位可變波特率,奇偶校驗位 BRT   ...… 查看全部問答∨ |
請教wince開機啟動任務(wù)欄的問題 成功實現(xiàn)了開機啟動運行程序,但是任務(wù)欄還會出現(xiàn)。 我嘗試了以下兩種方法: 代碼%_winceroot%\\public\\shell\\oak\\hpc 1、在taskbar.cpp中將函數(shù)BOOL CTaskBar::Register()的內(nèi)容全部刪除,直接return TRUE ...… 查看全部問答∨ |
|
我用SPI對MS25L3205D (FLASH)進行操作時發(fā)現(xiàn)同樣的配置用阻塞的方法可以正確的通信,可是用中斷的方法命令發(fā)出去后得到的響應(yīng)卻是錯的,有沒有哪位大俠了解的?… 查看全部問答∨ |
我在Visual Stusio 2005 +PB6 +SDK(制作平臺時生成)作了一個動態(tài)連接庫,然后在另外一臺機器上打開工程(只安裝了VS2005+SDK),出現(xiàn)下面的提示 : 該項目的所有配置項都需要系統(tǒng)對某些平臺的支持,但在此計算機上沒有安裝這些平臺,因此無法加載該項 ...… 查看全部問答∨ |
本人在調(diào)試音頻驅(qū)動的錄音部分卡住了,有太明顯的沙沙噪音。 采用的平臺:s3c2442+wolfson wm8976 問題 描述:WM8976的ADC出來的數(shù)字信號通過I2S送到CPU,這時候的數(shù)字信號沒問題。但是經(jīng)過音頻驅(qū)動的數(shù)據(jù)處理再到wavrec.exe(由ce提供 ...… 查看全部問答∨ |
|
帶控制端口的加法器,pout<=in1+in2;這條語句用到重載,不知道該調(diào)用那個庫,求高手指導,謝謝 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity lianxi4 isport ( in1:in bit_v ...… 查看全部問答∨ |
設(shè)計資源 培訓 開發(fā)板 精華推薦
- 孚能科技全固態(tài)電池中試線年底建成,能量密度超400Wh/kg
- 比亞迪新專利:電池尺寸不變,續(xù)航大幅提升
- 豐田子公司37億大連建廠首次在中國生產(chǎn)純電汽車電池
- 博泰車聯(lián)網(wǎng)沖刺港股:上海灘走出的汽車智能化隱形冠軍
- 從自動駕駛到具身智能,激光雷達緣何一邊被嫌棄,一邊被追捧?
- 軟件定義車輛改變汽車行業(yè)的3種方式
- 混合動力汽車也是超級跑車:強調(diào)性能,而不是里程
- 人形機器人風口下,六維力傳感器成為國產(chǎn)廠商“卡位”關(guān)鍵點
- AURIX? TC4x虛擬化技術(shù)詳解
- 從荔枝的“鮮和煎”,看英特爾銳炫Pro B60的AI空間折疊魔術(shù)
- 初創(chuàng)公司新推智能充電技術(shù),可自動選擇最便宜時段充電
- 特斯拉上海工廠預計最早11月投產(chǎn),2024產(chǎn)達到能巔峰
- 外資、新勢力入局,動力電池市場競爭格局將發(fā)生改變
- ABB將為新加坡電動巴士提供充電基礎(chǔ)設(shè)施
- 小鵬汽車拿出新的補救措施,未提車用戶直接換新款
- 濕紙巾是干垃圾還是濕垃圾?未來AI機器人幫你垃圾分類、定時定點投放!
- Zwipe和英飛凌就生物識別支付達成合作協(xié)議
- 施羅德十年磨一劍,特種機器人有無限可能
- 傅利葉智能與芝加哥康復中心達成戰(zhàn)略協(xié)議,加強在康復機器人領(lǐng)域的合作
- 艾邁斯半導體和SmartSens就3D和NIR傳感器開展合作