这是我在编程中积累的经验,希望对大家有用!
如何实现C51和汇编的混合编程 (文中用到的编译器一律为keil) 1、首先来个范例,并从这个范例展开说明: ............ //C51 Code here #pragma ASM ............. //Here is the Assembler Code #pragma ENDASM ........... //C51 Code here
2、看到范例,大家应该对实现C51和汇编的混合有个大概了解了,呵呵,
其实也就这么一回事。 但是我们还必须要做一些前提工作,首先在Project窗口中包含汇编代码(
ASM)的C文件单击右键,选择“Options for ...”,然后点击“Generate
Assembler SRC File”和“Assemble SRC File”
3、根据选择的编译模式,把相应的库文件加入工程,应该注意的是,这个
文件必须作为该工程的最后一个文件
4、大家可以复制下面这个C51和汇编的混编代码练习一下,加深印象 #i nclude <reg51.h> void main(void) { P2=0x00; #pragma asm MOV R7,#10 #pragma endasm P2=0xff; }
5、上面的过程掌握了以后,我们再来看一下如何实现无参数传递的函数调
用 例如我们要调用一个延时函数delay() //C51 extern void delayms(); //声明 int main() { delayms(); //调用 }
6、有参传递 其实是一样的,就是在子函数中加了参数罢了 例如:int delay(int minite,int second,……)//参数可以多个
|