第5章 单片机C语言与汇编语言混合编程.ppt
《第5章 单片机C语言与汇编语言混合编程.ppt》由会员分享,可在线阅读,更多相关《第5章 单片机C语言与汇编语言混合编程.ppt(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.1.4 5.1.4 单片机混合编程的基本方式单片机混合编程的基本方式单片机混合编程的基本方式单片机混合编程的基本方式1 1汇编中调用汇编中调用汇编中调用汇编中调用C51C51程序程序程序程序 单片机C语言和汇编语言混合编程分为汇编中调用汇编中调用汇编中调用汇编中调用C51C51函函函函数数数数和C51程序中引用汇编引用汇编引用汇编引用汇编在C51程序中使用汇编语言有两种情况:C51程序调用汇编程序模块的变量,函数和嵌入式汇编 在汇编程序中可以访问C51程序中的变量和函数。(1)(1)汇编中调用汇编中调用汇编中调用汇编中调用C51C51的变量:的变量:的变量:的变量:普通变量:_ _变量名变
2、量名变量名变量名数组:_ _数组名数组名数组名数组名+偏移量偏移量偏移量偏移量用_XX_XX可以访问C语言程序中定义的变量XXXX;用_XX+3_XX+3可以访问数组中的XX3XX3。(2)(2)对于函数:对于函数:对于函数:对于函数:如在C51程序中定义了没有参数的函数fun1()fun1(),则,在汇编程序中用子程序调用指令调用fun1fun1即可;如定义了有参数的函数fun2()fun2(),则,在汇编程序中调用时,子程序名用成_fun2_fun2。注意:注意:注意:注意:为了能够让汇编语言访问到为了能够让汇编语言访问到为了能够让汇编语言访问到为了能够让汇编语言访问到C C C C语言中
3、定语言中定语言中定语言中定义的变量和函数,在义的变量和函数,在义的变量和函数,在义的变量和函数,在C C C C程序中它们必须声明为外部程序中它们必须声明为外部程序中它们必须声明为外部程序中它们必须声明为外部变量,即加变量,即加变量,即加变量,即加extern extern extern extern 前缀前缀前缀前缀 函数没有参数:函数名函数名函数名函数名函数有参数:_ _函数名,函数名,函数名,函数名,调用函数前要准备好参数。2 2在在在在C51C51中嵌入汇编程序中嵌入汇编程序中嵌入汇编程序中嵌入汇编程序 通过C51中的预处理指令#pragmapragma asm/endasmasm/e
4、ndasm 语句来实现。其格式如下:#pragmapragma ASM ASM;汇编程序代码汇编程序代码汇编程序代码汇编程序代码#pragmapragma ENDASM ENDASM3.3.在在在在C51C51中调用汇编程序中调用汇编程序中调用汇编程序中调用汇编程序 这种方法应用较多,C模块与汇编模块的接口较简单,分别用C51与A51对源程序进行编译,然后用L51将obj文件连接,关键问题在于C函数与汇编函数之间的参数传递和得到正确的返回值,以保证模块间的数据交换。5.2 5.2 混合汇编的参数传递与实现混合汇编的参数传递与实现混合汇编的参数传递与实现混合汇编的参数传递与实现5.2.1 5.2
5、.1 混合汇编的参数传递混合汇编的参数传递混合汇编的参数传递混合汇编的参数传递1 1汇编程序调用汇编程序调用汇编程序调用汇编程序调用C51C51函数的参数传递函数的参数传递函数的参数传递函数的参数传递 如C51函数有参数,则汇编程序在调用C51函数前要准备好参数。在汇编程序中,C51函数最左边的一个参数最左边的一个参数最左边的一个参数最左边的一个参数由寄存器A传递,其他的参数按顺序通过堆栈按顺序通过堆栈按顺序通过堆栈按顺序通过堆栈给出。C51函数的返回值是返回到A寄存器或者由A寄存器给出的地址。2 2在在在在C51C51中嵌入汇编程序的参数传递中嵌入汇编程序的参数传递中嵌入汇编程序的参数传递中
6、嵌入汇编程序的参数传递 通过变量或特殊功能寄存器来实现 3 3在在在在C51C51中调用汇编程序的参数传递(难点)中调用汇编程序的参数传递(难点)中调用汇编程序的参数传递(难点)中调用汇编程序的参数传递(难点)C51中调用汇编程序进行参数传递时都必须严格遵守C51函数的参数和返回值的相关约定。C51中调用汇编程序进行参数传递的方式有两种,一一一一种是通过寄存器种是通过寄存器种是通过寄存器种是通过寄存器传递参数,第二种是通过固定存储区固定存储区固定存储区固定存储区传递。1)1)通过寄存器传递参数通过寄存器传递参数通过寄存器传递参数通过寄存器传递参数最多可通过51单片机的工作寄存器传递3个参数,余
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 单片机C语言与汇编语言混合编程 单片机 语言 汇编语言 混合 编程
限制150内