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

Keil C51中嵌入汇编

xjtudll15年前 (2010-04-20)技术心得14860

   我们知道,用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://www.xjtudll.cn/Exp/74/

标签: keilC51
分享给朋友:

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

自定义"back" navigation button 的动作

目的: 监测“返回”按键,并执行相关操作。 问题分析: 首先,“返回”按键是无法监测的,但是返回操作后,界面上会有所改变,所以可以在VIewWillDisappear中执行相关操作。   参考资料: http://stackoverflow...

WinRAR创建自解压程序

WinRAR创建自解压程序

前面提到了用FilePacker来打包文件夹(http://www.xjtudll.cn/Exp/63/),这次介绍的是用WinRAR来创建自解压程序,从而实现发布单文件程序的目的。当然,你也可以另作他用。WinRAR相当普及,几乎人人电脑上都有。如何用WinRAR创建自解压程序呢?且看下面分解。1...

Android:default activity not found

Android:default activity not found

Android:default activity not found 顾名思义,没有默认的activity 一般是AndroidManifest.xml里少了几句话,如图所示: 注意红色框框中的区域...

金蝶K3 引出序时簿提示:cannot update database of object is read only

金蝶K3 引出序时簿提示:cannot update database of object is read only

金蝶K3引出序时簿提示:cannot update database of object is read only 解决办法: 更换引出路径...

Keil WARNING L16: UNCALLED SEGMENT……解决

Keil WARNING L16: UNCALLED SEGMENT……解决

Keil默认情况下会给所有的代码分配使用空间的,如果某些函数没被调用过,Keil则会给出警告 Warning L16:Uncalled Function(Segment),Ignored For Overlay Process。 这个警告本身不关键,关键是不使用的函数居然占用了ROM。如何解决这个...

Xcode Warning:No rule to process file xxx 解决

Xcode Warning:No rule to process file xxx 解决

在编译程序的时候,Xcode给出了警告:warning: no rule to process file '$(PROJECT_DIR)/xxx.h' of type sourcecode.c.h for architecture armv7。如图所示: 从warning中我们可以看出是某个.h...

发表评论

访客

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