新聞中心

單片機C語言的好處

作者: 時間:2012-12-18 來源:網(wǎng)絡(luò) 收藏

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

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

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

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

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

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

下面結(jié)合8051介紹C語言的優(yōu)越性:

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

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

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

·程序具有堅固性:數(shù)據(jù)被破壞是導(dǎo)致程序運行異常的重要因素。C語言對數(shù)據(jù)進(jìn)行了許多專業(yè)性的處理,避免了運行中間非異步的破壞;

·C語言提供復(fù)雜的數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉、指針等),極大地增強了程序處理能力和靈活性;

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

·提供small、compact、large等編譯模式,以適應(yīng)片上存儲器的大小;

·中斷服務(wù)程序的現(xiàn)場保護(hù)和恢復(fù),中斷向量表的填寫,是直接與單片機相關(guān)的,都由C編譯器代辦;

·提供常用的標(biāo)準(zhǔn)函數(shù)庫,以供用戶直接使用;

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

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

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

c語言相關(guān)文章:c語言教程


單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理




關(guān)鍵詞: 單片機 C語言 8051

評論


相關(guān)推薦

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

關(guān)閉