新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機keil 常見問題

        單片機keil 常見問題

        作者: 時間:2013-08-02 來源:網絡 收藏

        一、混合編程

        1、模塊內接口:

        使用如下標志符:

        #pragma asm

        匯編語句

        #pragma endasm

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

        來個實例吧:

        #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、根據選擇的編譯模式,把相應的庫文件象加"xx.c"一樣加入工程中并放在"xx.c"下面,如smail模式下選"c51libc51s.lib"加入工程中,如果要進行浮點運算把"c51libc51fpl.lib"也加入工程中。

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

        C51S.LIB - 沒有浮點運算的 Small model

        C51C.LIB - 沒有浮點運算的 Compact model

        C51L.LIB - 沒有浮點運算的 Large model

        C51FPS.LIB - 帶浮點運算的 Small model

        C51FPC.LIB - 帶浮點運算的 Compact model

        C51FPL.LIB - 帶浮點運算的 Large model

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

        4、在"xx.c"中加入匯編代碼

        #pragma ASM

        ;Assembler Code Here

        #pragma ENDASM

        5、編譯生成xx.hex

        注意:

        沒有做第一步會有如下警告:'asm/endasm' requires src-control to be active

        沒有做第二步會有如下警告:UNRESOLVED EXTERNAL SYMBOL;

        REFERENCE MADE TO UNRESOLVED EXTERNAL等

        沒有做第三步會有如下警告:UNDEFINED SYMBOL (PASS-2)

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


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


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


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


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



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 襄城县| 手游| 策勒县| 健康| 昌江| 东阳市| 泾川县| 侯马市| 凤冈县| 武山县| 朝阳县| 蓬溪县| 湄潭县| 治县。| 恩施市| 黄石市| 扶风县| 景泰县| 安岳县| 扶沟县| 临湘市| 拜泉县| 黑龙江省| 西吉县| 商河县| 高邮市| 秀山| 琼海市| 景德镇市| 兴山县| 乐至县| 卢氏县| 瑞昌市| 定远县| 获嘉县| 白山市| 丘北县| 河间市| 克山县| 鹿邑县| 会泽县|