|
20黑币
我嵌套其他汇编程序完全没问题,但是一嵌套精准延时,程序就无法运行,请教各位大哥
#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();
}
}
|
最佳答案
查看完整内容
解决方法:在 Files Toolbar 中选中当前C51文件,点右键查看文件选项,将 Generate Assembler SRC File 与 Assemble SRC File 的勾选由灰色变为黑色,即使这两项有效!
这时进行编译没有问题,但是Link时产生了两个警告:
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
解决方法是需要在 Source Group 中添加一个 LIB 文件,根据专案的内容不同有所区别:
C51S.LIB - ...
|