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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機編程技巧

          51單片機編程技巧

          作者: 時間:2012-01-20 來源:網(wǎng)絡 收藏

          1.定義的變量不要太多。低128位為用戶定義變量的存放區(qū)域(默認時),也可以把變量放在高128位,但容易出錯,盡量少放,最好不放。通過*.M51可以查看內(nèi)存變量的存放,最好不要超過110個字節(jié),否則程序無法運行或出錯。

          2.如一個變量多處使用可定義為全局變量。例如循環(huán)變量i、j,盡量減少參數(shù)傳遞。

          3.靜態(tài)變量最好放在程序存儲區(qū),用code定義。

          4.變量應定義為無符號數(shù),像標志位等僅占一位的變量應定義為bit。

          5.子程序在main()主程序之后的應事先聲明,放在前面的不用聲明。

          6.變量、子程序定義但沒使用,系統(tǒng)給出警告。

          7.雖然局部變量和全局變量不同名,但運行時可能被全局變量改變。

          8.程序在編譯后,有可能產(chǎn)生非常大的文件。比如原來5k,編譯后變成10k,這是C匯編時程序空間分配太隨意造成的??墒紫绕帘我徊糠殖绦蚓幾g,然后再去屏蔽再編譯,可恢復,或一部分一部分復制到另一個文件中編譯。

          9.如產(chǎn)生脈沖信號用到定時器,要去掉脈沖信號時,應先關定時器,再按要求把電平置為高電平或低電平。

          10.可使用軟件實現(xiàn)“看門狗”功能。比如:一個程序運行一個循環(huán)需要50ms,則定時器可定位100ms,當超過100ms時,程序?qū)臀?,在程序循環(huán)最下面都重裝定時器或重置定時器參數(shù)。

          11.為了提高所求值的精度,可多次測量,然后排序,去掉最大值和最小值,求平均值,或直接求平均值。

          12.可使用一個定時器進行多個定時。一般來說,兩個定時器對大一點的程序就不夠用了,假如幾個定時時間分別為10ms、200us、50ms,則定時值可定位200us,另設兩個變量即可。在需要多個定時時,找到他們的最小公約數(shù)定時即可。

          13.我們往單片機中寫程序時,寫的是*.hex,不要被它的大小所迷惑,對于8k的單片機,小于20k的程序都可寫進去



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();