新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言的好處

        單片機C語言的好處

        作者: 時間:2012-12-18 來源:網絡 收藏

        將C向MCU(俗稱上的移植始于80年代的中后期??陀^上講,C向 MCU移植的難點不少。如:

        ·的非馮·諾依慢結構(程序與數據存儲器空間分立),再加上片上又多了位尋址存儲空間;

        ·片上的數據和程序存儲器空間過小和同時存在著向片外擴展它們的可能;

        ·片上集成外圍設備的被寄存器化(即SFR),而并不采用慣用的I/O地址空間;

        ·8051芯片的派生門類特別多(達到了上百種之多),而對于它們的每一個硬件資源又無一例外地要能進行操作。

        這些都是過去以MPU為基礎的所沒有的。經過Keil/Franklin、Archmeades、IAR、BSO/Tasking等公司艱若不懈的努力,終于于90年代開始而趨成熟,成為專業化的MCU高級語言了。過去長期困擾人們的所謂"高級語言產生代碼太長,運行速度太慢,因此不適合使用"的致使缺點已被大幅度地克服。目前,8051上的的代碼長度,已經做到了匯編水平的1.2~1.5倍。4K字節以上的程度,C語言的優勢更能得到發揮。至于執行速度的問題,只要有好的仿真器的幫助,找出關鍵代碼,進一步用人工優化,就可很簡單地達到十分美滿的程度。如果談到開發速度、軟件質量、結構嚴謹、程序堅固等方面的話,則C語言的完美絕非匯編語言編程所可比擬的。今天,確實已經到MCU開發人員拿起C語言利器的時候了。

        下面結合8051介紹C語言的優越性:

        ·不懂得單片機的指令集,也能夠編寫完美的單片機程序;

        ·無須懂得單片機的具體硬件,也能夠編出符合硬件實際的專業水平的程序;

        ·不同函數的數據實行覆蓋,有效利用片上有限的RAM空間;

        ·程序具有堅固性:數據被破壞是導致程序運行異常的重要因素。C語言對數據進行了許多專業性的處理,避免了運行中間非異步的破壞;

        ·C語言提供復雜的數據類型(數組、結構、聯合、枚舉、指針等),極大地增強了程序處理能力和靈活性;

        ·提供auto、static、const等存儲類型和專門針對8051單片機的data、idata、pdata、xdata、code等存儲類型,自動為變量合理地分配地址;

        ·提供small、compact、large等編譯模式,以適應片上存儲器的大??;

        ·中斷服務程序的現場保護和恢復,中斷向量表的填寫,是直接與單片機相關的,都由C編譯器代辦;

        ·提供常用的標準函數庫,以供用戶直接使用;

        ·頭文件中定義宏、說明復雜數據類型和函數原型,有利于程序的移植和支持單片機的系列化產品的開發;

        ·有嚴格的句法檢查,錯誤很少,可容易地在高級語言的水平上迅速地被排掉;

        ·可方便地接受多種實用程序的服務:如片上資源的初始化有專門的實用程序自動生成;再如,有實時多任務操作系統可調度多道任務,簡化用戶編程,提高運行的安全性等等。

        c語言相關文章:c語言教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理




        關鍵詞: 單片機 C語言 8051

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新邵县| 慈利县| 巢湖市| 曲周县| 焉耆| 赤峰市| 门头沟区| 隆尧县| 平舆县| 蓬安县| 达拉特旗| 增城市| 鲁甸县| 龙胜| 称多县| 葵青区| 长子县| 通化县| 顺昌县| 祁东县| 西乌珠穆沁旗| 亳州市| 津南区| 纳雍县| 洛宁县| 化德县| 曲松县| 丹江口市| 崇仁县| 增城市| 临泉县| 甘洛县| 连城县| 普安县| 兰考县| 岚皋县| 龙南县| 正安县| 周至县| 漾濞| 满洲里市|