使用單片機(jī)C語(yǔ)言的好處
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問(wèn)次數(shù):691
    
    
     原作者:國(guó)家電力公司自動(dòng)化研究院(南京)梁合慶
     來(lái)源:不詳
     ------------------------------------------------
     將c向mcu(俗稱單片機(jī))8051上的移植始于80年代的中后期?陀^上講,c向8051 mcu移植的難點(diǎn)不少。如: ·8051的非馮·諾依慢結(jié)構(gòu)(程序與數(shù)據(jù)存儲(chǔ)器空間分立),再加上片上又多了位尋址存儲(chǔ)空間; ·片上的數(shù)據(jù)和程序存儲(chǔ)器空間過(guò)小和同時(shí)存在著向片外擴(kuò)展它們的可能; ·片上集成外圍設(shè)備的被寄存器化(即sfr),而并不采用慣用的i/o地址空間; ·8051芯片的派生門類特別多(達(dá)到了上百種之多),而c語(yǔ)言對(duì)于它們的每一個(gè)硬件資源又無(wú)一例外地要能進(jìn)行操作! ∵@些都是過(guò)去以mpu為基礎(chǔ)的c語(yǔ)言所沒(méi)有的。經(jīng)過(guò)keil/franklin、archmeades、iar、bso/tasking等公司艱若不懈的努力,終于于90年代開(kāi)始而趨成熟,成為專業(yè)化的mcu高級(jí)語(yǔ)言了。過(guò)去長(zhǎng)期困擾人們的所謂“高級(jí)語(yǔ)言產(chǎn)生代碼太長(zhǎng),運(yùn)行速度太慢,因此不適合單片機(jī)使用”的致使缺點(diǎn)已被大幅度地克服。目前,8051上的c語(yǔ)言的代碼長(zhǎng)度,已經(jīng)做到了匯編水平的1.2~1.5倍。4k字節(jié)以上的程度,c語(yǔ)言的優(yōu)勢(shì)更能得到發(fā)揮。至于執(zhí)行速度的問(wèn)題,只要有好的仿真器的幫助,找出關(guān)鍵代碼,進(jìn)一步用人工優(yōu)化,就可很簡(jiǎn)單地達(dá)到十分美滿的程度。如果談到開(kāi)發(fā)速度、軟件質(zhì)量、結(jié)構(gòu)嚴(yán)謹(jǐn)、程序堅(jiān)固等方面的話,則c語(yǔ)言的完美絕非匯編語(yǔ)言編程所可比擬的。今天,確實(shí)已經(jīng)到mcu開(kāi)發(fā)人員拿起c語(yǔ)言利器的時(shí)候了! ∠旅娼Y(jié)合8051介紹單片機(jī)c語(yǔ)言的優(yōu)越性: ·不懂得單片機(jī)的指令集,也能夠編寫完美的單片機(jī)程序; ·無(wú)須懂得單片機(jī)的具體硬件,也能夠編出符合硬件實(shí)際的專業(yè)水平的程序; ·不同函數(shù)的數(shù)據(jù)實(shí)行覆蓋,有效利用片上有限的ram空間; ·程序具有堅(jiān)固性:數(shù)據(jù)被破壞是導(dǎo)致程序運(yùn)行異常的重要因素。c語(yǔ)言對(duì)數(shù)據(jù)進(jìn)行了許多專業(yè)性的處理,避免了運(yùn)行中間非異步的破壞; ·c語(yǔ)言提供復(fù)雜的數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉、指針等),極大地增強(qiáng)了程序處理能力和靈活性; ·提供auto、static、const等存儲(chǔ)類型和專門針對(duì)8051單片機(jī)的data、idata、pdata、xdata、code等存儲(chǔ)類型,自動(dòng)為變量合理地分配地址; ·提供small、compact、large等編譯模式,以適應(yīng)片上存儲(chǔ)器的大; ·中斷服務(wù)程序的現(xiàn)場(chǎng)保護(hù)和恢復(fù),中斷向量表的填寫,是直接與單片機(jī)相關(guān)的,都由c編譯器代辦; ·提供常用的標(biāo)準(zhǔn)函數(shù)庫(kù),以供用戶直接使用; ·頭文件中定義宏、說(shuō)明復(fù)雜數(shù)據(jù)類型和函數(shù)原型,有利于程序的移植和支持單片機(jī)的系列化產(chǎn)品的開(kāi)發(fā); ·有嚴(yán)格的句法檢查,錯(cuò)誤很少,可容易地在高級(jí)語(yǔ)言的水平上迅速地被排掉; ·可方便地接受多種實(shí)用程序的服務(wù):如片上資源的初始化有專門的實(shí)用程序自動(dòng)生成;再如,有實(shí)時(shí)多任務(wù)操作系統(tǒng)可調(diào)度多道任務(wù),簡(jiǎn)化用戶編程,提高運(yùn)行的安全性等等。
    
    
    
    
    
     原作者:國(guó)家電力公司自動(dòng)化研究院(南京)梁合慶
     來(lái)源:不詳
     ------------------------------------------------
     將c向mcu(俗稱單片機(jī))8051上的移植始于80年代的中后期。客觀上講,c向8051 mcu移植的難點(diǎn)不少。如: ·8051的非馮·諾依慢結(jié)構(gòu)(程序與數(shù)據(jù)存儲(chǔ)器空間分立),再加上片上又多了位尋址存儲(chǔ)空間; ·片上的數(shù)據(jù)和程序存儲(chǔ)器空間過(guò)小和同時(shí)存在著向片外擴(kuò)展它們的可能; ·片上集成外圍設(shè)備的被寄存器化(即sfr),而并不采用慣用的i/o地址空間; ·8051芯片的派生門類特別多(達(dá)到了上百種之多),而c語(yǔ)言對(duì)于它們的每一個(gè)硬件資源又無(wú)一例外地要能進(jìn)行操作! ∵@些都是過(guò)去以mpu為基礎(chǔ)的c語(yǔ)言所沒(méi)有的。經(jīng)過(guò)keil/franklin、archmeades、iar、bso/tasking等公司艱若不懈的努力,終于于90年代開(kāi)始而趨成熟,成為專業(yè)化的mcu高級(jí)語(yǔ)言了。過(guò)去長(zhǎng)期困擾人們的所謂“高級(jí)語(yǔ)言產(chǎn)生代碼太長(zhǎng),運(yùn)行速度太慢,因此不適合單片機(jī)使用”的致使缺點(diǎn)已被大幅度地克服。目前,8051上的c語(yǔ)言的代碼長(zhǎng)度,已經(jīng)做到了匯編水平的1.2~1.5倍。4k字節(jié)以上的程度,c語(yǔ)言的優(yōu)勢(shì)更能得到發(fā)揮。至于執(zhí)行速度的問(wèn)題,只要有好的仿真器的幫助,找出關(guān)鍵代碼,進(jìn)一步用人工優(yōu)化,就可很簡(jiǎn)單地達(dá)到十分美滿的程度。如果談到開(kāi)發(fā)速度、軟件質(zhì)量、結(jié)構(gòu)嚴(yán)謹(jǐn)、程序堅(jiān)固等方面的話,則c語(yǔ)言的完美絕非匯編語(yǔ)言編程所可比擬的。今天,確實(shí)已經(jīng)到mcu開(kāi)發(fā)人員拿起c語(yǔ)言利器的時(shí)候了! ∠旅娼Y(jié)合8051介紹單片機(jī)c語(yǔ)言的優(yōu)越性: ·不懂得單片機(jī)的指令集,也能夠編寫完美的單片機(jī)程序; ·無(wú)須懂得單片機(jī)的具體硬件,也能夠編出符合硬件實(shí)際的專業(yè)水平的程序; ·不同函數(shù)的數(shù)據(jù)實(shí)行覆蓋,有效利用片上有限的ram空間; ·程序具有堅(jiān)固性:數(shù)據(jù)被破壞是導(dǎo)致程序運(yùn)行異常的重要因素。c語(yǔ)言對(duì)數(shù)據(jù)進(jìn)行了許多專業(yè)性的處理,避免了運(yùn)行中間非異步的破壞; ·c語(yǔ)言提供復(fù)雜的數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉、指針等),極大地增強(qiáng)了程序處理能力和靈活性; ·提供auto、static、const等存儲(chǔ)類型和專門針對(duì)8051單片機(jī)的data、idata、pdata、xdata、code等存儲(chǔ)類型,自動(dòng)為變量合理地分配地址; ·提供small、compact、large等編譯模式,以適應(yīng)片上存儲(chǔ)器的大小; ·中斷服務(wù)程序的現(xiàn)場(chǎng)保護(hù)和恢復(fù),中斷向量表的填寫,是直接與單片機(jī)相關(guān)的,都由c編譯器代辦; ·提供常用的標(biāo)準(zhǔn)函數(shù)庫(kù),以供用戶直接使用; ·頭文件中定義宏、說(shuō)明復(fù)雜數(shù)據(jù)類型和函數(shù)原型,有利于程序的移植和支持單片機(jī)的系列化產(chǎn)品的開(kāi)發(fā); ·有嚴(yán)格的句法檢查,錯(cuò)誤很少,可容易地在高級(jí)語(yǔ)言的水平上迅速地被排掉; ·可方便地接受多種實(shí)用程序的服務(wù):如片上資源的初始化有專門的實(shí)用程序自動(dòng)生成;再如,有實(shí)時(shí)多任務(wù)操作系統(tǒng)可調(diào)度多道任務(wù),簡(jiǎn)化用戶編程,提高運(yùn)行的安全性等等。
    
    
    
熱門點(diǎn)擊
- 單片機(jī)多字節(jié)BCD碼加法減法
- PCF8563 I2C實(shí)時(shí)時(shí)鐘/日歷芯片在8
- P89C51RD2的Boot ROM與ISP
- C51絕對(duì)地址訪問(wèn)
- C8051與SRAM的高速接口
- 指針類型和存儲(chǔ)區(qū)的關(guān)系詳解
- 帶VCC輸入引腳的硅序列碼芯片DS2411及
- 電壓驅(qū)動(dòng)型脈寬調(diào)制器TL494
- c語(yǔ)言編寫單片機(jī)技巧
- 異種單片機(jī)共享片外存儲(chǔ)器及其與微機(jī)通信的方法
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開(kāi)
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究