(玩电子) 电子技能学习与研讨
casino
当时方位:单片机教程网 >> 根底教程 >> 阅览文章

Keil教程(1)

作者:佚名   来历:本站原创   点击数:x  更新时刻:2007年09月12日   【字体:

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 文 件已在其间。双击文件名,即翻开该源程 序。

二、工程的具体设置


图 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 代码生成操控

设置完成后按承认回来主界面,工程文件树立、设置结束。

三、编译、衔接

?
在设置好工程后,即可进行编译、衔接。挑选菜单 Project->Build target,对当时工程进 行衔接,假如当时文件已修正,软件会先对该文件进行编译,然后再衔接以发生方针代码; 假如挑选 Rebuild  All  target  files 将会

对当时工程中的一切文件从头进行编


 

译然后再衔接,保证终究出产的方针 代码是最新的,而 Translate … .项则仅 对该文件进行编译,不进行衔接。

以上操作也能够经过东西栏按钮直 接进行。图 8 是有关编译、设置的东西

栏按钮,从左到右别离是:编译、编译

衔接、悉数重建、中止编译和对工程进 行设置。

编译进程中的信息将呈现在输出窗 口中的 Build  页中,假如源程序中有语


图 8  有关编译、衔接、项目设置的东西条

图 9  正确编译、衔接之后的成果

法过错,会有过错报告呈现,双击该行,能够定位到犯错的方位,对源程序重复修正之后, 终究会得到如图 9 所示的成果,提示取得了名为 exam1.hex 的文件,该文件即可被编程器读 入并写到芯片中,一起还发生了一些其它相关的文件,可被用于 Keil 的仿真与调试,这时 能够进入下一步调试的作业。

宣布谈论】【告知老友】【保藏此文】【封闭窗口
上一篇:Keil教程(2)

文章谈论