新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)keil 常見(jiàn)問(wèn)題

        單片機(jī)keil 常見(jiàn)問(wèn)題

        作者: 時(shí)間:2013-08-02 來(lái)源:網(wǎng)絡(luò) 收藏

        一、混合編程

        1、模塊內(nèi)接口:

        使用如下標(biāo)志符:

        #pragma asm

        匯編語(yǔ)句

        #pragma endasm

        注意:如果在c51程序中使用了匯編語(yǔ)言,注意在編譯器中需要激活Properties中的“Generate Assembler SRC File” 和“Assembler SRC File ”兩個(gè)選項(xiàng)

        來(lái)個(gè)實(shí)例吧:

        #i nclude

        void main(void)

        {

        P2=1;

        #pragma asm

        MOV R7,#10

        DEL:MOV R6,#20

        DJNZ R6,$

        DJNZ R7,DEL

        #pragma endasm

        P2=0;

        }

        另:

        1、把"xx.c"加入工程中,右擊"xx.c"選擇“options for file"xx.c" 選擇“Generate Assembler SRC File”和“Assemble SRC File”打上黑勾有效;

        2、根據(jù)選擇的編譯模式,把相應(yīng)的庫(kù)文件象加"xx.c"一樣加入工程中并放在"xx.c"下面,如smail模式下選"c51libc51s.lib"加入工程中,如果要進(jìn)行浮點(diǎn)運(yùn)算把"c51libc51fpl.lib"也加入工程中。

        在 Keil 安裝目錄下的 C51LIB 目錄的LIB 文件如下:

        C51S.LIB - 沒(méi)有浮點(diǎn)運(yùn)算的 Small model

        C51C.LIB - 沒(méi)有浮點(diǎn)運(yùn)算的 Compact model

        C51L.LIB - 沒(méi)有浮點(diǎn)運(yùn)算的 Large model

        C51FPS.LIB - 帶浮點(diǎn)運(yùn)算的 Small model

        C51FPC.LIB - 帶浮點(diǎn)運(yùn)算的 Compact model

        C51FPL.LIB - 帶浮點(diǎn)運(yùn)算的 Large model

        3、在"xx.c"頭文件中加入優(yōu)化:比如#pragma OT(4,speed)

        4、在"xx.c"中加入?yún)R編代碼

        #pragma ASM

        ;Assembler Code Here

        #pragma ENDASM

        5、編譯生成xx.hex

        注意:

        沒(méi)有做第一步會(huì)有如下警告:'asm/endasm' requires src-control to be active

        沒(méi)有做第二步會(huì)有如下警告:UNRESOLVED EXTERNAL SYMBOL;

        REFERENCE MADE TO UNRESOLVED EXTERNAL等

        沒(méi)有做第三步會(huì)有如下警告:UNDEFINED SYMBOL (PASS-2)

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


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


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


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


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



        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 红原县| 卢龙县| 周至县| 乌兰浩特市| 连山| 肥城市| 同心县| 利川市| 宁晋县| 民县| 陕西省| 泽州县| 桦甸市| 瑞昌市| 信阳市| 西昌市| 高清| 丹东市| 虎林市| 呼伦贝尔市| 龙川县| 莱西市| 舞钢市| 巴彦淖尔市| 枝江市| 富阳市| 花莲市| 灌阳县| 绥滨县| 威宁| 龙州县| 卢龙县| 囊谦县| 衢州市| 古蔺县| 托克托县| 大新县| 霍州市| 昌乐县| 开江县| 台东市|