历史上的今天
今天是:2025年03月08日(星期六)
2018年03月08日 | 如何在KEIL中实现C语言嵌套汇编语言
2018-03-08 来源:eefocus
一、讲解背景
在单片机学习的过程中,掌握一点汇编语言是非常有必有的,作为低级语言汇编语言在单片机开发中有它不可取代的作用,比如每条指令可以精确的确定延时时间,便于理解非常适合硬件工程师学习。但是要提高单片机技能,必须掌握C 语言编程,因为C 语言有强大的模块化管理思想。我想在很多人学习的过程中即学了汇编语言,又学习了C 语言,那么一个问题便随之而产生,如果将C 语言与汇编语言相互结合,达到更好的编程效果,本次讲解就是基于这个问题而生成的。
二、操作步骤
第一步:
在KEIL 中新建工程及文件并复制以下程序并保存为C 文件:
/*
功能:C 语言里嵌套汇编语言,起到抛砖引玉的作用
*/
#include
delay()
{
int i,j;
for(i=0;i<1000;i++)
for(j=0;j<120;j++); //12M 晶振下延时1MS
}
main()
{
P2=0x00; //控制8 个LED 亮
delay(); //延时1S
#pragma ASM//汇编嵌套开始
MOV P2,#0FFH //汇编嵌套结束
#pragma ENDASM//汇编嵌套开始
while(1); //C 程序结束
}
第二步:
选中 Project 窗口中的C 文件,比如CX1.C,并右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SRC File”,使复选框的打钩由灰色变成黑色状态(双击即可);
第三步:
将相应的库文件(如 Small 模式时,是 KeilC51LibC51S.Lib)加入工程中, 该文件必须作为工程的最后文件 (将该文件像头文件一样加载到工程中);
第四步:
在KEIL 中编译生成HEX 文件,并按如下图设计仿真图,在仿真中查看效果。
三、演示效果
如下图,如果你在你自己的仿真软件PROTEUS 上看到单片机P2 口控制的8 个LED 先亮延时1S 左右自动熄灭的效果。那说明你已经完全掌握C 语言里嵌套汇编语言的方法了。

史海拾趣
|
打上yaffs2补丁了,内核配置时还是没有yaffs2选项。 我的内核是Linux 2.6.14.1, 官网下载了yaffs2补丁,解压后运行 patch-ker.sh c /home/my2410/linux2.6.14.1,,提示: [root@Lanry yaffs2]# ./patch-ker.sh c /home/my2410/kernel/linux-2.6.14.1 Updating /home/my2410/kernel/linux-2.6.14.1/f ...… 查看全部问答> |
|
我建立了一个工程,生成目标文件mutex.o.启动vxsim目标服务器,名称为vism@zxj. 在shell里面输入ld vism@zxj mutex.提示mutex未定义符号?要怎么输入呢? 刚开始学一天,问这个白痴问题,请大家不要见笑.… 查看全部问答> |
|
我在新装的fedora 7下用minicom看2410的串口信息!可是没有任何显示!我在redhat9的minicom和xp的dnw上是可以显示的。 串口的设置serial device:/dev/ttyS0 &nbs ...… 查看全部问答> |
|
用IAR自己建立一STM32工程,编译提示找不到*.h文件。自己觉得可能是c/c++ compiler下Proprocess处设置的原因,目前是参考万利的设置: $PROJ_DIR$.. $PROJ_DIR$....Libraryinc 不成功,烦请高手指点下。 工程在此: ...… 查看全部问答> |
|
我现在的板子,JTAG可以烧写程序,可以调试。复位芯片用的MAX708R,用JTAG仿真,F5运行, / RESET 引脚上常为高,DSP2812正常工作,但是拔掉仿真器,断电后,用示波器检测/RESET(MAX708R) 检测到有200HZ的复位信号,。XCLKOUT 输出为3.75M,奇怪了 ...… 查看全部问答> |
|
如前所述,当我们把保护电压连到同轴电缆[1]的屏蔽时,如果该保护电压大于30V有效值,就可能出现安全风险。三同轴电缆用连至大地或LO端的外层屏蔽将保护屏蔽包围起来,从而避免了这种危险。 当静电计按无保护方式工作时,三同轴电缆的连接方法 ...… 查看全部问答> |
|
TI发布MSP430下一代微处理器平台wolverine(金刚狼),功耗降低50%。wolverine 的超低功耗得益于三个方面:一、超低漏电 (ULL) 工艺技术。独特的混合信号超低漏电流工艺技术可实现众多的新型低功耗外设,在任何温度下均始终如一地保持低功耗特 ...… 查看全部问答> |




