<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          51單片機(jī)開發(fā)原則

          作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
          1.盡可能讓變量使用占用代碼空間最小的變量類型。例如無(wú)符號(hào)字符型和位操作(8051作為一款8位處理器提供了位操作支持,而且大多數(shù)操作指令都是8位或者位操作的通常用小的數(shù)據(jù)類型去編寫代碼其效率更高)

          2.盡可能使用無(wú)符號(hào)類型數(shù)據(jù)(8051單片機(jī)不直接支持有符號(hào)的數(shù)據(jù)類型,有符號(hào)的操作需要額外的指令來(lái)支持,但是無(wú)符號(hào)的數(shù)據(jù)類型是直接就能被8051支持的)

          本文引用地址:http://www.ex-cimer.com/article/201612/324111.htm

          3.盡可能選擇小的存儲(chǔ)模式即small(絕大多數(shù)的應(yīng)用采用small存儲(chǔ)模式都能滿足,也可以選擇large存儲(chǔ)模式,將一些數(shù)組和結(jié)構(gòu)體存入xdata或者pdata存儲(chǔ)空間的話選擇極大存儲(chǔ)模式,注意的是keilc51實(shí)時(shí)庫(kù)使用的基本指針可以工作在任何存儲(chǔ)模式)

          4.當(dāng)應(yīng)用其他存儲(chǔ)模式的時(shí)候盡可能將變量存儲(chǔ)在data區(qū)域內(nèi)(將變量存儲(chǔ)在data空間里,這部分空間單片機(jī)可以直接訪問(wèn),據(jù)有最高的執(zhí)行效率,通常這個(gè)區(qū)域存儲(chǔ)的是最有效率的代碼)本地圖片,請(qǐng)重新上傳

          5.要知道如何在你的設(shè)備上使用PDATA存儲(chǔ)模式(pdata提供的256字節(jié)的空間,使用MOVX @Ri指令訪問(wèn)8位地址,pdata存儲(chǔ)空間的使用不同于8051單片機(jī)內(nèi)部的設(shè)備,需要設(shè)置頁(yè)寄存器。Xdata 存儲(chǔ)類型是通用的能達(dá)到的最大的存儲(chǔ)空間64kb)

          6.盡可能使用內(nèi)存類型的指針(默認(rèn)的,keil c51編譯器使用通用指針可以訪問(wèn)任何類型的內(nèi)存空間,內(nèi)存型的指針只能訪問(wèn)固定的存儲(chǔ)空間,但是這種方式能夠產(chǎn)生更快更小的程序代碼)

          7.減少使用重入函數(shù)(8051系列缺乏對(duì)堆棧變量的支持,重入函數(shù)的實(shí)現(xiàn)通過(guò)keilc51編譯器使用一個(gè)編譯時(shí)間的堆棧對(duì)內(nèi)存范圍內(nèi)的數(shù)據(jù)內(nèi)容的覆蓋實(shí)現(xiàn)的,重入函數(shù)在8051單片機(jī)上模擬出堆棧的結(jié)構(gòu)。由于在嵌入式應(yīng)用很少會(huì)用到重入函數(shù)代碼,但是你在設(shè)計(jì)的過(guò)程中應(yīng)盡可能的少用這種重入屬性)

          8.使用LX51 Linker/Locate 和Linker code packing來(lái)減少程序的體積。(LX51 Linker/Locate分析并且優(yōu)化你的整個(gè)程序。代碼將會(huì)在內(nèi)存中重新排列,最大限度的使用2字節(jié)的AJMP和ACALL指令來(lái)代替3字節(jié)的LJMP和LCALL指令。Linker code packing利用通用代碼段生成子程序)

          9.盡量保持短的中斷函數(shù)(結(jié)構(gòu)好的的中斷函數(shù)僅僅是執(zhí)行數(shù)據(jù)的獲取或者是計(jì)時(shí),數(shù)據(jù)的處理是在主函數(shù)或者實(shí)時(shí)系統(tǒng)的任務(wù)函數(shù)中完成,這樣可以有效的降低涉及保存/存儲(chǔ)的中斷函數(shù)的調(diào)用)

          10.檢查對(duì)于時(shí)鐘周期的需求(代碼訪問(wèn)數(shù)據(jù)需要一定的周期,尤其是在實(shí)時(shí)系統(tǒng)中使用多個(gè)線程或者中斷服務(wù)程序中需要在主函數(shù)中)



          關(guān)鍵詞: 51單片機(jī)開發(fā)原

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();