
基于Keil的51单片机汇编程序多文件编译详解.pdf
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本PDF详细讲解了使用Keil软件进行51单片机汇编语言多文件编译的方法与技巧,适合初学者和中级开发者参考学习。
本段落介绍了基于Keil的51单片机汇编程序多文件编译的方法。
一、序言
近年来,随着C语言广泛使用,大多数工程师更倾向于用它进行单片机系统开发。然而,在某些领域中,尽管汇编语言可读性差且难以移植,但因其执行效率高和占用内存空间小的特点依然不可替代。
二、Keil Vision2程序开发流程简介
美国Keil Software公司出品的51系列兼容单片机软件集成开发环境——Keil Vision2提供了宏汇编器、链接器等工具。在该环境下进行编程,首先使用宏汇编器将源代码转换为扩展名为.OBJ的目标文件和.LST列表文件;然后通过链接定位器分配绝对地址,并生成.M51格式的地址文件;最后由目标文件转换器创建可执行HEX文件。
三、实现多文件编译
在Keil Vision2环境下,可以按照硬件或功能模块来单独编写子程序并进行多文件管理。这样做的优点是提高代码的易读性和扩展性。
一个段可以是一个代码块或者数据区,并根据是否允许链接器更改地址被划分为可定位和绝对位置两种类型。对于前者需要定义名称、种类及其属性,而后者则直接分配固定内存位置且不允许改变。
模块是指独立编译的程序单元,包含单个或多个段,每个模块对应一个.OBJ文件。
以下为实现多源代码整合的方法:
1. 使用INCLUDE指令合并
该方法允许在当前源码中插入其他汇编语言(.ASM)或者包含文件(.INC)。注意被引用的文件结尾不能有END命令。
2. 通过绝对地址段定义
Keil Vision2提供了多种用于指定内存位置的指令,例如BSG、CSG等。这些指令可以用来设置代码和数据的位置。
采用绝对定位方式虽然简化了开发流程,但可能导致内存分配冲突或浪费,并可能影响后续维护工作中的灵活性。尽管如此,多文件编译有助于增强程序结构清晰度及执行效率,并且更有效地利用存储资源。
全部评论 (0)


