新聞中心

單片機(jī)keil 常見問題

作者: 時(shí)間:2013-08-02 來源:網(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)

來個(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 - 沒有浮點(diǎn)運(yùn)算的 Small model

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

C51L.LIB - 沒有浮點(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

注意:

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

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

REFERENCE MADE TO UNRESOLVED EXTERNAL等

沒有做第三步會(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è)

關(guān)鍵詞: 單片機(jī) keil 常見問題

評(píng)論


相關(guān)推薦

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

關(guān)閉