历史上的今天
今天是: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; } } }
上一篇:51单片机实现printf函数
下一篇:单片机 keil流水灯实验
史海拾趣
|
随着医疗影像系统日趋便携和小型化市场的需求,德州仪器 (TI)推出一款专为便携式超声波系统而设计的完整模拟信号链解决方案,首批集成的模拟前端 (AFE)产品是AFE5805 。 TI高性能模拟产品亚太市场业务拓展经理程伟健说,首款器件 AFE5805 能满 ...… 查看全部问答> |
|
开关电源因体积小、功率因数较大等优点,在通信、控制、计算机等领域应用广泛。但由于会产生电磁干扰,其进一步的应用受到一定程度上的限制。本文将分析开关电源电磁干扰的各种产生机理,并在其基础之上,提出开关电源的电磁兼容设计方法。 开关 ...… 查看全部问答> |
|
猜猜这桌子有什么不同?如果是一张普通的玻璃桌子怎么能上我们的创意站?这是一款LED桌子,玻璃桌面内嵌278个LED灯,具体有什么用处? … 查看全部问答> |
|
没找到在哪里设置啊。现在稍微跑大一点的程序,就vector 13 general protection.... 启动就直接启动起来了,没发现哪里有设置的?target server倒是能找到设置内存的地方。 我用的vxworks 2.0… 查看全部问答> |
|
各位大哥好,我在vc++2005下MFC开发程序,用Ras拨号上网,提示拨号成功,在程序里发我们自己架的服务器上的ftp可以,发送udp消息也可以,但是用ie访问网页时就提示,“语音通话正在进行,无法拨打数据电话,请在语音通话结束后重试”请问这是什么原 ...… 查看全部问答> |
|
转载时请注明出处和作者联系方式 文章出处:http://www.limodev.cn/blog 作者联系方式:李先静 <xianjimli@gmail.com>用XML来描述界面,C/C++写内部逻辑,用脚本语言来胶合界面和内部逻辑。FTK 正是基于这种思想来设计的,所以它自然会提供 ...… 查看全部问答> |
|
我用CC430F5137调软件的WOR。发送端按一下按键连续发送1.2s,每一帧9个字节(算上前导码、同步字、RSSI、CRC)波特率90K,一帧时间大概0.8ms。接收端sleep 1s,醒来接收5ms。接收成功率很低,提高到8ms还可以。理论上两个帧的时间加上唤醒时间就够 ...… 查看全部问答> |




