Transcript Document

第二章
单片机C语言开发环境的建立
Keil C51基本知识


Keil C51是美国Keil Software公司出品的51系列兼容单片
机C语言软件开发系统,与汇编相比,C语言在功能上、结构
性、可读性、可维护性上有明显的优势,因而易学易用。用
过汇编语言后再使用C来开发,体会更加深刻。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试
工具,全Windows界面。另外重要的一点,只要看一下编译
后生成的汇编代码,就能体会到Keil C51生成的目标代码效
率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
Keil C51软件开发结构
目标文件可由LIB51
创建生成库文件,也
可以与库文件一起经
BL51连接定位生成
绝对目标文件(.ABS)。
uVision与Ishell分别是
ABS文件由OH51转换
成标准的Hex文件,以
供调试器dScope51或
tScope51使用进行源
代码级调试,也可由仿
真器使用直接对目标板
进行调试,也可以直接
写入程序存贮器如
然后分别由C51及
EPROM中。
A51编译器编译生
成目标文件(.OBJ)。
C51 for Windows和for
Dos的集成开发环境
(IDE),可以完成编辑、
编译、连接、调试、仿
真等整个开发流程。开
发人员可用IDE本身或
其它编辑器编辑C或汇
编源文件。 图 2-1 C51工具包整体结构
Keil C51工具包的安装
在Windows下直接运行软件安装包,然后选择安装目
录即可。安装完成之后在安装目录下会有下面目录:
文件夹
C:\KEIL\C51\ASM
内容
宏汇编器的源模板及包含文件。
C:\KEIL\C51\BIN
µVision3/C51 工具链的可执行文件。
C:\KEIL\C51\Exampl
例程
es
C:\KEIL\C51\FlashMo
Flash Monitor的配置文件及预配置版本。
n
µVision3/C51在线帮助文档.
C:\KEIL\C51\HLP
C:\KEIL\C51\INC
C编译器的包含文件.
C:\KEIL\C51\ISD51
针对ISD51在系统调试器的文件及预配置版本。
C:\KEIL\C51\LIB
运行时库及CPU启动文件。
C:\KEIL\C51\Mon51 Monitor-51配置文件 (针对传统8051设备)。
C:\KEIL\C51\Mon390 Monitor-390配置文件 (针对Dallas Contiguous 模式) .
C:\KEIL\C51\RtxTiny
RTX51 微型版本2实时操作系统。
Keil C51功能及使用简介
Keil C51功能及使用简介
Project Workspace - Files
源文件创建完后,可以在工程里加入这个文件。在工程里加入源文件,
µVision 3提供了几种方式,例如:可以在Project Workspace – Files页面
选择要加入的文件组,单击鼠标右键打开局部菜单,选择Add Files选项会
打开一个标准的文件对话框,在对话框里选择上面创建的MAIN.C源文件。
Keil C51功能及使用简介
Project Workspace - Group
为CPU配置文件创建一个新文件组是一种好方法。例如:用户在Project–
>Components, Environment, Books…对话框中,使用New (Insert)按钮
可在目标工程中为CPU配置文件加入一个名为Startup Code的文件组。通
过使用按钮Add Files还可将其它源文件加入到工程里。
Keil C51功能及使用简介
Project Workspace - CPU 寄存器
在在Project Workspace -> Regs 页中,列出了CPU的寄存器,选中指定寄
存器并单击,或按F2键便可以出现一个编辑框,从而可以改变此寄存器的
值。
Keil C51功能及使用简介
Project Workspace -手册
在设备数据库里选择一款CPU后,可以在Project Workspace – Books里
打开相应的工具集以及设备的用户手册。大部分用户手册是工具集的一部分,
可以在Keil开发工具的CD-ROM里获得。
Keil C51功能及使用简介
Project Workspace -函数
可以在Project Workspace – 函数里查看到各个文件中的函数。
Keil C51功能及使用简介
Project Workspace - Edit - Configuration - Templates
工程窗口 - Templates页中显示用户定义的文本块 (模板)。先按Ctrl+空格键
然后输入模板名字的几个首字母或者单击模板页面中的条目,可在用户源文
件中插入一个模板。 用户在Edit - Configuration - Templates对话框中可
以定义模板。
Keil C51功能及使用简介
Output Window -编译工程
在Options – Target中包含了创建一个新应用程序所需的所有设置。接下来
的工作是编译链接工程,单击工具栏中Build Target 图标可编译链接工程
文件。如果源程序中存在语法错误,μVision 则会在Output Window>Build 窗口中显示出错误和警告信息。双击提示信息所在行,就会在
μVision3编辑窗口里打开并显示相应的出错源文件,光标会定位在该文件的
出错行上,以方便用户快速定位出错位置。
Keil C51功能及使用简介
Output Window -调试命令
µVision3支持大量命令,可以通过 Output Window – Command Line 键入
命令。根据命令的功能,可以将这些命令分为如下几类:
断点命令
允许创建和删除断点。当遇到一个特定指令时可以使用断点停止程序执行或
执行µVision3 命令或用户函数。
普通命令
可以执行一些混合的调试操作。
存储器命令
显示和改变存储器内容
Keil C51功能及使用简介
Output Window -文本搜索
文本搜索对话框可实现指定文件中的文本搜索。在µVision IDE中,选择
Edit->Find in Files,将弹出下图所示的文本搜索对话框。
Keil C51功能及使用简介
Memory Window内存窗口通过内存窗口可以查看存储器内容。内存窗口可以显示不同的存储域内容,
最多可将四个不同的存储域显示在不同的页中,窗口中的右键菜单可以选择
输出格式。
Keil C51功能及使用简介
Watch & Call Stack Window (观测及调用栈窗口)
Watch窗口用于查看和修改程序中变量的值,并可列出当前函数调用关系。
在程序运行结束后Watch窗口中的内容自动更新。可能通过设置View->
Periodic Window Update来实现程序运行时实时更新变量的值。
Keil C51功能及使用简介
Workspace(工作区)
用于文件编辑、反汇编输出和一些调试信息显示。
Keil C51功能及使用简介
Peripheral Dialogs(外设对话框)
帮助设计者观察片内外围接口的工作状态。
Keil C51菜单说明
菜单命令、工具栏、快捷键
菜单栏提供如下菜单功能:编辑、工程维护、开发工具配置、程序调试、外
部工具控制、窗口选择及操作及在线帮助等。工具栏按钮可以快速执行
µVision 3的命令。
状态栏Status Bar显示了编辑和调试信息。
在View Menu 中可以控制工具栏和状态栏是否显示。
通过键盘快捷键可以快速执行µVision 3的命令,快捷键可以通过菜单命令
Edit – Configuration - Shortcut Key来进行配置。
Keil C51菜单说明
状态栏Status Bar 显示了编辑和调试信息。
Debug Channel : 显示了当前的调试工具;
Execution Time : 显示了执行时间;
Cursor Position : 显示光标位置;
Editor and Keyboard Status Information 显示:
CAP: Caps键有效
NUM: Num 键有效
SCRL: Scroll键有效
OVR: Insert键有效
R/W or R/O: 显示了当前编辑的文件的属性。R/W 表示可读写、R/O表示只
读。
Keil C51菜单说明
File菜单和File命令
Keil C51菜单说明
Edit菜单和Edit命令
Keil C51菜单说明
Edit菜单和Edit命令
Keil C51菜单说明
Edit菜单和Edit命令
Keil C51菜单说明
Edit菜单和Edit命令
选择文本命令
在µVision3中,可以通过按住SHIFT并按住相应的光标键选择文本。例如
Ctrl+Right Arrow可以将光标移动到下一个单词,Shift+Ctrl+Right Arrow
可以选择从光标的当前位置到下一个单词的开始.
同样可以使用鼠标选择文本.
Keil C51菜单说明
View 菜单(视图)
其他工具条工具窗口都可以在这里打开和关闭。
Keil C51菜单说明
View 菜单(视图)
其他工具条工具窗口都可以在这里打开和关闭。
Keil C51菜单说明
View 菜单(视图)
Performance Analyzer。
可以在µVision3中使用性能分析仪将目标程序调整为最佳性能。可以指定程
序中想要分析的部分,性能分析仪会在程序执行期间收集它们的执行统计信
息。针对所分析程序部分,可提供最快的、最慢的和平均的执行时间等信息。
最多可以分析多达256个代码域,性能分析仪会记录每块代码被执行的次数
及每个区域所消耗的全部时间。
区域就是一个简单的地址域。它通常以一个函数的第一条指令为起点,以此
函数最后一条指令为终点。然而,也可以指定目标程序中仅包含几条指令的
一个区域。随着程序的运行,性能分析的结果在性能分析仪窗口中显示。
Keil C51菜单说明
View 菜单(视图)
逻辑分析仪。
µVision3逻辑分析仪可以将指定的变量或VTREGs值的变化以图形方式表示
出来。
Keil C51菜单说明
Project菜单和Project命令
Keil C51菜单说明
Debug菜单和Debug命令
Keil C51菜单说明
Debug菜单和Debug命令
Keil C51菜单说明
Flash菜单
Flash菜单可以配置和运行Flash 编程设备。通过Configure Flash Tools,
可选择并被配置编程工具,细节请参考配置Flash菜单小节。Flash菜单下
的条目如下表所示:
Keil C51菜单说明
Peripherals菜单
外设菜单,可以模拟中断,串口,定时器和IO口的操作。
Keil C51菜单说明
Tool菜单
Tool菜单能够配置和运行Gimpel PC-Lint及自定义程序。通过Tools Customize Tools Menu…,用户程序可以添加到此菜单下。详情请查阅
Run External Programs 。Tool菜单下的条目如下表所示:
(Gimpel软件公司的PC-Lint可以检查应用程序所有模块的C语法和语意错
误。PC-Lint可以标记可能的错误或不一致的、定位不清晰的、错误的或不
合理的代码。因此,PC-Lint可以有效的提高目标应用程序的调试效率。)
Keil C51菜单说明
SVCS菜单
SVCS菜单可以配置及添加SVCS命令。详情请查阅Using the SVCS
Menu.Tool菜单下的条目如下表所示:
(µVision 3为软件版本控制系统SVCS(Software Version Control Systems)
提供了一个可编程的接口,可为Intersolv PVCS、Microsoft SourceSafe、
MKS Source Integrity和Rational Clear Case提供了预配置模板文件。
µVision 3集成的CVS (Concurrent Versions System)是一个遵守GNU GPL
协议的软件版本控制系统,可以自由使用,详细信息请参考应用笔记179:
µVision3可集成的CVS 。)
Keil C51菜单说明
Window 菜单
Keil C51菜单说明
Help菜单