Keil 工程文件的建立、设置与目标文件的获得
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
我们将通过一些实例来学习Keil软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。图1所示电路图使用89C51单片机作为主芯片,这种单片机性属于MCS-51系列,其内部有4K的FLASH ROM,可以反复擦写,非常适于做实验。89C51的P1引脚上接8个发光二极管,P3.2~P3.4引脚上接4个按钮开关,我们的第一个任务是让接在P1引脚上的发光
二极管依次循环点亮。
一、Keil工程的建立
首先启动Keil软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision的图标以启动该软件。
UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件,如果是第一次启动Keil,那么这三个标签页全是空的。
1、源文件的建立
使用菜单“File->New”或者点击工具栏的新建文件按
钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,
在该窗口中输入以下汇编语言源程序,例1:
MOV A,#0FEH
MAIN: MOV P1,A
RL    A
LCALL DELAY
AJMP MAIN
DELAY: MOV R7,#255
D1: MOV R6,#255
DJNZ R6,$ 图1  简单的键盘、显示板
DJNZ R7,D1
RET
END
保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm 或a51为扩展名),这里假定将文件保存为exam1.asm 。
需要说明的是,源文件就是一般的文本文件,不一定使用Keil 软件编写,可以使用任意文本编缉器编写,而且,Keil 的编缉器对汉字的支持不好,建议使用UltraEdit 之类的编缉软件进行源程序的输入。
2、建立工程文件
在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU (Keil 支持数百种CPU ,而这些CPU 的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil 使用工程(Project )这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作,下面我们就一步一步地来建立工程。
点击“Project->New Project…”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字
(设为exam1),不需要扩展名。点击“保
存”按钮,出现第二个对话框,如图2
所示,这个对话框要求选择目标CPU (即
你所用芯片的型号),Keil 支持的CPU
很多,我们选择Atmel 公司的89C51芯
片。点击ATMEL 前面的“+”号,展开
该层,点击其中的89C51,然后再点击
“确定”按钮,回到主界面,此时,在
工程窗口的文件页中,出现了“Target
1”,前面有“+”号,点击“+”号展开,
可以看到下一层的“Source Group1”,这
时的工程还是一个空的工程,里面什么
文件也没有,需要手动把刚才编写好的源程序加入,点击“Source Group1”使
其反白显示,然后,点击鼠标右键,出现一个下
拉菜单,如图3所示。选中其中的“Add file to
Group”Source Group1”,出现一个对话框,要求
寻源文件,注意,该对话框下面的“文件类型”
默认为C source file(*.c),也就是以C 为扩展名
的文件,而我们的文件是以asm 为扩展名的,
所以在列表框中不到exam1.asm ,要将文件类
型改掉,点击对话框中“文件类型”后的下拉列
表,到并选中“Asm Source File(*.a51,*.asm),
这样,在列表框中就可以到exam1.asm 文件
了。
双击exam1.asm
文件,将文件加入项目,注图2 选择目标
安卓开发教程 pdfCPU 图3 加入文件
法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改之后,最终会得到如图9所示的结果,提示获得了名为exam1.hex的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其它相关的文件,可被用于Keil的仿真与调试,这时可以进入下一步调试的工作。