KEIL C51使用说明
C51程序在Keil C51下的调试步骤

C51程序在Keil C51下的调试步骤现在广泛使用的C51集成开发环境是Keil软件。
要使用Keil软件,首先要正确安装Keil软件,该软件的Eval版本可以直接去http://www. 下载,其步骤与一般Windows 程序安装类似,这里就不再赘述了。
Keil软件的详细说明见相关资料,这里仅作简要说明,以便于读者在后面的章节中实际动手调试、仿真程序。
1.建立工作项目文件图1启动Keil μVison2启动Keil μVison2,如果打开后就有打开的文件,单击“Project->Close Project”菜单将其关闭。
单击“File->New... ",打开一个新的文件输入窗口,在这个窗口里输入上述源程序。
输入完毕之后,选择“File-->Save",给这个文件取名保存,取名字的时候必须要加上扩展名,一般C语言程序均以“.c”为扩展名(一定要加扩展名,否则后面添加文件就找不到该文件,这是初学者很容易忘记的),这里将其命名为mytest.c。
图2 建立工程文件单击“Project->New Project...",出现对话框,要求给将要建立的工程起一个名字,这里起名为test,不需要输入扩展名。
单击“保存”按钮,出现第二个对话框,如图3所示:图3 CPU选择窗口这个对话框要求选择工程中所用的单片机型号,这里选择Atmel公司的89S52芯片。
单击ATMEL前面的“+”号,展开该层,单击其中的89S52,然后再单击“确定”按钮,会出现一个对话框,询问是否要将标准的8052启动代码加入工程,单击“是”按钮。
此时,在工程窗口的文件页中出现了“Target 1”,前面有“+”号,单击“+”号展开,可以看到下一层的“Source Group 1 ",需要手动把刚才编写好的源程序加入,方法如下:单击“Source Group 1 ",使其反白显示,然后单击鼠标右键,出现一个下拉菜单,如图4所示。
keil使用教程

tScope51用于对硬件目标板进行调试。
3、监视程序Monitor51
通过串行口,PC机与目标板进行通信,利 用 Monitor51,在PkeCil使机用教上程 显示程序的运行情
Keil C操作界面
编辑状态的操作界面主要由5部分组成: 最上面的菜单栏、菜单栏下面的工具栏、左 边的工程管理窗口、中间的编辑窗口、下面 的输出信息窗口。
重新编译所有的文件并生成应用 11)Translate…:编译当前文件 12)Stop Build:停keil止使用教当程 前的编译过程
2 Keil C操作界面
五、调试(Debug)菜单
1)Start/Stop Debugging: 启动/停止调试模式
2)Go:全速运行 3)Step:跟踪运行 4)Step Over:单步运行 5)Step out of current function:
配置Siemens 的EasyCase 5)Star/Stop Easy-Case:
启动或停止Easy-Case
keil使用教程
2 Keil C操作界面
6)Show File(Line): 用Easy-Case处理当前编辑
的文件 7)Customize Tools Menu…:
将用户程序加入工具菜单。
keil使用教程
这一部分的内容,与选择的CPU有关。
2 Keil C操作界面
七、工具(Tools)菜单
1)Setup PC-Lint…:配置PC-Lint 2)Lint:用PC-Lint处理当前编辑的文件 3)Lint all C Source Files:用PC-Lint处
理当前项目中所有的C文件 4)Setup Easy-Case…:
Keil C51编译器 教程

Source Group 1”
现在,大家可以进行C语言源程序的编写了。 下面以这个程序为例给大家演示一下:
#include <reg51.h> void main(void) { unsigned int i; P2=0x00; for(i=0;i<50000;i++); P2=0xff; for(i=0;i<50000;i++); } //包含文件 //主函数
回到编辑界面后,单击“Target 1”前面的“+” 号,然后在“Source Group 1”上单击右键
然后单击“Add File to Group ‘Source Group 1’” 屏幕如下图所示
选中Test.c,然后单击“Add ”屏幕好下图所示
同与 “ 件 注 所 夹意 增 中到 加 多“ 的了了 源吗一 程?个 序子子 的项项 多的 少多 文 相少
选好单片机的类型点击确认之后会弹出的对话框, 我们点击“否”
完成上一步骤后,屏幕如下图所示
到现在为止,我们还没有编写一句程序,下面开 始编写我们的第一个程序。在下图中,单击“File”菜 单,再在下拉菜单中单击“New”选项
新建文件后屏幕如下图所示
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,首先 保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As” 选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使 用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程 序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。 然后,单击“保存”按钮。
Keil C51编译器
使用教程
keil C51 应用入门

keil C51 应用入门keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编和C 语言的程序设计,界面友好,易学易用。
本章主要介绍keil C51的安装、开发环境和程序调试及仿真方法。
一keil C51软件的安装下面以keil C51 V7.50a版本为例,介绍如何安装keil µVision3集成开发环境。
先安装keil µVision2,然后安装升级版本keil µVision3。
图1-1安装初始化图1-2 安装向导对话框(1)把光盘放入光驱中(假定为F盘),进入F:keil 51V7.50a\setup目录下,这时会看到SETUP.EXE文件,双击该文件即可开始安装。
(2)这时会出现如图1-1所示的安装初始化画面,稍后弹出一个如图1-2所示的安装向导对话框,询问用户是安装、更新还是卸载软件,当然选择第一项“Install Support for Additional Microcontroller Architectures”安装该软件。
(3)单击Next钮,这时会出现如图1-3所示的安装询问对话框,提示用户是安装完全版还是评估版。
如果买了正版的keil C51就可选择Full V ersion,否则选择Eval V ersion。
图1-3 安装询问对话框(4)此后在弹出的几个确认对话框中选择Next,这是会出现如图1-4所示的安装路径设置对话框,默认路径是C:/KEIL。
当然用户可以单击选择适合自己安装的目录。
图1-4 安装路径设置对话框(5)在接下来的询问对话框中选择Next命令按钮加以确认,即可出现如图1-5所示的安装进度指示画面。
(6)接下来就是等待安装。
安装完成后单击Finish加以确认,此时可以在桌面上可看到keil µVision2软件的快捷图标,如图1-6所示。
双击它就可进入keil C51集成开发环境。
keil C51入门教程

第三章 C51语言作者:彭保基 西安交通大学 电信学院 电子2002级 版本:V1.1 写作时间:2004年12月---2005年3月本章主要介绍在Keil 的集成环境下用C 语言编程,并对C51语言与标准的C 语言的异同进行比较。
由于篇幅有限并考虑到读者大部分已经学过标准的C 语言,不再对C 语言进行深入的讲解;如果读者想深入了解和掌握C 语言,则可查阅和参考其他相关资料。
第一节 C51简介汇编语言是编写单片机程序的常用语言之一,很多老的单片机开发者使用汇编语言已经成为了一种习惯;汇编语言编写的程序所生成的代码效率很高,能直接操作硬件,指令的执行速度快。
但其指令系统的固有格式受硬件结构的限制很大,且难于编写与调试,可移植性也差。
随着单片机硬件性能的提高,其工作速度越来越快,因此在编写单片机应用系统程序时,更着重于程序本身的编写效率。
与汇编语言相比,C 语言在功能、结构、可读性和可维护性上有明显的优势,因而易学易用;在开发大型软件时更能体现其高级语言的优势。
因此,近些年来越来越多地人喜欢用C 语言来编写单片机的应用程序。
本章所说的C51语言就是标准C 语言的变种,是标准C 语言的扩展;关于两者的区别,将在下一节中详细的介绍。
第二节 C51与ANSI C 的比较Keil C51编译器是一个完全支持ANSI 标准C 语言的编译器,除了少数关键的地方之外,Keil C51和标准ANSI C 语言是基本类似的;但由于51单片机的特殊性,Keil C51在标准C 语言基础上进行了扩展,使其能够更有效地利用单片机各种有限的资源。
深入理解和掌握C51对标准C 语言的扩展,是学好C51语言的关键。
一、 Keil C51扩展关键字关键字 用 途 说 明bit 声明一个位标量或位类型的函数sbit 位标量声明声明一个可位寻址变量 Sfr 声明一个特殊功能寄存器 Sfr16 特殊功能寄存器声明声明一个16位的特殊功能寄存器 data 直接寻址的内部数据存储器 bdata可位寻址的内部数据存储器idata 间接寻址的内部数据存储器 pdata 分页寻址的外部数据存储器xdata 外部数据存储器 code 存储器类型说明 程序存储器interrupt 中断函数说明 定义一个中断函数 reentrant 再入函数说明 定义一个再入函数 using 寄存器组定义定义芯片的工作寄存器_at_ 绝对定位_task_ alien small compact large存储模式附表3- C51编译器的扩展关键字二、 数据类型Keil C51编译器支持下表列出的数据类型。
KeilC51编译器的控制指令1

第一节 Keil C51编译器的控制指令C51编译器的控制指令分为三类:源文件控制类,目标文件控制类及列表控制类。
1. 源文件控制类NOEXTEND:C51源文件不允许使用ANSI C扩展功能。
DEFINE(DF):定义预处理(在C51命令行)。
2. 目标文件(Object)控制类:COMPACT LARGE SMALL 选编译模式DEBUG(DB) 包含调试信息,以供仿真器或dSCope51使用。
NOAMAKE(NOAM) 禁止AutoMake信息记录NOREGPARMS 禁止用寄存器传递参数OBJECTEXTEND(OE) Object文件包含附加变量类型信息OPTIMIZE(OT) 指定优化级别REGFILE(RF) 指定一个寄存器使用的文件以供整体优化用REGISTERBANK(RB) 指定一个供绝对寄存器访问的寄存器区名SRC 不生成目标文件只生成汇编源文件其它控件不常用。
3. 列表文件(listing)控制类:CODE(CD):向列表文件加入汇编列表LISTINCLUDE(LC):显示indude文件SYMBOLS(SB):列表文件包括模块内所有符号的列表WARNINGLEVEL(WL):选择“警告”级别第二节 dScope51的使用1. dScope51 for Dos总的来说dScope51具有以下特性:●高级语言显示模式●集成硬件环境模拟●单步或“GO”执行模式●存储器、寄存器及变量访问●Watch表达式之值●函数与信号功能下面,具体说明在进入dScope51 for Dos之后,如何实现上述功能,dScope51采用下拉菜单格式和窗口显示控制,共有language、serial、exe、register四个窗口,其中exe为命令行窗口,language为程序窗口,serial为串口窗,register为寄存器窗。
(1) 高级语言显示模式单击主菜单中的“View”,第一栏中的三条命令“Highlevel”、“Mixed”、“Assembly”分别对所装入的程序按照“高级”、“混合级”及“汇编级”三种方式显示,以方便调试使用。
Keil C51 基本使用方法
附录:一、Keil C51工程建立与仿真1、建立一个工程项目,选择芯片并确定选项双击Keil uVision2快捷图标后进入Keil C51开发环境,单击“工程”菜单,在弹出的下拉菜单选中“新工程”选项,屏幕显示为图1。
图1 建立一个工程项目在文件名中输入一个项目名“my-test”,选择保存路径(可在“我的文档”中先建立一个同名的文件夹),单击保存。
在随后弹出的“为目标target选择设备”(Select Device for Target “Target1”)对话框中用鼠标单击Atmel前的“+”号,选择“89C51”单片机后按确定,如图2所示。
图2 选择单片机后按确定选择主菜单栏中的“工程”,选中下拉菜单中“Options for Target ‘Target1’”,出现图3所示的界面。
单击“target”页面,在晶体Xtal(MHz)栏中选择试验板的晶振频率,默认为24MHz,我们讲座试验板的晶振频率为11.0592MHz,因此要将24.0改为11.0592。
然后单击输出“Output”页面,在“建立hex格式文件”前打勾选中,如图3-4。
其它采用默认设置,然后点确定。
图3 选择Target页面图4 选择Output页面2、建立源程序文件单击“文件”菜单,在下拉菜单中选择“新建”,随后在编辑窗口中输入以下的源程序(如图5)。
ORG 0000HLJMP MAINORG 030HMAIN: MOV P0,#00HMOV P1 ,#00HMOV P2 ,#00HMOV P3 ,#00HACALL DELMOV P0 ,#0FFHMOV P1 ,#0FFHMOV P2 ,#0FFHMOV P3 ,#0FFHACALL DELAJMP MAINORG 0200HDEL: MOV R5,#04HF3: MOV R6,#0FFHF2: MOV R7,#0FFHF1: DJNZ R7,F1DJNZ R6,F2DJNZ R5,F3RETEND图5 建立源程序文件程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm格式(如my-test.asm)保存在刚才所建立的一个文件夹中(my-test)。
THKl-C51使用说明书
目录一、THKL-C51仿真器联机和自检的正确操作步骤介绍 (2)二、仿真器复位按钮的作用 (2)三、Keil uVision2仿真软件的使用说明 (3)四、使用T H D P J-1/-2实现k e i l c的在线调试 (21)五、软件仿真 (25)一、THKL-C51仿真器联机和自检的正确操作步骤介绍不要带电插拔串口,以防止由此产生的浪涌电流损坏MAX232通讯芯片,下面的操作顺序可以避免带电插拔:联机正确顺序:插好仿真用串口旋紧固定螺栓>>插上USB电源接口>>连接目标硬件,可以是任何51系统开发板、试验板、工控板、目标板...等等的51硬件系统。
脱机正确顺序:拔下USB电源接口>>拔下仿真用串口。
如果短期内经常要使用仿真功能,无需拔下串口。
因为仿真器在通电瞬间要对系统进行自检,所以在通过USB给仿真系统供电之前,仿真头上不要连有负载。
接通USB电源,自检通过后位于4位拨码开关右侧的 POW LED 指示灯会亮起来,表示自检通过,此时就可以进入的硬件仿真了。
二、仿真器复位按钮的作用在仿真器的右侧下方有一个小的按纽,这个按钮用来给整个仿真器硬件系统复位,什么时候需要按这个按钮呢?设置好KEIL的硬件环境后,在每次点击进入仿真环境之前,需要按一下这个复位按纽,这样KEIL启动后,软件和已复位的硬件仿真器就会顺利联机。
在点击进入仿真环境之后,仿真器完全由KEIL控制,此时不要按这个按钮,否则在仿真过程中系统将会提示联机中断。
如果需要给硬件复位的话,请先点击退出KEIL仿真调试环境。
仿真器使用注意事项:在打开PC机之前请把仿真器和PC机的串口连好。
在联机后,请千万不要带电插拔仿真器和PC机的接口,如果带电插拔仿真器就可能导致接口电路MAX232损坏。
注意插拔的时候仿真器或者PC机至少有一方的电源是断开的。
PC机的串口和并口等接口的最大不便就是不支持热插拔,这也是开发USB接口的根本原因。
KEIL软件的操作步骤(精)
KEIL软件的操作步骤(精)
KEIL软件的操作步骤
1.运行KeiL C51
双击KeiL C51图标,运行软件。
2.建立一个新工程(Project)
对于一次新的程序设计可以建立一个新工程,实际上就是建立一个存放本次工作文件的一个文件夹,按软件提示输入工程文件名。
3.选中Atmel公司的AT89C51
由于我们用的单片机是Atmel公司的AT89C51,所以在KeiL C51中选中AT89C51,以保证KeiL C51调用对应的库文件。
4.编辑汇编程序
可直接在KeiL C51中编写C51程序,也可将其他文本编写的C51程序复制到KeiL C51的文本编辑区中。
5.将汇编程序添加到工程中
将以编写好的C51程序进行保存,注意保存时一定要在文件名后加后缀“.asm”,然后将文件添加到工程中。
6.设置使KeiL C51对C51程序编译后输出“HEX文件”
右键单击工程文件管理窗口中的“工程名”,在右键菜单上选“Options for Target‘工程名’”,在‘Output’选项卡中,选中‘Create HEX File’选项(打上勾),单击确定键,完成设置。
7.对C51程序进行编译
选择菜单或单击编译工具对C51程序进行编译,若编译结果无错误,就可以将HEX文件下载到单片机。
1。
C51程序在Keil C51下的调试步骤
C51程序在Keil C51下的调试步骤现在广泛使用的C51集成开发环境是Keil软件。
要使用Keil软件,首先要正确安装Keil软件,该软件的Eval版本可以直接去http://www. 下载,其步骤与一般Windows 程序安装类似,这里就不再赘述了。
Keil软件的详细说明见相关资料,这里仅作简要说明,以便于读者在后面的章节中实际动手调试、仿真程序。
1.建立工作项目文件图1启动Keil μVison2启动Keil μVison2,如果打开后就有打开的文件,单击“Project->Close Project”菜单将其关闭。
单击“File->New... ",打开一个新的文件输入窗口,在这个窗口里输入上述源程序。
输入完毕之后,选择“File-->Save",给这个文件取名保存,取名字的时候必须要加上扩展名,一般C语言程序均以“.c”为扩展名(一定要加扩展名,否则后面添加文件就找不到该文件,这是初学者很容易忘记的),这里将其命名为mytest.c。
图2 建立工程文件单击“Project->New Project...",出现对话框,要求给将要建立的工程起一个名字,这里起名为test,不需要输入扩展名。
单击“保存”按钮,出现第二个对话框,如图3所示:图3 CPU选择窗口这个对话框要求选择工程中所用的单片机型号,这里选择Atmel公司的89S52芯片。
单击ATMEL前面的“+”号,展开该层,单击其中的89S52,然后再单击“确定”按钮,会出现一个对话框,询问是否要将标准的8052启动代码加入工程,单击“是”按钮。
此时,在工程窗口的文件页中出现了“Target 1”,前面有“+”号,单击“+”号展开,可以看到下一层的“Source Group 1 ",需要手动把刚才编写好的源程序加入,方法如下:单击“Source Group 1 ",使其反白显示,然后单击鼠标右键,出现一个下拉菜单,如图4所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20.1 工程项目的建立、源程序文件的建立及加载Keil C51软件UVision打开后,程序窗口的左边有一个项目工作区管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这3个标签页分别显示当前项目的文件结构、CPU的寄存器及部分特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件,如果是第一次启动Keil C51,那么这3个标签页全是空的(图20-1)。
图20-1 Keil C51打开后界面20.1.1 建立工程文件在单片机开发项目中,有时有多个的源程序文件,并且还要为项目选择CPU以确定编译、汇编、连接的参数,指定调试的方式等。
为便于管理,Keil C51使用工程项目(Project)的方法,将这些参数设置和所需的所有文件都放在一个工程项目中,只能对工程项目而不能对单一的源程序进行编译(汇编)和连接等操作。
一、先在硬盘上建立一个需保存工程文件的目录(例如在“我的文档” 中建立一个test的文件夹),为便于管理及使用,目录名称可与工程名称一致。
二、1、选择“工程>新工程”菜单(图20-2)。
弹出对话框,要求给将要建立的工程起一个名字,可以在编辑框中输入一个名字(例如test),扩展名不必输入(默认的扩展名为.uv2)。
点击“保存”按钮(图20-3)。
2、随后弹出一个“为目标target选择设备”(Select Device for Target “Target1”)对话框,这个对话框要求选择目标CPU(即你所用单片机开发板芯片的型号),Keil C51支持的CPU很多,我们选择Atmel公司的AT89C51(或AT89S51)芯片,用鼠标单击Atmel前的“+”号,选择“AT89C51(或AT89S51)”单片机后按确定(图20-4)。
随即系统弹出是否拷贝8051启动代码到工程项目并添加到当前项目组的提示(Copy Standard 8051 Startup Code to Project Folder and Add File to Project ?),我们选否。
三、此时,在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”。
图20-2 选择“工程>新工程”菜单界面图20-3 建立新工程界面图20-4 选择单片机型号界面20.1.2 源程序文件的建立使用菜单“文件>新建”或者点击工具栏的新建文件按钮(图20-5),即在右侧打开一个新的文本编辑窗口,在该窗口中可以输入单片机汇编语言源程序或单片机C语言教程源程序(图20-6)。
程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm格式(汇编语言源程序)或.c 格式(C语言源程序)保存在刚才所建立的一个文件夹中(test),这里假设源程序文件名为test.asm(图20-7)。
图20-5 新建源程序文件界面图20-6 打开新的文本编辑窗口图20-7 “另存为” 对话框源程序文件也可以使用任意的文本编辑器编写。
20.1.3 添加文件到当前项目组中这时的工程项目还是一个空的工程,里面什么文件也没有,把刚才单片机学习编写好的源程序test.asm加载进工程。
单击工程管理器中“Target 1”前的“+”号,出现“Source Group1”后再单击,加亮后右击。
在出现的下拉窗口中选择“Add Files to Group‘Source Group1’” (图20-8)。
注意,该对话框下面的“文件类型”默认为C source file(*.c),也就是以C为扩展名的文件,如我们的文件是以asm为扩展名的,那么在列表框中找不到test.asm,要将文件类型改掉。
点击对话框中“文件类型”后的下拉列表,找到并选中“Asm Source File(*.a51,*.asm)”,这样在列表框中就可以找到test.asm文件了(图20-9)。
我们可以在增加文件窗口中选择刚才以asm格式(或c格式)编辑的文件,鼠标单击“ADD”按钮,这时源程序文件便加入到Source Group1这个组里了,随后关闭此单片机培训对话窗口。
点击“ Source Group1”前的“+”号,可以看到test.asm文件已在其中(图20-10)。
双击后,即可打开该源程序。
图20-8 Add Files to Group‘Source Group1’界面图20-9 Add Files to Group‘Source Group1’对话框图20-10 test.asm文件20.2 工程项目的详细设置工程建立好以后,还要对工程进行进一步的设置,以满足要求。
首先点击左边窗口的Target1,然后使用菜单“项目>目标‘target1’选项”即出现对工程设置的对话框,共有8个页面,默认为对象页面(图20-11)。
绝大部分设置项通常可以采用默认值。
图20-11 对象页面20.2.1 对象页面时钟(MHz)后面的数值是晶振频率值,默认值是所选目标CPU的最高可用频率值,对于AT89C51而言是24MHz,而AT89S51是33MHz。
该数值与最终产生的目标代码无关,仅用于单片机学习软件模拟调试时显示程序执行时间。
正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你实际所用的晶振频率相同。
储存器模式用于设置RAM使用情况,有3个选择项,Small:是所有变量都在单片机的内部RAM中。
Compact:变量存储在外部RAM里,使用8位间接寻址。
Large:变量存储在外部RAM里,使用16位间接寻址,可以使用全部外部的扩展RAM。
1.Small:一般使用Small来存储变量,此时单片机开发板优先将变量存储在内部RAM里,如果内部RAM空间不够,才会存到外部RAM中。
pact:Compact的方式要通过程序来指定页的高位地址,编程较复杂,如果外部RAM很少,只有256字节,那么对该256字节的读取就比较快。
如果超过256字节,而且需要不断地进行切换,就较麻烦,Compact模式适用于比较少的外部RAM的情况。
rge:Large模式是指变量会优先分配到外部RAM里。
需要注意的是,3种存储方式都支持内部256字节和外部64KB的RAM。
因为变量存储在内部RAM里,运算速度比存储在外部RAM要快得多,大部分的单片机开发应用都是选择Small 模式。
代码ROM大小用于设置ROM空间的使用,也有3个选择项,Small、Compact及Large。
1.Small:只用低于2K的程序空间,适用于AT89C2051这些芯片,2051只有2K 的代码空间,所以跳转地址只有2KB,编译的时候会使用ACALL AJMP这些短跳转指令,而不会使用LCALL LJMP指令。
如果代码地址跳转超过2K,那么会出错。
pact:单个函数的代码量不能超过2K,整个程序可以使用64K程序空间。
rge:可用全部64K空间,表示程序或子函数代码都可以大到64KB,使用code bank还可以更大。
通常都选用该方式。
选择Large方式速度不会比Small慢很多,所以一般没有必要选择Compact和Small方式。
操作系统选项中,Keil C51提供了两种操作系统:Rtx tiny和Rtx full,通常我们不使用任何操作系统,用该项的默认值:None(不使用任何单片机教材操作系统)。
Use on-chip ROM(0x0-0xFFF)选择项,表示使用片上的ROM (选中该项并不会影响最终生成的目标代码量),该选项取决于单片机应用系统,如果单片机的EA接高电平,则选中这个选项,表示使用内部ROM,如果单片机的EA接低电平,表示使用外部ROM,则不选中该选项。
片外代码(CODE)储存器:表示片外ROM的开始地址和大小,如果没有外接程序存储器,那么不需要填任何数据。
这里假设使用一个片外ROM,地址从0x7000开始,一般填16进制的数,Size(尺寸)为片外ROM的大小。
假设外接ROM的大小为0x2000字节,则最多可以外接3块片外ROM。
片外数据(XDATA)储存器:用于确定系统扩展RAM的地址范围,可以填上外接Xdata外部数据存储器的起始地址和大小,这些选择项必须根据所用硬件来决定。
如果仅仅是89C51单片应用,未进行任何扩展,那么无需设置。
代码分段:是使用Code Banking技术。
Keil C51可以支持程序代码超过64KB 的情况,最大可以有2MB的程序代码。
如果单片机培训代码超过64KB,那么就要使用Code Banking技术,以支持更多的程序空间。
20.2.2 输出页面输出页面中(图20-12),按钮“选择目标(OBJ)目录”是用来选择最终的目标文件所在的文件夹,默认是与工程文件在同一个文件夹中。
图20-12 Output页面“可执行文件名”:设置生成的目标文件的名字,缺省情况下和项目的名字一样。
Create Executable:如果要生成OMF以及HEX文件,一般选中“调试信息”和“浏览信息”。
选中“调试信息”将会产生调试信息,这些信息用于调试,如果需要对单片机论坛程序进行调试,应当选中该项。
“浏览信息”是产生各种信息,该信息可以用菜单“查看” 进行浏览,一般取默认值。
“生成hex文件”用于生成可执行代码文件,默认情况下该项未被选中,如果要烧录芯片做硬件实验,就必须选中该项。
Create Library:选中该项时将生成lib库文件,一般的应用是不生成库文件的。
构造后操作栏中有以下几个设置。
完成时“嘀”一声提示:编译完成之后发出“咚”的声音。
开始调试:马上启动调试(软件仿真或硬件仿真),根据需要来设置,一般是不选中。
运行用户程序#1、运行用户程序#2:这个选项可以设置编译完之后所要运行的其他应用程序(比如有些用户自己编写了51单片机开发板烧写芯片的程序,编译完便执行该程序,将Hex文件写入芯片),或者调用外部的仿真程序。
可根据自己的需要设置。
20.2.3 列表页面列表页面用于调整生成的列表文件选项。
在汇编或编译完成后将产生(*.lst)的列表文件,在连接完成后也将产生(*.m51)的列表文件,该页用于对列表文件的内容和形式进行细致的调节,其中比较常用的选项是“C Compile Listing”下的“汇编代码”项,选中该项可以在列表文件中生成C语言源程序所对应的单片机汇编语言代码(图20-13)。
图20-13 Listing页面20.2.4 C51页面C51页面用于对Keil C51软件的C51编译器的编译过程进行控制(图20-14),其中比较常用的是“代码优化选项”组,该组中级别是优化等级,C51在对源程序进行编译时,可以对代码多至9级优化,默认使用第8级,一般不必修改,如果在编译中出现一些问题,可以降低优化级别再试。