<meta name="keywords" content="必胜时时彩开户,keywords" /> Keil教程(1) 联系我们

Keil教程(1)

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    质朴的键盘、显示板



 

END


DJNZ      R7,D1

RET


 

生涯该文件,重视必须加上扩台甫(汇编语言源法式模范模范浅易用 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  选择目的 CPU

图 3  加入文件

意,在文件加入项目后,该对话框着实不用

掉落,期待一连加入其它文件,但初学经常 会误以为操作没有告成而再次双击统一文 件,这时间间会泛起如图 4 所示的对话框,提 示你所选文件已在列表中,此时应点击“确 定”,前往前一对话框,然后点击“Close” 便可前往主界面,前往后,点击“Source Group 1”前的加号,会发现 exam1.asm 文 件已在其中。双击文件名,即掀开该源程 序。

2、工程的详细设置


图 4  重复加入文件的弱点

工程培植好以后,还要对工程阻拦进一步的设置,以知足请求。

首先点击左边 Project 窗口的 Target 1,然后应用菜单“Project->Option for target ‘target1’” 即泛起对工程设置的对话框,这个对话框可谓异常严重年夜,共有 8 个页面,要一切弄清可不容 易,幸亏绝年夜部门设置项取默许值就好了。

?
设置对话框中的 Target 页面,如

图 5 所示,Xtal 前面的数值是晶振频 率值,默许值是所选目的 CPU 的最高 可用频率值,关于我们所选的   AT89C51 而言是 24M,该数值与事实

发生的目的代码有关,仅用于软件模

拟调试时显示法式模范模范推行时间。准确设 置该数值可使显示时间与现实所用时间不合,浅易将其设置成与你的硬件

图 5  对目的阻拦设置

所用晶振频率类似,假定没须要明确法式模范模范推行的时间,也能够或许不设,这里设置为 12。

Memory  Model 用于设置 RAM 应用情形,有三个选择项,Small  是一切变量都在单片 机的外部 RAM 中;Compact 是可以应用一页外部扩年夜 RAM,而 Larget  则是可以应用一切 外部的扩年夜 RAM。Code Model 用于设置 ROM 空间的应用,异常也有三个选择项,即 Small 形式,只用低于 2K 的法式模范模范空间;Compact 形式,单个函数的代码量不克不及逾越 2K,一切法式模范模范 可以应用 64K 法式模范模范空间;Larget 形式,可用一切 64K 空间。Use on-chip ROM 选择项,确认

能否仅应用片内 ROM(重视:选中该项着实不会影响最毕天生的目的代码量);Operating  项

是操作系统选择,Keil 供应了两种操作系统:Rtx tiny 和 Rtx full,关于操作系统是另外一个 很年夜的话题了,通常我们不应用任何操作系统,即应用该项的默许值:None(不应用任何 操作系统);Off  Chip   Code  memory 用以一定系统扩年夜 ROM 的地址规模,Off  Chip  xData memory 组用于一定系统扩年夜 RAM 的地址规模,这些选择项必须凭证所用硬件来决议,由 于该例是单片应用,未阻拦任何扩年夜,以是均不重新选择,按默许值设置。

设置对话框中的 OutPut 页面,如图 6 所示,这外面也有多个选择项,其中 Creat Hex file 用于天生可推行代码文件(可以用编程器写入单片机芯片的 HEX 名堂文件,文件的扩台甫 为.HEX),默许情形下该项未被选中,假定要写片做硬件实验,就必须选中该项,这一点是 初学者易忽视的,在此特殊提醒重视。选中 Debug  information 将会发生调试信息,这些信 息用于调试,假定须要对法式模范模范阻拦调试,应被选中该项。Browse  information 是发生浏览信 息,该信息可以用菜单 view->Browse 来检查,这里取默许值。按钮“ Select Folder for objects ”


 

是用来选择事实的目的文件所在的

文件夹,默许是与工程文件在统一 个文件夹中。Name of Executable 用 于指定最毕天生的目的文件的名 字,默许与工程的名字类似,这两 项浅易不须要更改。

工程设置对话框中的其它各页 面与 C51 编译选项、A51 的汇编选 项、BL51 毗连器的毗连选项等用法 有关,这里均取默许值,不作任何


图 6  对输入阻拦控制

修改。以下仅对一些有关页面中经常应用的选项作一个质朴简介。

Listing 标签页用于调剂天生的列表文件选项。在汇编或编译完成后将发生(*.lst)的列 表文件,在毗连完成后也将发生(*.m51)的列表文件,该页用于对列表文件的内容和形式 阻拦详实的调治,其中较量经常应用的选项是“C Compile Listing”下的“Assamble Code”项, 选中该项可以在列表文件中天生 C 语言源法式模范模范所对应的汇编代码。

?
C51 标签页用于对 Keil 的 C51 编译器的编译历程阻拦控制,其中较量经常应用的是“Code Optimization”组,如图 7 所示,该组中 Level 是优化品级,C51 在对源法式模范模范阻拦编译时,可 以对代码多至 9 级优化,默许应用

第 8 级,浅易不用修改,假定在编

译中泛起一些效果,可以降低优化 级别试一试。Emphasis  是选择编 译优先要领,第一项是代码量优化

(最毕天生的代码量小);第二项 是速率优先(最毕天生的代码速率快);第三项是缺省。默许的是速 度优先,可凭证须要更改。


图 7 代码天生控制

设置完成后按确认前往主界面,工程文件培植、设置终了。

3、编译、毗连

?
在设置好工程后,便可阻拦编译、毗连。选择菜单 Project->Build target,对以后工程进 行毗连,假定以后文件已修改,软件会先对该文件阻拦编译,然后再毗连以发生目的代码; 假定选择 Rebuild  All  target  files 将会

对以后工程中的一切文件重新阻拦编


 

译然后再毗连,确保事实临盆的目的 代码是最新的,而 Translate … .项则仅 对该文件阻拦编译,不阻拦毗连。

以上操作也能够或许经由历程工具栏按钮直 接阻拦。图 8 是有关编译、设置的工具

栏按钮,从左到右划分是:编译、编译

毗连、一切重修、阻拦编译和对工程进 行设置。

编译历程当中的信息将涌现在输入窗 口中的 Build  页中,假定源法式模范模范中有语


图 8  有关编译、毗连、项目设置的工具条

图 9  准确编译、毗连以后的效果

法弱点,会有弱点申报泛起,双击该行,可以定位到掉落足的职位,对源法式模范模范重复修改以后, 事实会取得如图 9 所示的效果,提醒取得了名为 exam1.hex 的文件,该文件便可被编程器读 入并写到芯片中,同时还发生了一些其它相关的文件,可被用于 Keil 的仿真与调试,这时间间 可以进入下一法式模范试的使命。