|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 cjsb37 于 2013-4-29 08:59 编辑
用c语言写的主程序,在主程序中调用汇编延迟子程序,这样能够精确控制延迟时间。但是在编译时出错,一时无法解决 请高手解答 多谢~~
这个是主程序:
/*Main.c*/
/*XF指示灯演示程序*/
#include "global.c"
void SystemInit();
void KickDog();
extern void delay();
main()
{
SystemInit(); //系统初始化
while(1)
{
asm(" SETC XF "); /* 点亮XF指示灯 */
delay();
asm(" CLRC XF "); /* 关闭XF指示等 */
delay();
}
}
void SystemInit()
{
asm(" SETC INTM "); /* 关闭总中断 */
asm(" CLRC SXM "); /* 禁止符号位扩展 */
asm(" CLRC CNF "); /* B0块映射为 on-chip DARAM*/
asm(" CLRC OVM "); /* 累加器结果正常溢出*/
SCSR1=0x02FC; /* 系统时钟CLKOUT=20*2=40M */
WDCR=0x006F; /* 禁止看门狗,看门狗时钟64分频 */
KickDog(); /* 初始化看门狗 */
IFR=0xFFFF; /* 清除中断标志 */
}
这个是汇编延迟子程序:
.def _delay
.text
_delay:
POPD *+
SAR AR0,*+
SAR AR1,*
LAR AR0,*+,AR1
SST #1,*+
SST #0,*+
CY: LACL #6600
CY1: SUB #1
RPT #499
NOP
BCND CY1,NEQ
MAR * ,AR1
MAR *-
LST #0,*-
LST #1, *-
LAR AR0, *-
PSHD *
RET
.end
下面是编译出错信息:
undefined first referenced
symbol in file
--------- ----------------
_delay C:\CCStudio_v3.3\MyProjects\01-XF\Debug\main.obj
>> symbol referencing errors - ./Debug/KEY.out not built
Build Complete,
1 Errors, 1 Warnings, 0 Remarks.
欢迎大侠踊跃讨论,期待共同进步~~
|
|