找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3175|回复: 1
打印 上一主题 下一主题
收起左侧

[原创]在C51中嵌入汇编

[复制链接]
跳转到指定楼层
楼主
ID:73557 发表于 2015-2-12 00:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近打算将以前电子制作资料、帖子等转回到自己空间来,起因是因为以前搞过的FM发射等资料,发帖子在闽实论坛,后来该论坛关闭了,资料也丢失了,现在想找都找不着,所以想着将自己发过的帖子都转到51黑电子论坛来,先来第一篇,其它的慢慢整理再转贴。
    这是以前刚学单片机时发的帖子,现转贴回来。


     在C51编程中,有时控制一些器件时,需要较强实时性,这时有必要在其中嵌入ASM语句,关于嵌入的方法众多,网上也可以找到相关说明,不过说得并不详细,这里结合本人调试18B20测温程序来说说如何在C中嵌入ASM语句。(题外话:18B20完全用C来写也可以的,这里仅只是作个示范) 看下图,在我们一般建立好的项目文件里,加上C51S.LIB文件。


    然后,点选我们写好的C程序,点右键,按下面操作进行。



    跟着,我们在程序中建一个函数,里面嵌入ASM语句,在开始和结束,加上这两行,这样中间就可以写ASM语句。

    完成程序后,开始编译,会比平时多了一个.SRC文件,这是编译后的汇编文件,进入可以查看到C语句编译成ASM的情况,如果我们要在ASM中调用C的函数,请注意看函数名和入口参数。

    编译没有报错的话,就可以调试程序了,在嵌入ASM后,调试就只能在SRC里进行了(好象只能这样,反正我是没能在源程序文件里调试),所以,汇编功底不足的就要加紧补课了,呵呵。 还有什么好的嵌入方式,大家都来讨论一下。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:66287 发表于 2015-6-2 09:34 | 只看该作者
C中嵌入汇编,汇编中调用C都很容易的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表