打印
[经验分享]

Keil软件的使用

[复制链接]
483|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aspoke|  楼主 | 2024-2-17 23:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
鼠标左键双击桌面上的“Keil uVision2”快捷方式图标,如下图所示


即可进入 μVision IDE(集成开发环境)。在此之前,Windows 10 家庭版将会弹出“用户账户控制”页面,我们点击“是”允许“Uv2.exe”程序运行,如下图所示


然后就会弹出一个标准的 Windows 程序窗口。该程序窗口由多个子窗口组成,我们初次进入 μVision IDE 时,只能看到工程管理窗口、源程序窗口和输出窗口。如下图所示
?

左 侧的工程管理窗口有 3 个选项卡:文件、寄存器、文档选项卡;我们刚进入 μVision IDE 时显示的是文件选项卡,显示该工程中的所有文件,如果没有任何工程被打开,这里将没有内容被显示,如上图所示;中间的选项卡是寄存器,在进入程序调试时自 动切换到该窗口,用于显示有关寄存器值的内容,如下图所示
?

第 3 个选项卡是一些帮助文件、电子文档的目录索引,如果遇到疑难问题,可以随时到这里来查找答案。如下图所示
?
图 0-5

1 源文件的建立
μVision IDE 内集成了一个文本编辑器,便于我们在 μVision IDE 中直接进行源程序的输入。
对于汇编或 C 语言,该文本编辑器具有语法高亮功能,即会对关键字进行变色显示。如下图所示
?

在图 0-5 中选择菜单栏的“File-->New...”或者按下快捷键Ctrl+N,在源程序窗口中将出现一个新的文件输入窗口,如下图所示
?

我们可以在该窗口里输入源程序,我们将下面两行程序输入进去
SETB        P1.0
END
如下图所示
?

输入完毕之后,选择菜单栏的“File-->Save”或者按下快捷键Ctrl+S,给该文件命名保存。重命名时必须要加上扩展名,一般汇编程序以".asm"或".a51"为扩展名。我这里重命名为“201.asm”,如下图所示
?

注意:μVision IDE 对于中文的支持不好,有时会出现半个汉字的现象。因此,在书写注释时要小心。建议使用其它编辑器(如notepad--) 来输入源文件。μVision IDE 能自动识别被 IDE 外部软件改变了的源文件,即加果用 μVision IDE 打开了一个文件,而该文件又由其它编辑器编辑并保存,只要切换回 μVision IDE,μVision IDE 就能感知文件已发生变化,并询问是否重新加载。notepad-- 软件也具有同样的功能,两者配合使用非常方便。

2 工程的建立
在 项目开发过程中,除了编写源程序之外,我们还要选择器件——MCU,确定编译/汇编、链接的参数,指定调试的方式等等。为了方便管理和使用,Keil 使用工程(Project)将所需设置的参数和所有文件都配置在一个工程中,我们只能对工程而不能对单一源程序进行编译(汇编)和链接等操作。下面我们就 一起来看一看如何建立和设置工程。
在图 0-5 中选择菜单栏的“Project-->New Project...”,出现“Create New Project(创建新工程)”的对话框,如图 2-1 所示。
?
图 2-1 创建新工程对话框

要求对给工程命名并保存。一般我们把工程建立在与源文件同一个文件夹中,注意不用加扩展名,单击“保存(S)”即可。
进 入下一步,选择目标器件——MCU,如图 2-2 所示。Keil 支持所有 400 余种以 80C51 为内核的单片机系列。我们可以根据需要选择相应的 MCU,这里以选择 Atmel 公司的 89C51 为例。在图 2-2 左侧的“Data base(数据库)”列表框中单击展开“Atmel”供应商名称,逃择其中的“AT89C51”器件;在其右边的“Description:(说明)”显 示区域中有关于该 MCU 特性的一般性描述。单击“确定”按钮即可返回主界面。此时还会询问我们“Copy Standard 8051 Startup Code to Project Folder and Add File to Project(是否将启动代码复制到工程文件夹下,并加入到工程中)”,我们先点击“是(N)”添加进来看看,如下图所示
?
图 2-2 为工程选择目标 MCU

选择好 MCU 回到主界面后,工程管理窗口会出现一些目录信息;但目前这个工程里面还没有任何文件,是一个空的工程,我们需要为这个工程添加文件。
我们单击左侧列表框中目录 Target1 下的 Source Group1 子目录,使其高亮显示;然后右击鼠标,在出现的快捷菜单中选择“Add File to Group 'Source Group1'”,如下图所示
?

Keil 默认加入 C 源文件,因此,在文件浏览框中未显示该文件夹下的汇编文件。如果要加入汇编语言源文件,需单击“文件类型”下拉列表框右侧的下三角按钮,弹出下拉列表,选择“Asm Source file(*.s*;*.src;*.a*)”。如下图所示
?

这时才会将文件夹下的“*.asm”文件显示出来。如下图所示
?

双击要加入的文件名,或者单击要加入的文件名后单击 Add 按钮,都可将该文件加入到工程中。如下图所示
?

文件加入后,添加文件对话框并不会消失,还可加入其它文件到工程中。如果不再需要加入其它文件,单击 Close 按钮,关闭该对话框。如下图所示
?

注意: 由于在文件加入工程中后,添加文件对话框并不会消失,所以刚开使使用该软件时,常会误以为文件没有加入成功。再次双击文件或再次单击 Add 按钮,会出现一个如下图所示对话框,提示该文件已加入,不需要再次加入,此时只要单击“确定”按钮,然后单击 Close 按钮,关闭对话框即可。
?

关闭对话框后回到主界面,刚加入的文件名出现在工程管理器的 Source Group 1 下一级。双击该文件名,即可在右边打开该文件。
?

3 工程的设置
工程新建好后,我们还要对工程进行进一步设置,以便满足每个工程的个性化要求。
单击工程窗口下的 Target 1,使其高亮显示;然后选择菜单栏的“Project-->Options for Target 'Target 1'”,如下图所示
?

弹出对工程设置的对话框。该对话框非常复杂,有 8 个选项卡,但大部分设置项取默认值即可。
设置对话框中 Target 选项卡如下图所示。
?

  • Xtal(MHz):文本框中的数值是晶振频率值,默认值是所选目标 MCU 的最高可用频率值。对于 AT89C51 而言是 24MHz,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。
    ?
  • Memory Model:下拉列表框用于设置 RAM 使用情况,有 3 个选择项:
    ?

    • Small:所有变量都在单片机内部 RAM 中;
    • Compact:可以使用一页外部扩展 RAM;
    • Large:可以使用全部外部扩展 RAM。

  • Code Rom Size:下拉列表框用于设置 ROM 空间的使用,同样也有 3 个选择项:
    ?

    • Small:只用低于 2KB 的程序空间;
    • Compact:单个函数的代码量不能超过 2KB,整个程序可以使用 64KB 程序空间;
    • Large:可用全部 64KB 空间。

  • Operating system:下拉列表框是操作系统选择。
    ?

  Keil 提供了两种操作系统:RTX-51 Tiny 和 RTX-51 Full。如果一个工程不使用操作系统,应取该项的默认值 None(不使用任何操作系统)。
  • Use On-chip ROM(0x0-0xFFF) 复选框用于确认是否仅仅使用片内 ROM(注意:选择该项并不会影响最终生成的目标代码量);
    ?
  • Off-chip Code memory 选项区域用于确定系统扩展 ROM 的地址范围。
    ?
  • Off-chip Xdata memory 选项区域组用于确定系统扩展 RAM 的地址范围。
    ?
  • Code Banking 复选框用于设置代码分组的情况。
    ?

上述选择项必须根据使用的硬件来决定。
设置完毕后,单击 Output 标签进入输出设置选项卡,如下图所示。
?
该页面卡中也有很多内容,其中:
  • Create HEX File 用于生成可执行代码文件。
    ?

  该文件是 Intel HEX 格式文件,扩展名为.HEX,上板验证时可以使用烧录器将其写入单片机芯片内。默认情况下该项未被选中。如果要将可执行代码写入芯片,就必须选择该项。这一点是初学者易疏忽的,在此特别提醒注意。
  • Debug Information 复选框:产生调试信息。
    ?

  如果需要对程序进行调试,应当选择该项。
  • Browse Information 复选框:产生浏览信息。该信息可以用 View-->Browse 来查看。这里取默认值。
    ?
  • Select Folder for Objects... 按钮:送择最终目标文件所在的文件夹。默认是与工程文件在同一个文件夹中。
    ?
  • Name of Executable 文本框:用于指定最终生成的目标文件的名字。默认与工程名字相同。
    ?

上面两项一般不需要更改。
  • Create Library 单选按钮:
    ?

  用于确定是否将目标文件生成库文件。
  • After Make 选项区域:
    ?
    用于确定编译完成之后做的一些工作。

    • 若选择 Beep When Complete,则在建立目标文件完成后响铃通知;
    • 若选择 Start Debugging,则编译完成后自动开始调试;
    • 若选择 Run User Program #1 或 Run User Program #2,则可以自定义编译完成后立即运行某个程序等。

    这组选项可用于提高编程效率,如建立目标文件完毕后自动开始调试或自动调用烧录器程序以写片等。

工程设置对话框中其它各选项卡与 C51 编译选项、A51 汇编选项、BL51 链接器的链接选项等用法有关,这里不作详叙。通常可取默认设置,不必修改。
设置完成后单击“确认”按钮返回主界面,工程文件设置完毕。

4 编译、链接
设置好工程后,即可进行编译、链接。
?

上图是有关编译、链接以及工程设置的工具条。该工具条中各按钮的具体含义如下:
  • 编译或汇编当前文件:若当前文件是汇编语言程序文件,则使用 A51 汇编器对汇编语言源程序进行汇编处理;若当前文件是 C 语言源程序文件,则使用 C51 编译器进行编译处理。得到可浮动地址的目标代码。
  • 建立目标文件:根据汇编或编译得到的目标文件,并调用有关库模块,链接产生绝对地址的目标文件。如果在上次汇编或编译过后又对源程序作了修改,将先对源程序进行汇编或编译,然后再链接。
  • 重建全部目标文件:对工程中所有文件进行重新编译、汇编处理,然后再进行链接以产生目标代码。使用该按钮可以防止由于一些意外情况(如系统日期不正确)而造成的源文件与目标代码不一致。
  • 停止建立:在建立目标文件的过程中,可以单击该按钮停止这一工作。
  • 工程设置:该按钮用于对工程进行设置,其效果如同选择“Project-->Options for Target 'Target 1'”。

以 上建立目标文作的操作也可以通过选择“Project-->Translate...”、“Project-->Build target”、“Project-->Rebuild all target files”和“Project-->Stop build”来完成。
编译过程中的信息将出现在输出窗口中的 Build 页中。如果源程序中有语法错提,则会出现错误文档。双击错误文档行,可以定位到出错的源程序的相应行。
?

右键 STARTUP.A51,选择“Remove File 'STARTUP.A51'”将其从工程中删除
?

再次建立目标文件,最终得到如图所示结果。
?

给出了目标代码量的大小(2字节)、内部 RAM 使用量(8字节)、外部 RAM 使用量(0字节),提示生成了 HEX 格式的文件。在这一过程中,还会生成一些其它文件,产生的目标文件被用于 Keil 的仿真与调试

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

2474

帖子

1

粉丝