C语言与汇编语言相互结合的嵌套汇编语言

控制/MCU

1814人已加入

描述

在单片机学习的过程中,掌握一点汇编语言是非常有必有的,作为低级语言汇编语言在单片机开发中有它不可取代的作用,比如每条指令可以精确的确定延时时间,便于理解非常适合硬件工程师学习。但是要提高单片机技能,必须掌握C 语言编程,因为C 语言有强大的模块化管理思想。我想在很多人学习的过程中即学了汇编语言,又学习了C  语言,那么一个问题便随之而产生,如果将C  语言与汇编语言相互结合,达到更好的编程效果,本次讲解就是基于这个问题而生成的。

汇编语言

  大家可以看到,我的延时函数用的汇编。然而编译后无法创建目标。

  此时大家右键左边的工作组1:Source Group 1。然后点击第一个Options for Group ‘Source Group 1’。

汇编语言

  将对话框右边红圈内两个选项各点两次,使对勾成为黑色。

汇编语言

  点击OK后就可以编译了。

  如果大家在编译时出现两个警告:

  警告内容如下:

  *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL

  SYMBOL: ?C_START

  MODULE: STARTUP.obj (?C_STARTUP)

  *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

  SYMBOL: ?C_START

  MODULE: STARTUP.obj (?C_STARTUP)

  ADDRESS: 0038H

汇编语言

  大家右键左边工作组1 Source Group1,添加文件到工作组1 Add Files to Group‘xxx’。

汇编语言

  出来对话框后找到Keil安装目录-C51-LIB,然后把文件类型选成Library file(*.lib)。

  找到C51S.lib,点Add:

汇编语言

  这样问题就解决了。

汇编语言

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分