历史上的今天
返回首页

历史上的今天

今天是:2025年05月13日(星期二)

正在发生

2020年05月13日 | 在C51语言中如何嵌入汇编语言

2020-05-13 来源:eefocus

keil C 语言中嵌入汇编语言进行混合编程,方法如下:

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

#pragma ASM

; Assembler Code Here

#pragma ENDASM

2、在Project 窗口中包含汇编代码的C 文件上右键,选择“Options for ...”

在弹出的对话框中,点击右边的

“Generate Assembler SRC File”

和“Assemble SRC File”

使检查框由灰色变成黑色(有效)状态

3 、根据选择的编译模式, 把相应的库文件( 如Small 模式时, 是

KeilC51LibC51S.Lib)加入工程中, 该文件必须作为工程的最后文件,在默认

安装盘KEIL/C51/LIB/C51S.Lib

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

实例:

#include

#define uchar unsigned char

sbit LED1=P1^0;

//C 嵌入汇编例程

void delay_ms(void)

{

#pragma asm

MOV R0,#0FFH

MOV R1,#0FFH

D_LOOP1:

DJNZ R0,D_LOOP1

MOV R0,#0FFH

DJNZ R1,D_LOOP1

#pragma endasm

}

void main(void)

{

uchar i;

P1 = 0xFF;

while(1)

{

i++;

delay_ms();

if(i>=7)

{

LED1 =~LED1;

i=0;

}

}

}


推荐阅读

史海拾趣

CAMBION公司的发展小趣事

随着国内市场的饱和,CAMBION公司开始将目光投向海外市场。公司制定了详细的国际化战略,通过设立海外研发中心、拓展销售渠道等方式进入国际市场。在国际化过程中,CAMBION公司不仅面临着文化差异、法律法规等挑战,还需要与众多国际知名企业竞争。然而,凭借卓越的技术实力和灵活的市场策略,CAMBION逐渐在国际市场上占据了一席之地。

东通电子公司的发展小趣事

深圳市东通电子有限公司(以下简称“东通电子”)成立于1998年5月,最初主要涉足电子元器件的生产和销售。随着市场的不断变化和技术的飞速发展,公司意识到仅仅依靠传统业务已无法满足市场需求。于是,在2002年,东通电子决定将重心转向有机薄膜电容器的研发和生产。这一转型为公司的后续发展奠定了坚实的基础。

Comus_International公司的发展小趣事

随着市场的不断变化和客户需求的日益多样化,Comus International并没有满足于现状。公司开始着手新产品的开发,不久便推出了金属汞开关,并最终成功研发了获得专利的无汞开关。这些创新产品不仅进一步巩固了公司在市场上的地位,也拓展了其业务范围,为公司的长远发展注入了新的活力。

ADI Electronics Inc公司的发展小趣事

随着技术的不断进步,ADI开始逐步拓展其产品线,从最初的运算放大器逐步扩展到信号处理、数据转换等多个领域。这些技术突破不仅巩固了ADI在电子行业的地位,也为其带来了更多的商业机会。同时,ADI始终保持着对新技术的高度关注,不断投入研发,确保公司在激烈的市场竞争中保持领先地位。

HEC Inc公司的发展小趣事

ADI在发展过程中始终坚持创新,不断推出新产品和新技术。例如,在数字化转型的浪潮中,ADI积极拥抱变革,推出了一系列针对物联网、人工智能等新兴领域的解决方案。这些创新举措不仅满足了客户的需求,也进一步巩固了ADI在电子行业的领先地位。

Aeroflex公司的发展小趣事

ADI的创业故事始于1965年,创始人Ray Stata与Matthew Lorber在美国马萨诸塞州剑桥市的一座公寓地下室开始了他们的创业之路。最初,ADI并没有直接涉足芯片制造,而是专注于开发运算放大器等分立器件,以提供精确放大的改良型电信号。这一决策是基于当时新兴市场的需求,展现了两位创始人的市场敏锐度和创新精神。

问答坊 | AI 解惑

高性能模拟前端产品提升医疗设备成像质量

随着医疗影像系统日趋便携和小型化市场的需求,德州仪器 (TI)推出一款专为便携式超声波系统而设计的完整模拟信号链解决方案,首批集成的模拟前端 (AFE)产品是AFE5805 。   TI高性能模拟产品亚太市场业务拓展经理程伟健说,首款器件 AFE5805 能满 ...…

查看全部问答>

模块电源,开关电源中的电子干扰分析及解决办法

开关电源因体积小、功率因数较大等优点,在通信、控制、计算机等领域应用广泛。但由于会产生电磁干扰,其进一步的应用受到一定程度上的限制。本文将分析开关电源电磁干扰的各种产生机理,并在其基础之上,提出开关电源的电磁兼容设计方法。 开关 ...…

查看全部问答>

计量功耗芯片

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 今年不都说要低功耗么,那肯定要有相关测量功耗的东西了,这有款计量芯片大家看看  …

查看全部问答>

初来乍到,发一些我最近找的关于S3C6410的原理图和资料

[ 本帖最后由 chenzhufly 于 2010-1-18 22:41 编辑 ]…

查看全部问答>

LED Table 一个微小的创意改变生活哦

猜猜这桌子有什么不同?如果是一张普通的玻璃桌子怎么能上我们的创意站?这是一款LED桌子,玻璃桌面内嵌278个LED灯,具体有什么用处? …

查看全部问答>

弱问,vxsim如何设置内存大小啊

没找到在哪里设置啊。现在稍微跑大一点的程序,就vector 13 general protection.... 启动就直接启动起来了,没发现哪里有设置的?target server倒是能找到设置内存的地方。 我用的vxworks 2.0…

查看全部问答>

再次请教各位高手wince下拨号上网的问题

各位大哥好,我在vc++2005下MFC开发程序,用Ras拨号上网,提示拨号成功,在程序里发我们自己架的服务器上的ftp可以,发送udp消息也可以,但是用ie访问网页时就提示,“语音通话正在进行,无法拨打数据电话,请在语音通话结束后重试”请问这是什么原 ...…

查看全部问答>

嵌入式GUI FTK介绍(4)-脚本语言绑定

转载时请注明出处和作者联系方式 文章出处:http://www.limodev.cn/blog 作者联系方式:李先静 <xianjimli@gmail.com>用XML来描述界面,C/C++写内部逻辑,用脚本语言来胶合界面和内部逻辑。FTK 正是基于这种思想来设计的,所以它自然会提供 ...…

查看全部问答>

CC430软件WOR

我用CC430F5137调软件的WOR。发送端按一下按键连续发送1.2s,每一帧9个字节(算上前导码、同步字、RSSI、CRC)波特率90K,一帧时间大概0.8ms。接收端sleep 1s,醒来接收5ms。接收成功率很低,提高到8ms还可以。理论上两个帧的时间加上唤醒时间就够 ...…

查看全部问答>