您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制Keil C51软件的开发流程与方法 正文
Keil C51软件的开发流程与方法

Keil C51软件的开发流程与方法

点击数:7231 次   录入时间:03-04 11:44:59   整理:http://www.55dianzi.com   电脑-单片机-自动控制

  1.KeilC51软件的开发流程简介

  与其它单片机与嵌入式系统开发工具一样,基于Keil平台的软件开发过程一般包括以下几个步骤:(1)新建工程,配置工程选项,包括目标器件、编译器环境等;(2)编辑源程序文件,通常采用C语言或者汇编语言:(3)编译或者汇编源程序;(4)链接并生成编程目标文件;(5)下载或调试运行。

4

  在μVision4集成开发环境下,这一过程可用图形描述如上图所示。

  上图所示的开发流程同样也适合于Keil支持的其它种类的微控制器,如ARM微控制器等。其最主要的区别就在于工具链的不同,对于8051单片机而言,其所采用的工具链是KeilC5'I,包括C编译器C51、宏汇编器A51、链接定位器BL51以及目标文件转换工具OH51等。2.KeilC51工具链的使用为熟悉KeilC51的工具链,更好地了解LJVision集成开发环境背后的工作机制,我们先介绍在控制台下KeilC51工具链的使用情况。为讲述方便,给出一个简单的任务:基于图1所示的8051电路,用C语言设计一个简短程序,在P2.1端口上输出一个低频方波信号。

  参考程序如下:78

78

87

  先用编辑软件,如记事本输入源程序代码,并存盘,假设文件名为mcu.c。进入控制台,运行Keil的C51编译程序对源文件进行编译,如图13所示。编译程序C51.exe位于Keil软件安装路径下的C51\BIN子文件夹中,可以指定其路径运行,也可以将其拷贝至工作目录下运行,但后一种方式使用时还需注意所需头文件与库文件的选择拷贝问题。注意到图13中,C51编译器带了“DEBUG”和“OBJECTEXTEND”两条编译控制指令,其作用是产生调试信息,方便调试器进行源码级调试。如果编译没有错误,会生产LST列表文件和.OBJ浮动地址的目标代码文件。

  在开发过程中,特别是采用C与汇编的混合编程时,编译器还有一项非常有用的控制指令SRC,可以产生C程序对应的汇编语言文件,不过此时不能输出目标文件,其操作格式为:C51.EXEMCU.CSRC,运行后可以获得MCU.SRC汇编语言文件。该汇编语言文件通过宏汇编器汇编,同样可以得到目标文件,如上图所示。

  在成功生成各个模块的浮动地址目标代码后,就可以继续运行链接定位器将各浮动地址的目标文件生成一个绝对地址的目标代码,如上图所示。

  上图所示的链接定位操作除了用户的目标文件MCU.OBJ外,还给出了一个输入文件C51S.LIB。这个文件是SMALL编译模式下C51的运行库,此处的作用是为用户的C程序提供默认的启动代码和初始化代码。此外,链接定位器的绝对地址目标文件输出特意加上了一个.OMF的扩展名,这样做的目的是方便开发人员在Proteus下进行源码级仿真。

  如果采用ISP编程工具对单片机进行编程的话,通常还需获得.HEX格式的编程文件。这一过程可以通过Keil的符号转换程序来实现,如上图所示。

  3.-个简单的工程示例

  一般用户,特别是入门的学习者,多喜欢在集成环境下使用工具链,这样既简单又方便。因此,在介绍完C51工具链之后,我们将上面给出的简单任务通过μVision4集成开发环境来实现一遍。其主要步骤如下:34

  (1)运行μVision4后,点击Project菜单下的“NewuVisionProject".”项,建立一个新工程,如上图所示,并按照提示选择好目标器件并决定是否需要加入启动代码。若不需要修改启动代码,通常不用添加启动代码源文件。

  (2)点击File->New(或按CTRI+N)新建一个源文件,输入代码后存盘。

  (3)往工程中添加源文件。

  (4)设置工程的目标选项,通常要选择好时钟频率、调试器以及编程文件输出,其余的项目一般可以直接默认。76

  (5)按F7,编译并构建目标程序,成功后会出现提示信息,如上图所示。如果有错误,需修改源程序后重复该步骤。

  (6)目标程序构建成功后就可以进入调试环节。




本文关键字:开发  软件  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制