找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2108|回复: 6
打印 上一主题 下一主题
收起左侧

我的C语言嵌套延时为啥无法运行

[复制链接]
跳转到指定楼层
楼主
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();
}
}

无标题.jpg (207.23 KB, 下载次数: 34)

无标题.jpg

最佳答案

查看完整内容

解决方法:在 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 - ...
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

来自 2#
ID:119159 发表于 2018-11-27 22:21 | 只看该作者

需要添加一个库文件,具体看图
回复

使用道具 举报

板凳
ID:432823 发表于 2018-11-27 19:57 | 只看该作者
解决方法:在 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 - 没有浮点运算的 Small model
C51C.LIB - 没有浮点运算的 Compact model
C51L.LIB - 没有浮点运算的 Large model
C51FPS.LIB - 带浮点运算的 Small model
C51FPC.LIB - 带浮点运算的 Compact model
C51FPL.LIB - 带浮点运算的 Large model
LIB 方件在 Keil 安装目录下的 /C51/LIB/ 目录中。
回复

使用道具 举报

地板
ID:424598 发表于 2018-11-27 22:54 来自手机 | 只看该作者
看提示信息,0错误啊,1警告,没关系。如果是没生成hex文件,你要在设置里勾选一下,编译生成hex
回复

使用道具 举报

5#
ID:328334 发表于 2018-11-28 08:47 来自手机 | 只看该作者
ssk7793 发表于 2018-11-27 22:54
看提示信息,0错误啊,1警告,没关系。如果是没生成hex文件,你要在设置里勾选一下,编译生成hex

hex生成了,但是在开发板上无法运行,而且我如果在主函数里不调用这个函数,也运行不出想要的结果
回复

使用道具 举报

6#
ID:432823 发表于 2018-11-28 08:48 | 只看该作者
选择.c文件右击,选中options for ……
回复

使用道具 举报

7#
ID:432823 发表于 2018-11-28 08:50 | 只看该作者
1选择.c文件右击,选中options for ……  2、进入界面->选择Generate Assembler SRC File 和 Assemble SRC File 两个选项,注意一定要是勾选为黑色(不是灰色) -> 点击确定3 解决方法是需要在 Source Group 中添加一个 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 LIB 方件在 Keil 安装目录下的 /C51/LIB/ 目录中。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表