Keil 实例教程1keil 工程文件的建立设重点Word文件下载.docx
《Keil 实例教程1keil 工程文件的建立设重点Word文件下载.docx》由会员分享,可在线阅读,更多相关《Keil 实例教程1keil 工程文件的建立设重点Word文件下载.docx(8页珍藏版)》请在冰点文库上搜索。
![Keil 实例教程1keil 工程文件的建立设重点Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/a943a40a-9fd4-427e-817e-5eef1b44e48f/a943a40a-9fd4-427e-817e-5eef1b44e48f1.gif)
New”或者点击工具栏的新建文件按
钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,
在该窗口中输入以下汇编语言源程序,例1:
MOVA,#0FEH
MAIN:
MOVP1,A
RLA
LCALLDELAY
AJMPMAIN
DELAY:
MOVR7,#255
D1:
MOVR6,#255
DJNZR6,$图1简单的键盘、显示板
DJNZR7,D1
RET
END
保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名,这里假定将文件保存为exam1.asm。
需要说明的是,源文件就是一般的文本文件,不一定使用Keil软件编写,可以使用任意文本编缉器编写,而且,Keil的编缉器对汉字的支持不好,建议使用UltraEdit之类的编缉软件进行源程序的输入。
2、建立工程文件
在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil支持数百种CPU,而这些CPU的特性并不完全相同,确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil使用工程(Project这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编和连接等操作,下面我们就一步一步地来建立工程。
点击“Project->
NewProject…”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字
(设为exam1,不需要扩展名。
点击“保
存”按钮,出现第二个对话框,如图2
所示,这个对话框要求选择目标CPU(即
你所用芯片的型号,Keil支持的CPU
很多,我们选择Atmel公司的89C51芯
片。
点击ATMEL前面的“+”号,展开
该层,点击其中的89C51,然后再点击
“确定”按钮,回到主界面,此时,在
工程窗口的文件页中,出现了“Target
1”,前面有“+”号,点击“+”号展开,
可以看到下一层的“SourceGroup1”,这
时的工程还是一个空的工程,里面什么
文件也没有,需要手动把刚才编写好的源程序加入,点击“SourceGroup1”使
其反白显示,然后,点击鼠标右键,出现一个下
拉菜单,如图3所示。
选中其中的“Addfileto
Group”SourceGroup1”,出现一个对话框,要求
寻找源文件,注意,该对话框下面的“文件类型”
默认为Csourcefile(*.c,也就是以C为扩展名
的文件,而我们的文件是以asm为扩展名的,
所以在列表框中找不到exam1.asm,要将文件类
型改掉,点击对话框中“文件类型”后的下拉列
表,找到并选中“AsmSourceFile(*.a51,*.asm,
这样,在列表框中就可以找到exam1.asm文件
了。
双击exam1.asm
文件,将文件加入项目,注图2选择目标
CPU图3加入文件
意,在文件加入项目后,该对话框并不消
失,等待继续加入其它文件,但初学时常
会误认为操作没有成功而再次双击同一文
件,这时会出现如图4所示的对话框,提
示你所选文件已在列表中,此时应点击“确
定”,返回前一对话框,然后点击“Close”
即可返回主界面,返回后,点击“Source
Group1”前的加号,会发现exam1.asm文
件已在其中。
双击文件名,即打开该源程
序。
二、工程的详细设置
工程建立好以后,还要对工程进行进一步的设置,以满足要求。
首先点击左边Project窗口的Target1,然后使用菜单“Project->
Optionfortarget‘target1’”即出现对工程设置的对话框,这个对话框可谓非常复杂,共有8个页面,要全部搞清可不容易,好在绝大部份设置项取默认值就行了。
设置对话框中的Target页面,如
图5所示,Xtal后面的数值是晶振频
率值,默认值是所选目标CPU的最高
可用频率值,对于我们所选的
AT89C51而言是24M,该数值与最终
产生的目标代码无关,仅用于软件模
拟调试时显示程序执行时间。
正确设
置该数值可使显示时间与实际所用时
间一致,一般将其设置成与你的硬件
所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为12。
MemoryModel用于设置RAM使用情况,有三个选择项,Small是所有变量都在单片机的内部RAM中;
Compact是可以使用一页外部扩展RAM,而Larget则是可以使用全部外部的扩展RAM。
CodeModel用于设置ROM空间的使用,同样也有三个选择项,即Small模式,只用低于2K的程序空间;
Compact模式,单个函数的代码量不能超过2K,整个程序可以使用64K程序空间;
Larget模式,可用全部64K空间。
Useon-chipROM选择项,确认是否仅使用片内ROM(注意:
选中该项并不会影响最终生成的目标代码量;
Operating项是操作系统选择,Keil提供了两种操作系统:
Rtxtiny和Rtxfull,关于操作系统是另外一个很大的话题了,通常我们不使用任何操作系统,即使用该项的默认值:
None(不使用任何操作系统;
OffChipCodememory用以确定系统扩展ROM的地址范围,OffChipxDatamemory组用于确定系统扩展RAM的地址范围,这些选择项必须根据所用硬件来决定,由于该例是单片应用,未进行任何扩展,所以均不重新选择,按默认值设置。
设置对话框中的OutPut页面,如图6所示,这里面也有多个选择项,其中CreatHexfile用于生成可执行代码文件(可以用编程器写入单片机芯片的HEX格式文件,文件的扩展名为.HEX,默认情况下该项未被选中,如果要写片做硬件实验,就必须选中该项,这一点是初学者易疏忽的,在此特别提醒注意。
选中Debuginformation将会产生调试信息,这些信息用于调试,如果需要对程序进行调试,应当选中该项。
Browseinformation是产生浏览信息,该信息可以用菜单view->
Browse来查看,这里取默认值。
按钮“SelectFolderforobjects
”图4重复加入文件的错误
图5对目标进行设置
是用来选择最终的目标文件所在的
文件夹,默认是与工程文件在同一
个文件夹中。
NameofExecutable用
于指定最终生成的目标文件的名
字,默认与工程的名字相同,这两
项一般不需要更改。
工程设置对话框中的其它各页
面与C51编译选项、A51的汇编选
项、BL51连接器的连接选项等用法
有关,这里均取默认值,不作任何
修改。
以下仅对一些有关页面中常用的选项作一个简单介绍。
Listing标签页用于调整生成的列表文件选项。
在汇编或编译完成后将产生(*.lst的列表文件,在连接完成后也将产生(*.m51的列表文件,该页用于对列表文件的内容和形式进行细致的调节,其中比较常用的选项是“CCompileListing”下的“AssambleCode”项,选中该项可以在列表文件中生成C语言源程序所对应的汇编代码。
C51标签页用于对Keil的C51编译器的编译过程进行控制,其中比较常用的是“CodeOptimization”组,如图7所示,该组中Level是优化等级,C51在对源程序进行编译时,可以对代码多至9级优化,默认使用
第8级,一般不必修改,如果在编
译中出现一些问题,可以降低优化
级别试一试。
Emphasis是选择编
译优先方式,第一项是代码量优化
(最终生成的代码量小;
第二项
是速度优先(最终生成的代码速度
快;
第三项是缺省。
默认的是速
度优先,可根据需要更改。
设置完成后按确认返回主界面,工程文件建立、设置完毕。
三、编译、连接
在设置好工程后,即可进行编译、连接。
选择菜单Project->
Buildtarget,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;
如果选择RebuildAlltargetfiles将会
对当前工程中的所有文件重新进行编
译然后再连接,确保最终生产的目标代码是最新的,而Translate….项则仅
对该文件进行编译,不进行连接。
以上操作也可以通过工具栏按钮直
接进行。
图8是有关编译、设置的工具
栏按钮,从左到右分别是:
编译、编译
连接、全部重建、停止编译和对工程进
行设置。
编译过程中的信息将出现在输出窗
口中的Build
页中,如果源程序中有语图8有关编译、连接、项目设置的工具条
图7代码生成控制
图6对输出进行控制
图9正确编译、连接之后的结果
法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改之后,最终会得到如图9所示的结果,提示获得了名为exam1.hex的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其它相关的文件,可被用于Keil的仿真与调试,这时可以进入下一步调试的工作。