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

Keil C51中嵌入汇编

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

   我们知道,用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中嵌入汇编” 的相关文章

phpstorm调试XDebug 超时问题

phpstorm+xdebug+apache 调试代码时,一分钟就超时处理: 修改配置文件:1.php.ini 设置xdebug, 增加 xdebug.remote_cookie_expire_time = 3600max_execution_time=3600max_input_time=3600...

OKI单片机-如何查看编译后的汇编代码

OKI单片机-如何查看编译后的汇编代码

使用OKI单片机时,有几种情况需要看汇编代码: 1、精确延时,这个用C基本上无法实现; 2、用汇编编程,但某部分程序用汇编写感觉有难度。此时先用C编写,然后查看其汇编代码,借鉴一二。 有两种方式可以看到编译后的汇编代码: 1、程序编译完成后,编译器自动生成各C文件的汇编代码 (1)能看到绝大部分汇编...

C# 获取文件的修改时间、访问时间、创建时间

C# 获取文件的各个时间如下:<ccid_nobr>属性功能和用途Attributes返回和文件相关的属性值,运用了FileAttributes枚举类型值CreationTime返回文件的创建时间Exists检查文件是否存在于给定的目录中Extension返回文件的扩展名LastAcce...

Android 6.0:收不到BluetoothDevice.ACTION_FOUND广播

Android 6.0:收不到BluetoothDevice.ACTION_FOUND广播

参考资料: http://stackoverflow.com/questions/32656510/register-broadcast-receiver-dynamically-does-not-work-bluetoothdevice-action-f https://developer.and...

TM89系列单片机使用注意事项

TM89系列单片机使用注意事项

一、大电流模式大电流模式,官方资料上叫“电力备援模式”(详见UM-TM89XXMCUfunction),Back Up Mode。当系统耗电较大时,有可能使得系统的电源电压产生很大的波动,有可能导致MCU不正常动作,为了解决这个问题,在耗电较大时,需要开启大电流模式。 3V供电时,当选用BCF=0时...

Mac OS X:如何监测系统时间变更

目的:   当系统时间变更时,需要在app中知道。 其中系统时间变更包括时区,年月日时分秒等的变动,包括手动和自动修改 方法: 使用NSSystemClockDidChangeNotification Mac 10.6开始支持 Apple added in NSSystemClockDi...

发表评论

访客

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