Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编语言相比,C语言在功能、结构性、可读性、可维护性上有明显的优势,易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要Windows 7、Windows XP等操作系统。如果使用C语言进行单片机编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会使用户事半功倍。
1. 软件安装与启动
Keil C51集成开发环境的安装比较简单,下面进行简单介绍。先下载软件,双击安装包,进入安装向导界面,如图1.2所示,点击“Next”按钮。
图1.2 安装向导界面
如图1.3所示,勾选“I agree to all the terms of the preceding License Agreement”,点击 “Next”按钮。
如图1.4所示,选择路径(可以默认),点击“Next”按钮。
如图1.5所示,填写用户信息,点击“Next”按钮。
图1.3 同意安装许可协议界面
图1.4 安装路径设置
图1.5 填写用户信息
如图1.6所示,安装过程需要等待两分钟,最后点击“Finish”,如图1.7所示,完成安装。
图1.6 安装过程
图1.7 安装完成确认
Keil C51软件安装完毕后,在桌面上出现Keil C51软件的快捷图标。单击该快捷图标,则启动该软件,出现如图1.8所示的Keil C51界面,图中标出了Keil C51界面各窗口的名称。
图1.8 Keil C51软件开发环境界面
2. 创建工程
编写一个新的应用程序前,首先要建立工程(Project)。
Keil C51用工程管理的方法把一个程序设计中所需要用到的、互相关联的程序链接在同一工程中。这样,打开一个工程时,所需要的关联程序也都跟着进入了调试窗口,方便用户对工程中各个程序进行编写、调试和存储。项目管理便于区分不同工程中所用到的程序文件和库文件,非常容易管理。因此,编写程序前,需要首先创建一个新的工程,操作如下:
(1)在编辑界面下,单击菜单栏中的“工程”(Project),出现下拉菜单,再点击选择“新建μVision工程”(New Project),如图1.9所示。
图1.9 新建工程菜单
(2)单击“新建μVision工程”(New Project)选项后,就会弹出“Create New Project” 窗口,如图1.10所示。在“文件名(N)”中输入一个工程的名称,保存后的文件扩展名为“.uvproj”,即工程文件的扩展名,以后直接单击此文件就可打开先前建立的工程。
图1.10 “Create New Project”窗口
在“文件名(N)”窗口中输入新建工程文件的名字后,选择工程的保存目录,单击“保存(S)”即可,如图1.11所示。
图1.11 新建工程保存目录选择窗口
(3)选择单片机,单击“保存(S)”后,会弹出如图1.12所示的选择单片机窗口,按照提示选择相应的单片机。这里选择“Atmel”目录下的“AT89S52”。
(4)点击“确定”按钮后,会出现如图1.13所示的对话框。如果需要复制启动代码到新建的工程,选择“是”出现图1.14的窗口;如选择单击“否”,图1.14中的启动代码项“SARTUP.A51”,不会出现在对话框中,这时新的工程已经创建完毕。
图1.12 选择单片机窗口
图1.13 是否复制启动代码到工程对话框
图1.14 完成工程的创建
3. 添加用户源程序文件
新的工程文件创建完成后,就需要将用户源程序文件添加到这个工程中。添加用户程序文件通常有两种方式:一种是新建文件;另一种是添加已创建的文件。
1)新建文件
(1)单击图1.8中“新建”快捷按钮,这时会出现如图1.15所示窗口。窗口中会出现一个空白的文件编辑区域,用户可在这里输入程序源代码。
图1.15 建立新文件
(2)单击图1.8中“保存”快捷按钮,保存用户程序文件,这时会弹出如图1.16所示窗口。
图1.16 文件保存对话框
(3)在图1.16“另存为”对话框中,在下拉框中选择新文件的保存目录,将这个新文件与刚才建立的工程保存在同一个文件夹下,然后在“文件名(N)”窗口中输入新建文件的名字“流水灯”,如果使用C51语言编程,则文件名的扩展名应为“.c”。
如果用汇编语言编程,文件扩展名应为“.asm”。完成上述步骤后单击“保存”,此时新文件已创建完成。这个新文件还需添加到刚才创建的工程中,操作步骤如下所示。(www.xing528.com)
2)添加文件
(1)在工程窗口(见图1.8)中,右键单击“源组1”(Source Group 1),选择“添加文件到组‘源组1’”(Add File to‘Source Group 1’)选项,如图1.17所示。
图1.17 添加文件
(2)完成上述操作后,会出现“添加文件到组‘源组1’”对话框,如图1.18所示。在该窗口中选择要添加的文件,这里只有刚刚建立的文件“流水灯.c”,点击这个文件后,单击“添加”(Add)按钮,再单击“关闭”(Close)按钮,文件添加就完成了,这时的项目窗口如图1.19所示,用户程序文件“流水灯.c”已经出现在“源组1”(Source Group 1)目录下了。
图1.18 “添加文件到组‘源组1’”对话框
图1.19 文件已添加到项目中
4. 程序的编译
通过前面的学习,在文件编辑窗口建立了文件“流水灯.c”(或“流水灯.asm”),并且将文件添加到项目中。下面需要将文件进行编译和调试,最终生成可执行的.hex文件,具体步骤如下:
单击快捷按钮中的对当前文件进行编译,这里是以“流水灯.c”文件为例,在图1.20中的输出窗口会出现编译结果的提示信息。
图1.20 文件编译信息
从输出窗口中的提示信息可以看出,程序没有错误。如果程序有误,则认真检查程序,找到错误并改正,改正后再次单击进行编译,直至提示信息显示没有错误为止。
5. 工程的设置
工程创建后,还需对其进一步设置。右键单击工程窗口的“目标1”(Target 1),选择“为‘目标1’设置选项”(Options for Target‘Target 1’)(见图1.21),出现工程设置对话框,如图1.22所示。该对话框下有多个页面,通常需要设置的有两个,一个是“项目”(Target)页面,另一个是“输出”(Output)页面,其余设置取默认值就可。
图1.21 项目参数设置
图1.22 工程设置对话框
1)“项目”页面
(1)时钟(Xtal)(MHz):设置晶振频率值,默认值是所选目标CPU的最高可用频率值,可根据需要重新设置。该设置与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与硬件目标样机所用的频率相同,如果不需要了解程序执行的时间,也可以不设置。
(2)存储模式(Memory Model):设置RAM的存储器模式,有3个选项。
Small:所有变量都在单片机的内部RAM中。
Compact:可以使用1页外部RAM。
Large:可以使用全部外部的扩展RAM。
(3)代码Rom大小(Code Rom Size):设置ROM空间的使用,即程序的代码存储器模式,有3个选项。
Small:只使用低于2 KB的程序空间。
Compact:单个函数的代码量不超过2 KB,整个程序可以使用64 KB程序空间。
Large:可以使用全部64 KB程序空间。
(4)使用片内ROM(Use on-chip ROM):是否仅使用片内ROM选项。
(5)操作系统(Operation System):操作系统选项。Keil提供了两种操作系统:Rtx tiny和Rtx full。通常不选操作系统,所以选用默认项None。
(6)片代码存储(off-chip Code Memory):用以确定系统扩展的程序存储器的地址范围。
(7)片外Xdata存储(off-chip Xdata Memory):用以确定系统扩展的数据存储器的地址范围。
(2)和(3)中的3个选项必须根据所用硬件来决定,如果是最小应用系统,不进行任何扩展,则按默认值设置。
2)“输出”页面
点击窗口的“输出”选项,会出现输出页面,如图1.23所示。
图1.23 Output页面
(1)创建可执行文件(Create HEX File):生成可执行文件代码文件。选择此项后即可生成单片机可以运行的二进制文件(.hex格式文件),文件的扩展名为.hex。
(2)为目标文件选择目录(Select Folder for objects):选择最终的目标文件所在的文件夹,默认与工程文件在同一文件夹中,通常选默认。
(3)执行的名字(Name of Executable):用于指定最终生成的目标文件的名字,默认与工程文件相同,通常选默认。
(4)调试信息(Debug information):将会产生调试信息。这些信息用于调试,如果需要对程序进行调试,应选中该项,其他选项选默认即可。
完成设置后,就可在程序编译时单击快捷按钮,此时会产生如图1.24的提示信息。该信息说明程序占用片内RAM共11字节,片外RAM共0字节,程序存储器共252字节。最后生成的.hex文件名为“1-1.hex”,至此,整个程序编译过程就结束了,生成的.hex文件就可在后面介绍Proteus环境下进行虚拟仿真时,装入单片机运行。
图1.24 hex文件生成的提示信息
下面对用于编译、连接时的快捷按钮、与作简要说明:
(1):建立工程按钮,用来编译、链接当前工程,并产生相应目标文件,如.hex文件。
(2):编译按钮,用于在工程文件有改动时,来重建整个工程,并产生相应的目标文件,如.hex文件。
(3)按钮:重新编译按钮,用于重新编译当前项目中的所有文件,并生成相应的目标程序(.hex文件),供单片机直接下载。主要用在当项目文件有改动时,来全部重建整个项目。因为一个项目不止一个文件,当有多个文件时,可用本按钮进行编译。
用C51编写的源代码程序不能直接使用,需对该源代码程序进行编译,生成可执行的目标代码.hex文件,并加载到Proteus环境下的虚拟单片机中,才能进行虚拟仿真。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。