很多用C语言编单片机程序的朋友,有时候会碰上“精确延时”,而用C又要搞清楚它的编译,往往在这个时候就想到了用汇编来编写延时,具体怎么在C中嵌入汇编呢?其实也比较简单,如下图,在C文件中要嵌入汇编的地方用#pragma asm和#pragma endasm分隔开来,这样编译时KEIL就知道这中间的一段是汇编了。
在有加入汇编的文件中,还要设置编译该文件时的选项
Generate Assembler SRC File 生成汇编SRC文件
Assemble SRC File 封装汇编文件
如下图的状态为选中,选上这两项就可以在C中嵌人汇编了。
为了能对汇编进行封装还要在项目中加入相应的封装库文件,在笔者的项目中编译模式是小模式所以选用C51S.LIB。这也是最常用的。这些库文件是中KEIL安装目录下的LIB目录中。 加好后就可以顺利编译了。