当前位置:首页 > 技术心得 > 正文内容

Keil C51中嵌入汇编

xjtudll17年前 (2010-04-20)技术心得19250

   我们知道,用C语言实现精确延时是一件比较困难的事情,而用汇编写精确延时程序就简单多了,但是整个程序都用汇编,那就是件头疼的事情。要是能在C里面嵌入汇编,那就爽了,本文介绍的就是如何在Keil C51里嵌入汇编。

 

1、在 C 文件中以如下方式加入汇编代码:

#pragma ASM

; Assembler Code Here

#pragma ENDASM

 

例如:

//延时1ms程序 晶振:11.0592MHZ

   void delay_1ms(void)                

   {

   #pragma asm

              DELAY1MS: MOV R7,#50

              DD: MOV R6,#10

              D2: DJNZ R6,$

              DJNZ R7,DD

   #pragma endasm

   }

 

2、在 Project 窗口中包含汇编代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SRC File”,使检查框由灰色变成黑色(有效)状态。如图所示。

 

3、根据选择的编译模式,把相应的库文件( Small 模式时,是 Keil\C51\Lib\C51S.Lib)加入工程中, 该文件必须作为工程的最后文件

4、编译,即可生成目标代码。 

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/74/

标签: keilC51
分享给朋友:

“Keil C51中嵌入汇编” 的相关文章

C#实现重启应用程序

推荐使用: Application.Restart();...

金蝶出入库单据类型

FTranType FBillName 1 外购入库单 2 产品入库单 5 委外入库单 10 其他入库单 21 销售出库单 24 领料单 28 委外出库单 29 其他出库单 40 盘盈单 41 调拨单 43 盘亏单 100 成本调整单 101 外购入库暂估补差单 102 委外加工暂估补差单...

BOS审批流如何查询出下一级待审核人信息

--根据名称查询出采购订单的类型ID,为1071 SELECT FID,* FROM ICClassType WHERE FName_chs Like '%采购订单_BOS%' --审批流对应的审核状态表的组合规则为:ICClassMCStatus+单据类型ID,审核记录表组合规则为:ICClass...

Quartus II 破解器 在win7无法运行,停止工作

Quartus II 破解器 在win7无法运行,停止工作

参考资料: http://zhidao.baidu.com/link?url=6-4yMJ7njWfCK7grjNaR-EspkM9MqtpoFB5HYFa5yJK7f4sbLrMMXSd8kruGlZnmLZtP9AYQFvD70hEmR8ZV3K 现象如图所示,只要一破解,就会弹出“...

无法嵌入互操作类型“*****.Class”,请改用适用的接口

无法嵌入互操作类型“*****.Class”,请改用适用的接口

引用某些类时,会提示无法嵌入互操作类型“*****.Class”。请改用适用的接口。 找到应用的类,点视图-->解决方案资源管理器,找到“嵌入互操作类型”选项,把true改为false就可以了,如下图所示。...

CVS迁移SVN

CVS迁移SVN

1、下载 CVS2SVN http://cvs2svn.tigris.org/files/documents/1462/49543/cvs2svn-2.5.0.tar.gz 2、下载 和安装python 需要把python的安装目录加入环境变量path中. 如果安装的时候没有选择加入环境变量,...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。