|
20黑幣
我嵌套其他匯編程序完全沒問題,但是一嵌套精準(zhǔn)延時(shí),程序就無(wú)法運(yùn)行,請(qǐng)教各位大哥
#include "reg52.h"
#include<intrins.h>
sbit beep=P1^5;
void del()
{
#pragma asm
DEL3:MOV R0,#10
DEL2:MOV R1,#100
DEL1:MOV R2,#25
DEL0:NOP
NOP
DJNZ R2,DEL0
DJNZ R1,DEL1
DJNZ R0,DEL2
#pragma endasm
}
void main()
{
while(1)
{
beep=~beep;
del();
}
}
|
最佳答案
查看完整內(nèi)容
解決方法:在 Files Toolbar 中選中當(dāng)前C51文件,點(diǎn)右鍵查看文件選項(xiàng),將 Generate Assembler SRC File 與 Assemble SRC File 的勾選由灰色變?yōu)楹谏,即使這兩項(xiàng)有效!
這時(shí)進(jìn)行編譯沒有問題,但是Link時(shí)產(chǎn)生了兩個(gè)警告:
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
解決方法是需要在 Source Group 中添加一個(gè) LIB 文件,根據(jù)專案的內(nèi)容不同有所區(qū)別:
C51S.LIB - ...
|