Keil uVision入门2--程序调试入门

合集下载

keil调试程序方法

keil调试程序方法

keil调试程序方法
一、Keil调试程序方法
1、打开Keil,新建工程,在工程目录下,右键选择“添加新建文件”,然后选择“源文件”。

这时会弹出“新建文件对话框”,在文件类型中选择“C文件”。

2、编写C代码,调试程序,为了方便调试,先在程序里加上调试的操作,如“printf”,“getchar”等。

3、如果添加多个C文件时,也可以选择“添加新建文件”,然后选择“工程文件”,在弹出的对话框里输入文件名,然后点击“确定”。

4、编译源代码,编译完成后,查看是否有编译错误,如果没有编译错误,就可以继续下一步。

5、点击编译器的“调试”按钮,它会自动加载要调试的程序,然后就可以进行调试了。

6、在Keil的调试界面上,可以使用鼠标画“断点”,程序运行时,就能自动地停在“断点”处。

7、当一段程序运行完成,可以按F11快捷键,让程序自动运行,或者按“运行”按钮,让程序在断点处暂停,然后再单步执行一行一行调试。

8、Keil调试界面可以编辑程序,也可以查看程序的运行结果,从而可以及时发现程序中的bug。

9、在Keil的调试界面上,可以编辑程序,也可以给变量赋值,从而方便快速地调试程序。

10、当完成调试后,可以按“重新编译”按钮,重新编译整个程序,再查看编译结果,最后保存这个工程,保存文件名为*.uv2文件。

keil2教程2

keil2教程2

Keil 软件实例教程(三)Keil 程序调试窗口上一讲中我们学习了几种常用的程序调试方法,这一讲中将介绍Keil提供各种窗口如输出窗口、观察窗口、存储器窗口、反汇编窗口、串行窗口等的用途,以及这些窗口的使用方法,并通过实例介绍这些窗口在调试中的使用。

一、程序调试时的常用窗口Keil软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows)、观察窗口(Watch&Call Statck Windows)、存储器窗口(Memory Window)、反汇编窗口(Dissambly Window)串行窗口(Serial Window)等。

进入调试模式后,可以通过菜单View下的相应命令打开或关闭这些窗口。

图1是输出窗口、观察窗口和存储器窗口,各窗口的大小可以使用鼠标调整。

进入调试程序后,输出窗口自动切换到Command页。

该页用于输入调试命令和输出调试信息。

对于初学者,可以暂不学习调试命令的使用方法。

1、存储器窗口存储器窗口中可以显示系统中各种内存中的值,通过在Address后的编缉框内输入“字母:数字”即可显示相应内存值,其中字母可以是C、D、I、X,分别代表代码存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间、扩展的外部RAM空间,数字代表想要查看的地址。

例如输入D:0即可观察到地址0开始的片内RAM单元值、键入C:0即可显示从0开始的ROM单元中的值,即查看程序的二进制代码。

该窗口的显示值可以以各种形式显示,如十进制、十六进制、字符型等,改变显示方式的方法是点鼠标右键,在弹出的快捷菜单中选择,该菜单用分隔条分成三部份,其中第一部份与第二部份的三个选项为同一级别,选中第一部份的任一选项,内容将以整数形式显示,而选中第二部份的Ascii项则将以字符型式显示,选中Float项将相邻四字节组成的浮点数形式显示、选中Double项则将相邻8字节组成双精度形式显示。

第一部份又有多个选择项,其中Decimal项是一个开关,如果选中该项,则窗口中的值将以十进制的形式显示,否则按默认的十六进制方式显示。

Keil μVision2仿真软件使用说明

Keil μVision2仿真软件使用说明

Keil μVision2仿真软件使用说明第一部分μVision2集成开发环境μVision2 IDE是德国Keil公司开发的基于Windows平台的单片机集成开发环境,它包含一个高效的编译器、一个项目管理器和一个MAKE工具。

其中Keil C51是一种专门为单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。

1.关于开发环境μVision2的界面如图1-1所示,μVision2允许同时打开、浏览多个源文件。

图1-1 μVision2界面图2.菜单条、工具栏和快捷键下面的表格列出了μVision2菜单项命令,工具栏图标,默认的快捷以及他们的描述。

1)编辑菜单和编辑器命令Edit(如表1-1所示)2)选择文本命令在μVision2中,可以通过按住Shift键和相应的键盘上的方向键来选择文本。

如Ctrl+->可以移动光标到下一个词,那么,Ctrl+Shift+->就是选择当前光标位置到下一个词的开始位置间的文本。

当然,也可以用鼠标来选择文本。

3)项目菜单Project和项目命令Project(如表1-2所示)4)调试菜单Debug和调试命令(如表1-3所示)5)外围器件菜单Peripherals(如表1-4所示)以下为单片机外围器件的设置对话框(对话框的种类及内容依赖于你选择的CPU)6)工具菜单Tool(如表1-5所示)利用工具菜单,可以设置并运行Gimpel PC-Lint、Siemens Easy-Case和用户程序。

通过Customize Tools Menu…菜单,可以添加需要的程序。

3.创建项目实例μVision2包括一个项目管理器,它可以使8x51应用系统的设计变得简单。

要创建一个应用,需要按下列步骤进行操作:●启动μVision2,新建一个项目文件并从器件库中选择一个器件。

●新建一个源文件并把它加入到项目中。

●增加并设置选择的器件的启动代码●针对目标硬件设置工具选项。

keiluvision2怎么仿真?KeiluVision2进行软件仿真调试的方法教程

keiluvision2怎么仿真?KeiluVision2进行软件仿真调试的方法教程

keiluvision2怎么仿真?KeiluVision2进⾏软件仿真调试的⽅法教程在Keil编写好的代码,通过编译后,下载到单⽚机。

我们只能看到两种结果:第⼀实验成功,展现出我们想要的效果;第⼆实验不成功,什么效果都没有看到。

失败的原因是什么,通过硬件测试,我们⽆法看到代码在单⽚机内部⾥⾯如何运⾏、变量是如何传递、变量的变化情况等等。

Keil软件⾥⾯是提供了软件仿真调试功能。

下⾯由我带领⼤家来认识⼀下Keil uVision2进⾏软件仿真调试的⽅法。

keil uvision2 中⽂汉化特别版类型:编程⼯具⼤⼩:10MB语⾔:简体中⽂时间:2013-08-03查看详情Keil uVision2软件仿真调试教程:第⼀步:确认写好的程序能通过编译。

然后点击“Debug”→"Start/Stop Debug Session"进⼊调试模式。

如下图操作所⽰:第⼆步:调出观察窗⼝(⽤来设置要观察变量的设置窗⼝);点击“View”→"Watch&Call Stack Window"。

如下图操所⽰:第三步:弹出的“Watch “窗⼝,如下图所⽰:第四步:在弹出的”Watch“窗⼝中设置要要观察的变量,点击”Watch#1“→双击"type F2 to edit"→输⼊要观察的变量名,在这⾥我要观察的是P11,具体操作如下:第五步:点击”单步调试“按钮,点击⼀次,同时观察”Watch“窗⼝P11变量的变化情况。

如下图所⽰:第六步:再⼀次点击”单步调试“按钮。

同时观察”Watch“窗⼝P11变量的变化情况。

如下图所⽰:教程结束,以上就是关于keil uvision2怎么仿真?Keil uVision2进⾏软件仿真调试的⽅法教程的全部内容,希望⼤家喜欢!如果你觉得这个版本的keil uvision2软件还不错,那就赶快下载使⽤吧!。

51单片机集成开发环境μ Vision2调试程序的使用操作

51单片机集成开发环境μ Vision2调试程序的使用操作

51单片机集成开发环境μ Vision2调试程序的使用操作陈洁【摘要】@@ Keil C51软件是单片机开发系统中普遍支持的开发软件之一.μ Vision2集成开发环境是目前最流行的用于开发80C51系列单片机应用系统的软件.对于单片机的学习者或应用系统开发者来说,不管你是用汇编语言还是C51语言编写的源程序,μ Vision2都可以对源程序进行汇编或编译,生成HEX目标文件,并对程序进行调试.【期刊名称】《电子制作》【年(卷),期】2010(000)006【总页数】6页(P16-21)【作者】陈洁【作者单位】【正文语种】中文Keil C51软件是单片机开发系统中普遍支持的开发软件之一。

μVision2集成开发环境是目前最流行的用于开发80C51系列单片机应用系统的软件。

对于单片机的学习者或应用系统开发者来说,不管你是用汇编语言还是C51语言编写的源程序,μVision2都可以对源程序进行汇编或编译,生成HEX目标文件,并对程序进行调试。

一、认识μVision2环境已经安装了Keil C软件的电脑上,在“开始”/“程序”下就有“”命令,同时在桌面上也会存在一个快捷按钮。

用鼠标左键双击快捷按钮或单击(以下所述“单/双击”均指用鼠表左键,除非说明用右键)“程序”下的μVision2命令,就会启动Keil C软件运行,进入KeilC51 μVision2集成开发环境。

其初始界面如图1所示。

该界面与Windows的通用界面类似,最上面是“标题栏”,接下的是“下拉菜单栏”、“工具栏”,中间左边是“项目工作空间”窗口、右边是“文本编辑” 窗口,下面是“输出窗口”。

其中“项目工作空间”有3个标签页可供选择,它们分别是:文件(Files)、寄存器(Regs)、帮助文档(Books)。

它们分别显示当前项目的文件结构、CPU寄存器及部分特殊功能寄存器的值、所选CPU的附加说明文件。

“输出窗口”也有3个标签页:创建(Build)、命令(command)、文件查找(Find in Files)。

Keil_uVision2使用教程

Keil_uVision2使用教程

Keil uVision2 的使用Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。

这里我们仅仅介绍 Keil uVision2 的简单使用,更详细的使用方法见本光盘\单片机软件\Keil c51\Keil书籍与资料目录中的内容。

keil C51 v6.12 的安装:先运行光盘中单片机软件\setup\setup.exe安装程序,选择安装“Eval Version”版进行安装。

一直点击“Yes”或“Next”,直到“Finish”完成。

之后运行同目录中的Keil uv2 汉化安装.exe安装汉化程序。

安装好后,在桌面上会产生快捷图标,如下图:keil C51 v6.12 的使用:点击桌面快捷图标,可以直接进入主画面:现在,我们来做个实际程序,请跟着我一步一步学着做,实际体验一下从编辑源程序到程序调试的全过程。

这里让我们做一个让单片机 P0 口所驱动的 LED 灯隔一个亮隔一个灭的程序。

在Keil系统中,每做个独立的程序,都视为工程(或者叫项目)。

首先从菜但的“工程”中“新建工程...”,建立我们将要做的工程项目:新建的工程要起个与工程项目意义一致的名字,可以是中文名;我们这里的程序是实验测试程序,所以起的名字为 Test ,并将 Test 工程“保存”到C:\Keil下:接下来,Keil环境要求我们为 Test 工程选择一个单片机型号;我们选择Atmel 公司的 89C51(虽然我们使用的是89S51,但由于89S51与89C51内、外部结构完全一样,所以这里依然选择“89C51”)。

“确定”后工程项目就算建立了。

立了工程项目,肯定要实施这个工程,现在就为工程添加程序;点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。

在这里你可以进行编辑、修改等操作。

根据题意,在文档中写入下列代码:(下列代码你暂时不要管什么意思,只要照抄正确就可以,今后在学习汇编时你会明白的)mov p0,#01010101B ;将01010101二进制代码送P0口ajmp $ ;程序在此原地踏步end ;程序结束标志写完后再检查一下,并保存文件,保存文件时,其文件名最好与前面建立的工程名相同(当然这里为 Test 了),其扩展名必须为 .Asm!“文件名”中一定要写全,如:Test.Asm;保存后的文档彩色语法会起作用,将关键字实行彩色显示:保存了Asm文件后,还要将其添加到工程中。

Keil_uVision2_开发环境入门

Keil_uVision2_开发环境入门

实验一Keil uVision2 开发环境入门一、实验目的1、初步熟悉Keil uVision2开发环境的使用;2、了解汇编语言程序设计和调试方法。

二、实验内容1、存储块清零程序设计。

指定内部RAM中某块的起始地址和长度,要求能将其内容清零。

2、二进制到BCD转换。

将给定的一个单字节二进制数,转换成非压缩的二—十进制(BCD)码。

三、实验流程图1、存储块清零程序流程图;2、二进制到BCD转换流程图;四、实验步骤(一)存储块清零1、打开Keil uVision2开发环境;2、新建一个文件:File→New;3、根据实验要求输入代码如下:ORG 000HAJMP MAINORG 30HMAIN:MOV R0,#20H ;将起始地址存入R0中MOV A,#00H ;A赋值00HHERE:MOV @R0,#00H ;将R0中内容为地址的内容清零INC AINC R0CJNE A,#10H,HERE ;A++与10H相比,相当于制定存储段长度为10H SJMP $END4、保存文件名为“Text3.ASM”并为其建一个工程;Project→New Project→A T89C51→确定→右键Source Group 1→Add Files to Group ” Source Group 1”→将“Text3.ASM”选中加入工程即可。

5、编译→改错→直到编译通过没有错误;6、仿真程序:按钮→按钮→屏幕下方会出现Address工具栏→Address栏中输入如右图→通过改变表中20H到30H地址对应的内容,这三个按钮运行程序,查看内容是否被清零。

(二)二进制到BCD转换1、建立工程和新建文件同(一)中类似2、代码如下:ORG 00H ;程序从00H处开始执行MAIN:MOV A,#0FFH ;将A中内容设为FFH(被除数)MOV B, #100 ;将除数100存入B中DIV AB ;A除以B中内容,A余数B商XCH A,B ;将AB中内容互换MOV 22H,B ;将B中商“2”存入高位地址22H中MOV B,#10 ;将除数10存入B中DIV AB ;A除以B中内容,A余数B商MOV 20H,A ;将A中的余数存入最低地址20H中MOV 21H,B ;将B中的商存入最低地址20H中SJMP $END3、仿真结果如下图:(仿真步骤与(一)类似)五、实验中遇到问题及解决1、开始时设置要清零的存储块长度为80H,但是在运行时发现A的值在加到60H后就无法全程运行了,而是点一次运行键执行一次。

Keil uvision2的使用教程

Keil uvision2的使用教程

Keil_uvision22基本使用教程Keil_uvision一、首先我们要养成一个习惯:最好先建立一个空文件夹,把您的工程文件放到里面,以避免和其他文件混合,如下图先创建了一个名为“Mytest”文件夹:二、点击桌面上的Keil uVisionuVision22图标,启动Keil uVision uVision22:三、点击“project ---New Project”,新建一个工程:四、在弹出的对话框中,选择保存路径与工程名(放在刚才建立的“Mytest”文件夹下,给这个工程取个名后点保存。

五、弹出一个框,在CPU类型下我们找到并选中“Atmel”下的AT89S52。

六、在弹出的对话框中电击“否”:七、以上工程创建完毕,接下来开始建立一个源程序文本:File---New八、点击保存按扭,弹出对话框,输入源程序文件名名称,在这里示例输入“lianxi.ASM”这个名称,同样大家可以随便命名。

注意:如果您用汇编语言,要带后缀名一定是“lianxi.ASM”,如果是C语言,则是“test.c”,然后保存:九、接下来需要把刚创建的源程序文件加入到工程项目文件中去:Target1---Source Group1,然后右键点击Source Group1,弹出选择菜单,选中Add Files to Group‘Source Grouop’。

弹出对话框,首先在文件类型中选中Asm Source File(*.*s*;*.scr; *.a*),然后点击刚才创建的源程序文件(这里为lianxi.ASM),最后在点击Add。

十、在程序编辑空白区写入一个完整的汇编程序程序,编写完成后记得点击保存按扭:十一、最后还要有设置一下:选中Target1,点击鼠标右键,弹出对话框,在Output栏选中Create HEX File,使编译器输出单片机需要的HEX文件,按下图顺序设置:十三、工程项目创建和设置全部完成!点击保存并编译:查看工程文件夹内容:。

Keil uVision入门2--程序调试入门

Keil uVision入门2--程序调试入门

keil教程KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,但是界面是英文的好多初学者看很多教程都是一头雾水,这个相对简单的教程。

KEIL C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品,其效率已经达到了相当搞的程度。

C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。

uVision2 IDE可为它们提供单一而灵活的开发环境。

Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。

下面介绍Keil C51软件的使用方法,这应该算一个入门教程,奉献给大家,本人建议结合HZ-C51 豪智单片机学习板实现边学边用进入Keil C51 后,屏幕如下图所示。

几秒钟后出现编辑界启动Keil C51时的屏幕进入Keil C51后的编辑界面简单程序的调试学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。

下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。

1)建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51 如下图所示,然后点击保存.3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,ke il c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.4)完成上一步骤后,屏幕如下图所示到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。

5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项新建文件后屏幕如下图所示此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。

Keil uVision使用说明(LKMCU)

Keil uVision使用说明(LKMCU)

Keil uVision使用说明本教程将会从最基础的开始,一步步教你建立工程,编辑文件,编译文件,仿真和调试程序...小型51仿真器:仿真器插在试验板1上仿真器插在试验板2上:第一步,请将小型仿真器仿真头端插入目标板IC座上。

将9针串口端插在计算机的串口上,并记住串口号,一般计算机靠上面的一个串口是com1,下面一个是com2。

第二步,给目标板(试验板)接入电源。

(小型仿真器不带电源需从目标板取电)现在,请按一下仿真机的复位键,可以看到仿真机上的灯短暂地亮了一下,持续大约0.3秒左右。

这表明仿真机各方面情况正常,开始进入等待计算机联机状态。

至此,试验的硬件已经准备好了。

现在我们开始进行软件编程。

打开keilC51软件,可以看到以下界面:我们先在D:盘的根目录下建“D:/ c51test”目录,以方便程序的编写和调试,调试过程中产生的文件都将放在这个目录中。

现在开始建立一个工程,点菜单Project/New Project,选择保存在在“D:/ c51test”目录,文件名为keyandled,点保存,如下图:这时,将出现下面的窗口,综合我们现在要编的程序的规模,我们选择最常用的Atmel89C52.这个芯片拥有标准52内核,片内资源在右边的框中有显示。

另:由于仿真机是用来仿真标准的52内核(兼容51内核),对于某些拥有特殊功能的51单片机,并不能仿真它的特殊功能部分,而是只能仿真其中的标准52内核部分。

即使市面上的高级的51仿真机都是如此。

点确定,该页面自动关闭。

现在我们开始建立新的程序文件,点击菜单File/New,将新建立一个新的文本文件,点击File/Save,将这个文件保存为“keyandled.c”。

再点击左边的那个框框里的“Target 1”,左边的“+”号。

将展开“Source Group 1”项,用右键点击“Source Group 1”项,选择“Add Files to Group‘Source Group 1’”,将跳出下面的窗口:选择“ keyandled.c ”文件,点add将keyandled.c文件加入到我们的工程中。

KEIL uvsion 2调试程序方法(简要)

KEIL uvsion 2调试程序方法(简要)

用KEIL uvsion 3软件调试程序的流程和方法(1)用汇编语言或C语言创建源程序使用菜单“File->New”或点击工具栏的新建文件按扭,即可在项目窗口的右侧打开一个新的文本编辑窗口。

编辑完文件后,保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名)。

(2)创建一个项目,从器件库中选择目标器件,配置工具设置点击“Project->New Project…”菜单,出现一个对话框,要求给将要建立的工程起一个名字(默认保存类型为uv3/uv2)下一步,选择目标CPU(即你所用芯片的型号),(先选择生产该CPU的公司,然后点“+”,从下拉列表中即可看到具体的CPU),然后点击“确定”按钮回到主界面。

此时在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程是一个空的工程。

(3)向项目中添加源文件。

右击界面左边项目窗口中的“Source Group1”,选择“Add file to Group” Source Group1“,出现” Add file to Group” Source Group1“对话框。

在对话框下面的”文件类型“改为”*.*“,找到需加入的.asm文件,双击该文件名,即可把该文件加入项目。

(4)设置工程项目点击左边Project窗口中的Target1,然后使用菜单”Project->Options for target “target1”“即出现对工程设置的对话框。

共八个页面,大多数取默认值即可。

选几个比较重要的做下说明:Target页Xtal:晶振频率值,默认值是所选目标CPU的最高可用频率值,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。

正确设置该数值可使用显示时间与实际所使用时间一致,一般将其设置成与你的硬件所用晶振频率相同。

keil调试方法

keil调试方法

如何用Keil uVision 软件调试程序

首先:打开一个已经编译通过的单片机项目
选择Debug下面的Start/Stop Debug Session,可以打开调试、关闭调试
常用的调试按钮
就是Reset ,相当于单片机最简系统的复位按钮, 按下后,所有的系统状态将变成初始状态 这是全速运行,相当于单片机的通电执行。 停止全速运行的按钮。 step into 逐语句;进入并单步执行;单步执行 step over st看不出错在哪里,需要调试
软件仿真
硬件调试
软件仿真选左边,硬件仿真选右边
硬件仿真需要仿真器
两种调试方法比较
软件调试只能通过软件窗口虚拟硬件端 口的电平输出情况。而仿真器可以实现 与单片机一样的功能的硬件连接,从某 种意义上说这个时候仿真器就是一个单 片机。 都可以检测单片机执 行时序下的片内资源 情况。 可以实现断点、全速、 单步、运行到光标等 常规调试手段。 软件调试执行单片机指令的时间无法与 真实的单片机执行时间画上等号。仿真 器则是完全与单片机相同。 软件调试只能是一种初步的,小型工程 的调试,比如一个只有几百上千行的代 码的程序,软件调试能很好的完成,如 果是一个协调系统,可能还需要借助几 个单片机仿真器和相关的仪器才能解决。 软件仿真不需要额外花钱,而硬件需要, 一个仿真器一般都上千元,同时可以仿 真许多种单片机的工作。
执行到断点处
插入断点
汇编窗口
这个是Disassembly Windows,按下后可以把C51 Disassembly 为相应的汇编语言
示范一下:请认真看我操作一遍

Keil_uVision2入门教程

Keil_uVision2入门教程

Keil softwareC51系列微控制器的开发工具uVision2入门教程使用指南Keil Software声明本文档所述信息不属于我公司的承诺范围其内容的变化也不会另行通知本文档所述软件的出售必须经过授权或签订特别协议本文档所述软件的使用必须遵循协议约定在协议约定以外的任何媒体上复制本软件将触犯法律购买者可以备份为目的而做一份拷贝在未经书面许可之前本手册的任何一部分都不允许为了购买者个人使用以外的目的而以任何形式和任何手段(电子的机械的)进行复制或传播版权1997-2001所有者Keil Elektronik GmbH 和 Keil Software公司KeilC51TM和uVision TM是Keil Elektronik GmbH的商标Microsoft R和Windows TM是Microsoft Corporation的商标或注册商标PC R是International Business Machines Corporation的注册商标注意本手册假定你已经熟悉微软操作系统和8051系列产品的硬件和指令集我们尽全力去做来保证这本手册的正确从而保证我们个人公司和在此提及的商标的形象前言这本手册是Keil Software 公司关于8051系列MCU的开发工具的介绍它向新用户和有兴趣的读者介绍本公司的产品这本使用指南包含下列各章第 1 章简介概述并描述了Keil Software 为8051系列MCU提供的不同产品第 2 章安装描述了该如何安装软件以及如何设置工具的操作环境第 3 章开发工具描述了集成有调试器C编译器汇编器的uVision2 IDE的主要特性和用途第 4 章建立应用描述该如何建立项目编辑源文件编译并报告语法错误产生运行代码第 5 章测试程序描述了如何使用Vision2 debugger模拟并测试你的整个应用第 6 章调试功能讨论了扩展uVision2 debugger功能的各种函数第 7 章示例程序提供几个示例程序以说明该如何使用Keil 8051开发工具第 8 章实时操作系统讨论了RTX-51 Tiny版和RTX-51 Full版并提供一个示例程序第 9 章使用片上外围设备描述了如何使用C51编译器访问片上外围设备本章也包括几个应用注意事项第 10 章 CPU和程序启动代码描述了如何为你的应用设置8051CPU第 11 章使用Monitor-51讨论该如何初始化Monitor并把它安装到你的目标板上第 12 章命令参考简单地介绍了Keil 8051开发工具的命令和控制本文档中使用如下约定:举例描述README.TXT黑粗体用来表示执行文件数据文件源文件环境变量和你在命令提示行键入的命令这些文字往往表示你必须按照字面的字符键入如CLS DIRBL51.EXECourier这种形式的字体用来表示在屏幕或打印机上出现的信息.Variables斜体字表示必须由你提供的信息如在语法字符串中的"projectfile"表示你必须提供实际的项目名称少数情况下斜体字也用来表示强调that 省略号表示一个你可以替换的内容ElementsRepeatcode 垂直的省略号用来在源程序列表中表示一段被忽略的程序如 Omitted{(void)V oidmainwhile (1);[Optional Items] 方括号表示命令行或输入域中的可选项如PRINT[(filename)]TEST.CC51{ opt1 | opt2 } 包括在大括号中的被'|'分开的文字表示一组选项必须从中选一Keys以sans serif字体出现的字符表示键盘上实际的键,如:"Press Enter to continue." 中的Enter表示键盘上的回车键.Point 移动鼠标直到光标直到期望的条目上Click 单击鼠标.Drag 鼠标拖动操作.Double-Click 双击鼠标.目录第 1 章简介 .......................................................... ......... ......... ......... (9)手册主题 ...................................................... . (10)本文档的修改 .................................................. . (10)测试版和产品工具包 ............................................ (11)用户类型 ...................................................... .. (11)请求援助 ...................................................... .. (12)软件开发流程 .................................................. .. (13)产品一览 ...................................................... .. (16)第 2 章安装 .......................................................... .. (19)系统要求 ...................................................... .. (19)安装详细信息 .................................................. .. (19)文件的组织结构 ................................................ (20)第 3 章开发工具集成开发环境 (21)uVision2优化C交叉编译器 ........................................... (32)C51宏汇编器 .................................................. .. (49)A51代码连接定位器 ........................................... (51)BL51LIB51库管理器 .................................................. (54)O C51分块目标文件转换器 (55)O H51目标文件到H E X格式的转换器 (55)第 4 章建立应用创建项目 (57)项目对象和文件组 (64)配置对话框 (66)代码分块 (67)u V i s i o n2功能 (69)编写优化代码 (78)技巧 (82)第 5 章测试程序u V i s i o n2调试器 (93)调试命令 (107)表达式 (110)技巧 (126)第 6 章 uVision2的调试功能创建函数 (131)调用函数 (133)函数类型 (133)调试函数与C函数的差异 (147)d S c o p e和u Vi s i o n2调试器的差异 (148)第 7 章示例程序H E L L O你的第一个8051C程序 (150)M E A S U R E一个远端测量系统 (155)第 8 章单片机实时操作系统介绍 (169)单片机实时操作系统技术数据 (173)实时操作系统线程浏览 (174)T R A F F I C小型实时操作系统示例 (176)实时操作系统涉及的调试 (180)第 9 章使用片上外围设备特殊功能寄存器 (183)寄存器组 (184)中断服务程序 (185)中断使能寄存器 (187)并行I/O口 (187)定时/记数器 (189)串行接口 (190)看门狗定时器 (193)数/模转换 (194)模/数转换 (195)低功耗模式 (196)第10章C P U和程序启动代码 (197)第11章使用M o n i t o r-51 (199)警告 (199)硬件和软件要求 (200)串口线 (201)u V i s i o n2M o n i t o r驱动 (201)使用M o n i t o r-51时u Vi s i o n2的限制 (202)使用M o n i t o r-51时的工具配置 (204)M o n i t o r-51配置 (206)冲突的解决 (208)使用M o n i t o r-51调试 (209)第12章命令参考 (211)u V i s i o n2命令行参数 (211)A51/A251宏汇编参数 (212)C51/C251编译器 (213)L51/B L51连接/重定位器 (215)L251连接/重定位器 (216)L I B51/L251库管理命令 (218)O C51分块目标文件转换器 (219)O H51目标文件到H E X格式的转换器 (219)O H251目标文件到H E X格式的转换器 (219)索引 (222)第1章简介感谢您允许Keil Software为您提供8051系列单片机的软件开发工具利用本工具您可以开发所有8051系列单片机的嵌入式应用注意尽管我们在本手册中称它为8051开发工具其实它支持所有的由8051家族派生而来的类型Keil Software 的8051开发工具提供以下程序你可以用它们来编译你的C源码汇编你的汇编源程序连接和重定位你的目标文件和库文件创建HEX文件调试你的目标程序从21页开始的第三章开发工具一章中将对每一个程序进行详细描述Windows应用程序uVision2是一个集成开发环境它把项目管理源代码编辑程序调试等集成到一个功能强大的环境中C51美国标准优化C交叉编译器从你的C源代码产生可重定位的目标文件A51宏汇编器从你的8051汇编源代码产生可重定位的目标文件BL51连接/重定位器组合你的由C51和A51产生的可重定位的目标文件生成绝对目标文件LIB51库管理器组合你的目标文件生成可以被连接器使用的库文件OH51目标文件到HEX格式的转换器从绝对目标文件创建Intel HEX 格式的文件 RTX-51实时操作系统简化了复杂和对时间要求敏感的软件项目在16页的产品一览中将对由这些工具组成的开发套件进行描述它们是为专业开发人员而设计的但所有层次的编程人员都可以用它们来获得8051微控制器的绝大部分应用手册主题本手册讨论的主题有怎样为你的应用选择最好的工具包参照16页的产品一览怎样在你的系统上安装本软件参照16页安装本开发工具的特征页怎样用uVision2IDE创建一个完整的应用57页怎样调试程序怎样用uVision2调试器模拟你的目标硬件93页在C51编译器中该如何访问片上外围设备和8051派生系列产品的特殊功能114页怎样运行示例程序149页注意为了立即开始请参照第二章安装软件然后参照第七章运行示例程序本文档的最后改动本软件和手册最后一刻的变化和修改在RELEASE.TXT中位于\KEIL\UV2和\KEIL\C51\HLP文件夹中花点时间读一下这些文件看看这些变化和修改是否对安装产生影响测试版工具包和产品工具包Software把软件分成两种类型测试版和正式版Keil测试版包括8051工具的测试版本和本用户手册你可以用它们产生目标代码小于2K 字节的应用此套件主要是让你测试我们产品的效力并产生小的应用正式版在16页讨论包括没有限制的8051工具和全套手册(含本手册)正式版套件包含1年的免费技术支持和产品升级升级通过提供用户类型本手册针对三种用户测试用户新用户有经验的用户测试用户是那些还没有购买本软件但已经要求使用测试开发包以进一步了解本工具和本工具的性能的用户测试开发包包括有2K字节目标代码限制的工具和几个为8051MCU 系列产品而创建的应用即使你是一个测试用户你最好也花点时间阅读本手册它解释了怎样安装本软件为你提供本开发工具的初步信息并介绍了示例程序新用户是那些第一次购买本开发工具的用户你所购买的软件为你提供最新的开发工具技术手册和示例程序如果你对8051或本工具比较生疏花点时间学习本手册中描述的示例程序它们为新用户和没有经验的用户快速起步提供了一个指南和帮助有经验的用户是指那些以前已经用过Keil 8051开发工具现在升级到最新版本的用户升级软件产品包含最新的开发工具和示例程序请求援助的全体员工专注于为您提供最好的开发工具和文档资料如果你对本手 KeilSoftware册有建议的话请跟我们联系如果你认为你发现了一个软件上问题请在联系技术支持中心前按下面的步骤做1阅读与你试图完成的工作或任务相关的章节2确定你所用的是最新的版本到核对升级内容以确定你使用的是最新版本3分析所发现的问题确定它是汇编器的问题还是编译器连接器库管理器或其他的开发工具的问题4进一步通过减少你的代码到几行使问题更明确如果你在经过上述步骤后问题仍然存在请你向我们技术支持中心报告请包含你的产品序列号和版本号我们倾向于你通过E-mail的方式发送如果你通过FAX联系请确定包含我们可以与你联系上的你的名字和电话号码(电话和传真)请尽可能详细地描述你所遇到的问题你描述的越详细我们就能越快地找到解决办法如果你能用仅仅一页的代码描述你遇到的问题请把它E-mail给我们如果可能请确定你的问题能够在开发工具上重复出现请避免发送整个应用代码或很长的代码给我们以免延误我们对你的答复注意你总是可以从/support获得技术支持,产品升级,应用笔记和示例程序软件开发流程当你使用Keil Software工具时你的项目开发流程和其它软件开发项目的流程极其相似1创建一个项目从器件库中选择目标器件配置工具设置2用C语言或汇编语言创建源程序3用项目管理器生成你的应用4修改源程序中的错误5测试连接应用一个完整的8051工具集的框图可以最好地表述此开发流程每一个组件在下面详细描述uVision2 IDE集成开发环境集成了一个项目管理器一个功能丰富有错误提示的编辑器 uVision2以及设置选项生成工具在线帮助利用uVision2创建你的源代码并把它们组织到一个能确定你的目标应用的项目中去uVision2自动编译汇编连接你的嵌入式应用并为你的开发提供一个单一的焦点C51编译器和A51汇编器源代码由uVision2 IDE创建并被C51编译或A51汇编编译器和汇编器从源代码生成可重定位的目标文件C51编译器完全遵照ANSI C语言标准支持C语言的所有标准特性另外直接 Keil支持8051结构的几个特性被添加到里面A51宏汇编器支持8051及其派生系列的全部指令集KeilLIB51 库管理器LIB51库管理器允许你从由编译器或汇编器生成的目标文件创建目标库库是一种被特别地组织过并在以后可以被连接重用的对象模块当连接器处理一个库时仅仅那些被使用的目标模块才被真正使用BL51 连接器/定位器连接器/定位器利用从库中提取的目标模块和由编译器或汇编器生成的目标模块 BL51创建一个绝对地址的目标模块一个绝对地址目标模块或文件包含不可重定位的代码和数据所有的代码和数据被安置在固定的存储器单元中此绝对地址目标文件可以用来 写入EPROM或其它存储器件由uVision2调试器使用来模拟和调试由仿真器用来测试程序uVision2 调试器uVision2源代码级调试器是一个理想地快速可靠的程序调试器此调试器包含一个高速模拟器能够让你模拟整个8051系统包括片上外围器件和外部硬件当你从器件库中选择器件时这个器件的特性将自动配置uVision2调试器为你在实际目标板上测试你的程序提供了几种方法安装MON51目标监控器到你的目标系统并且通过Monitor-51接口下载你的程序 利用高级的GDI AGDI接口把uVision2调试器绑定到你的目标系统Monitor-51uVision2调试器支持用Monitor-51进行目标板调试此监控程序驻留在你的目标板的存储器里它利用串口和uVision2调试器进行通信利用Monitor-51uVision2调试器可以对你的目标硬件实行源代码级的调试RTX51实时操作系统RTX51实时操作系统是一个针对8051系列的多任务核RTX51实时内核从本质上简化了对实时事件反应速度要求高的复杂应用系统的设计编程和调试RTX51实时内核是完全集成到C51编译器中的从而方便使用任务描述表和操作系统的连接由BL51连接器/定位器自动控制产品一览Software提供第一流的8051系列开发工具我们把我们的开发工具捆绑到不同的 Keil开发包或工具套件17页的对照表说明了整个Keil Software 8051开发工具每一个套件及其内容描述如下PK51 专业开发套件PK51专业开发套件包括了所有专业开发人员创建和调试复杂8051嵌入式应用系统所要用到的一切工具PK51专业开发套件可以针对所有的8051及其派生系列进行配置使用DK51开发套件DK51开发套件是PK51专业开发套件的精简版本它不包括小型RTX51实时操作系统此套件可以针对所有的8051及其派生系列进行配置使用CA51编译套件CA51编译套件是那些需要C编译器而不需要调试系统的开发人员的最好选择CA51开发包仅仅包含uVision2 IDE uVision2调试器不包括在内此套件可以针对所有的8051及其派生系列进行配置使用A51汇编套件A51汇编套件包括一个汇编器和你创建嵌入式应用所需要的所有功能此套件可以针对所有的8051及其派生系列进行配置使用RTX51 实时操作系统FR51RTX51实时操作系统是一个8051系列MCU的实时内核RTX51 FULL提供RTX51 TINY的所有功能和一些扩展功能并且包括CAN通信协议接口开发套件和工具的对照表利用此表选择你所需要的开发套件.第2章安装本章解释如何设置操作环境以及如何在你的硬盘上安装本软件在开始安装程序之前请确认你的计算机系统符合最小的需求制作一份安装盘的副本系统需求为了取得比较好的运行效果最低的硬件和软件配置必须满足具有奔腾奔腾II或兼容的处理器的个人计算机操作系统为WIN95WIN98WINNT4.0或更高RAM大于16MB20MB 的硬盘空余空间安装详细说明所有的Keil产品都带有一个安装程序安装方便8051开发工具的安装步骤如下插入Keil开发工具光盘从CD浏览界面选择安装软件跟随提示进行安装操作注意当你插入CD时你的计算机可能会自动浏览CD如果没有运行\KEIL\SETUP\SETUP.EXE安装软件文件夹组织结构安装程序复制开发工具到基本目录的各个子目录中默认的基本目录是C:\KEIL下表列出的文件夹结构是包括所有8051开发工具的全部安装信息你的安装信息由你购买的开发套件决定文件夹描述C:\KEIL\C51\ASM 汇编SFR定义文件和模板源程序文件8051工具的执行文件C:\KEIL\C51\BINC:\KEIL\C51\EXAMPLES 示例应用C:\KEIL\C51\RTX51 完全实时操作系统文件C:\KEIL\C51\RTX_TINY 小型实时操作系统文件C编译器包含文件C:\KEIL\C51\INCC编译器库文件启动代码和常规I/O资源C:\KEIL\C51\LIBC:\KEIL\C51\MONITOR 目标监控文件和用户硬件的监控配置C:\KEIL\UV2 普通uVision2文件在本使用指南中我们假定用户采用默认的文件夹结构如果你安装你的软件到一个不同的文件夹你必须调整路径名以适应你的安装第3章开发工具8051开发工具提供数个十分有用的特性可以帮助你快速地成功开发嵌入式应用 Keil这些工具使用简单并保证你达到你的设计目的uVision2 集成开发环境uVision2是一个基于Window的开发平台包含一个高效的编辑器一个项目管理IDE器和一个MAKE工具uVision2支持所有的KEIL 8051工具包括C编译器宏汇编器连接/定位器目标代码到HEX的转换器uVision2通过以下特性加速你的嵌入式系统的开发过程 全功能的源代码编辑器器件库用来配置开发工具设置项目管理器用来创建和维护你的项目集成的MAKE工具可以汇编编译和连接你的嵌入式应用所有开发工具的设置都是对话框形式的真正的源代码级的对CPU和外围器件的调试器高级GDI AGDI接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信与开发工具手册和器件数据手册和用户指南有直接的链接注意uVision2调试器的特性只有PK51和DK51套件具备关于开发环境界面提供一个菜单一个工具条以便你快速选择命令按钮另外还有源代码 uVision2的显示窗口对话框和信息显示uVision2允许同时打开浏览多个源文件菜单条工具条和快捷键菜单条提供各种操作菜单如编辑操作项目维护开发工具选项设置调试程序窗口选择和处理在线帮助工具条按钮允许你快速地执行uVision2命令键盘快捷键你自己可以配置允许你执行uVision2命令下面的表格列出了uVision2菜单项命令工具条图标默认的快捷键以及他们的描述文件菜单和命令File菜单工具条快捷键描述New Ctrl+N 创建新文件Open Ctrl+O 打开已经存在的文件Close 关闭当前文件Save Ctrl+S 保存当前文件Save all 保存所有文件Saveas另外取名保存Device Database 维护器件库Setup设置打印机PrintPrint Ctrl+P 打印当前文件Preview 打印预览Print1-9 打开最近用过的文件Exit 退出uVision2提示是否保存文件编辑菜单和编辑器命令(Edit)菜单工具条快捷键描述Home 移动光标到本行的开始End 移动光标到本行的末尾Ctrl+Home 移动光标到文件的开始Ctrl+End 移动光标到文件的结束Ctrl+<- 移动光标到词的左边Ctrl+-> 移动光标到词的右边Ctrl+A 选择当前文件的所有文本内容Undo Ctrl+Z 取消上次操作Redo Ctrl+Shift+Z 重复上次操作Cut Ctrl+X 剪切所选文本Ctrl+Y 剪切当前行的所有文本Copy Ctrl+C 复制所选文本Paste Ctrl+V 粘贴Indent 将所选文本右移一个制表键的距离Selected TextUnindent 将所选文本左移一个制表键的距离Selected TextBookmarkCtrl+F2 设置/取消当前行的标签ToggleBookmark F2 移动光标到下一个标签处NextGotoPreviousBookmark Shift+F2 移动光标到上一个标签处GotoBookmarks 清除当前文件的所有标签AllClearFind Ctrl+F 在当前文件中查找文本F3 向前重复查找Shift+F3 向后重复查找Ctrl+F3 查找光标处的单词Ctrl+] 寻找匹配的大括号圆括号方括号用此命令将光标放到大括号圆括号或方括号的前面ReplaceCtrl+H 替换特定的字符Find in Files在多个文件中查找/****************************译者注-开始*************************************/ Ctrl+]命令在我的uVision2 2.20a中好象没有作用另外我的uVision2的Edit菜单中还有一个Goto Matching brace 命令在最后功能是选择匹配的一对大括号圆括号或方括号中的内容但是在操作之前你必须把光标置于其中一个括号的旁边前或后都可以但是要注意必须紧靠/****************************译者注-结束*************************************/选择文本命令在uVision2中你可以通过按住Shift键和相应的光标操作键来选择文本如Ctrl+->是移动光标到下一个词那么Ctrl+Shift+->就是选择当前光标位置到下一个词的开始位置间的文本当然你也可以用鼠标来选择文本操作如下要选择鼠标操作任意数量的文本在你要选择的文本上拖动鼠标一个词双击此词一行文本移动鼠标到此行的最左边直到鼠标变成右指向的箭头然后单击多行文本移动鼠标到此行的最左边直到鼠标变成右指向的箭头然后相应拖动一个距形框中的文本按住Alt键然后相应拖动鼠标视图菜单View菜单工具条快捷键描述Status Bar 显示/隐藏状态条File Toolbar 显示/隐藏文件菜单条Build Toolbar 显示/隐藏编译菜单条Toolbar 显示/隐藏调试菜单条DebugWindow 显示/隐藏项目窗口ProjectWindow 显示/隐藏输出窗口OutputSource Browser 打开资源浏览器Window 显示/隐藏反汇编窗口DisassemblyWatch & Call 显示/隐藏观察和堆栈窗口Stack WindowWindow 显示/隐藏存储器窗口MemoryWindow 显示/隐藏代码报告窗口CodeCoveragePerformanceWindow 显示/隐藏性能分析窗口AnalyzerWindow 显示/隐藏字符变量窗口SymbolWindow#1 显示/隐藏串口1的观察窗口Serial#2 显示/隐藏串口2的观察窗口WindowSerialToolbox 显示/隐藏自定义工具条PeriodicUpdate 程序运行时刷新调试窗口WindowMode 显示/隐藏窗口框架模式WorkbookOptions设置颜色字体快捷键和编辑器的选项项目菜单和项目命令Project菜单工具条快捷键描述Project 创建新项目NewImport Vision1Project 转化uVision1的项目Project 打开一个已经存在的项目OpenCloseProject关闭当前的项目Environment 定义工具包含文件和库的路径TargetGroups,Files 维护一个项目的对象文件组和文件 Targets,Device 选择对象的CPUSelectfor TargetRemove从项目中移走一个组或文件.Options Alt+F7 设置对象组或文件的工具选项Extensions 选择不同文件类型的扩展名FileBuild Target F7 编译修改过的文件并生成应用Rebuild Target 重新编译所有的文件并生成应用Translate Ctrl+F7 编译当前文件Stop Build 停止生成应用的过程1-9 打开最近打开过的项目调试菜单和调试命令Debug菜单工具条快捷键描述Start/Stop Ctrl+F5 开始/停止调试模式DebuggingGo F5 运行程序直到遇到一个中断Step F11 单步执行程序遇到子程序则进入over F10 单步执行程序跳过子程序Stepof Ctrl+F11 执行到当前函数的结束outStepCurrent functionESC 停止程序运行StopRunningBreakpoints打开断点对话框Insert/Remove 设置/取消当前行的断点BreakpointEnable/Disable 使能/禁止当前行的断点BreakpointDisable All 禁止所有的断点BreakpointsAll 取消所有的断点KillBreakpointsShow Next 显示下一条指令StatementEnable/Disable 使能/禁止程序运行轨迹的标识Trace RecordingTrace 显示程序运行过的指令ViewRecordsMap打开存储器空间配置对话框MemoryPerformance 打开设置性能分析的窗口AnalyzerAssembly对某一个行重新汇编可以修改汇编代码 InlineEditor编辑调试函数和调试配置文件Function外围器件菜单Peripherals菜单工具条快捷键描述Reset CPU 复位CPUInterrupt, 打开片上外围器件的设置对话框I/O-Ports, 对话框的种类及内容依赖于你选择的CPU Serial,Timer,Converter,A/DConverter,D/AController,I2CController,CANWatchdog工具菜单Tool利用工具菜单你可以配置运行Gimpel PC-Lint Siemens Easy-Case和用户程序通过Customize Tools Menu菜单你可以添加你想要添加的程序更详细的信息请参考72页的Using the Tools Menu菜单工具条快捷键描述PC-Lint配置Gimpel Software的PC-Lint程序SetupLint 用PC-Lint处理当前编辑的文件Lint all C Source Files 用PC-Lint处理你项目中所有的C源代码文件Easy-Case配置Siemens的Easy-Case程序SetupEasy-Case 运行/停止Siemens的Easy-Case程序Start/Stop(Line) 用Easy-Case处理当前编辑的文件FileShowCustomize Tools Menu添加用户程序到工具菜单中软件版本控制系统菜单SVCS用此菜单来配置和添加软件版本控制系统的命令更详细的信息参见76页的Using the SVCS Menu菜单工具条快捷键描述Configure 配置软件版本控制系统的命令Version Control视窗菜单Window菜单工具条快捷键描述Cascade 以互相重叠的形式排列文件窗口Horizontally 以不互相重叠的形式水平排列文件窗口TileVertically 以不互相重叠的形式垂直排列文件窗口TileIcons 排列主框架底部的图标ArrangeSplit 把当前的文件窗口分割为几个1-9 激活指定的窗口对象帮助菜单Help菜单工具条快捷键描述Help topics 打开在线帮助About Vision 显示版本信息和许可证信息有两种操作模式uVision2创建模式让你编译应用中所有的文件以产生执行程序此模式的特性在57页Creating Applications中描述调试模式提供一个非常强劲的调试器你可以用它来调试你的程序此模式的特性在93页Testing Programs中描述在两种模式下你都可以用源文件编辑器来编辑你的源代码。

Keil_uVsion2教程

Keil_uVsion2教程

Keil uVISION2Keil uVISION2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS-51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持、PLM、汇编和C语言的程序设计,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

因此很多开发51单片机应用的工程师或普通的单片机爱好者,都对它十分喜欢。

Keil Cx51 是一个商业的软件,分两个版本,一个是完全版,使用时对生成的机器代码空间不作任何限制,另一个是只能编译2K代码空间的DEMO版软件,基本可以满足一般的个人学习和小型应用的开发。

运行 Keil uVISION2几秒后,出现如图1-1 的屏幕。

一、建立工程(1)点击Project 菜单,选择New Project,如图1-3。

弹出的Windows 文件对话窗口,在“文件名”中输入您的第一个C 程序项目名称(只要符合Windows 文件规则的文件名都行),这里我们用“test”,如图1-4。

图1-3 New Project 菜单图1-4 项目窗口(2)选择器件,根据需要选择相应型号的器件,这里我们选择常用的Ateml 公司的AT89C51。

此时屏幕如图1-5 所示。

点击确定后返回主界面。

图 1-5 器件选择窗口(3)点击“Target1”前面的“+”号,出现下一层的“ Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要把编写好的源程序加入,点击“Source Group1”使其反白显示,然后,点击鼠标右键,出现如图3 所示的下拉菜单。

选中其中的“Add file to Group”Source Group1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型”默认为C source file(*.c),也就是以C 为扩展名的文件,如为汇编文件,需要将文件类型改为“.ASM”。

图 1-6 加入文件(4)如需新建文件,点击图1-7 中1 的新建文件的快捷按钮,在2 中出现一个新的文字编辑窗口,这个操作也可以通过菜单File-New 或快捷键Ctrl+N 来实现。

第十二章Keiluv2软件操作指南

第十二章Keiluv2软件操作指南

Keil uv2软件操作指南1 点击Project(工程)菜单,选择New Project(新工程),在"文件名"中输入您的第一个程序项目名称,假定我们用"test"."保存"后的文件扩展名为uv2这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目.这时会弹出让你选择单片机型号的对话框,我们选择ATMEL---AT89C51。

注意我们实际使用的是89s51, 他们的资源基本是一致的,不必理会。

2汇编源文件的建立: 点击FILE(文件)菜单中的NEW...(新文件)命令新建一个文本编辑窗口,在里面输入一个程序范例如流水灯程序, 然后点击FILE(文件)菜单中的SAVE(保存)命令保存文件,注意必须输入文件的后缀名.asm,例如保存为d:/prog/001.asm(注意不要有中文目录,文件名不超过8个字符, 否则编译不通过!如果您是第一次使用,建议直接保存在c盘的根目录,文件名同样取001.ASM, 不要试图把他保存在桌面/我的文档等等!)3.点击Target 1(目标1)前面的”+”,出现Source Group 1,(源程序组1)选中右键点选”Add files Group Source Group 1”(增加文件到源程序组1)这时选择文件类型为Asm,再选中001.asm文件,再按Add添加,在随后的提示框中按”确定”4.仿真部分采用Mon51协议,在使用之前应必须对软件项目进行如下设置:单击"Project"(工程)菜单,再在下拉菜单中单击"options for target target 1"(目标1属性)在下图中,单击"Target"(目标)输入仿真器的工作频率(12MHz)。

5.选择output(输出)”Create HEX file”(产生hex文件)的选项,以便汇编后生成HEX代码,供编程器使用.6.在"Debug"(调试)中点选"KeilMonitor-51 Driver",同时选中加载代码到仿真器,运行到main0,然后点击设置7单击"Settings"(设置)选择要使用串口(必须和实际相符合,你的计算机可能是COM2或者其他,对此不能确定可以通过察看控制面板\硬件\端口\通讯端口来解决,同时注意电脑上不能够同时运行其他可能占用串口资源的软件例如XLISP下载软件,串口调试软件等等也必须退出,否则将引起冲突,如果您使用的是USB通信方式,那么选择系统分配的虚拟串口号)8.按以下两个向下小箭头的图标进行编译,(或者按F7快捷)编译成功后如会出现下图红箭头所指的文字,表示编译成功!此时就生成了hex文件,同时,有了这个hex文件,我们也可用isp方式烧写到单片机试验)。

keil设置及调试程序的方法

keil设置及调试程序的方法
硬件上机调试设置与方法
设备: 设备:NXP P89C52X2
时钟: 时钟:11.0592 片外代码存储: 片外代码存储: Eprom #1 开始 0x8000 大小 0x4000 片外Idata存储: 片外Idata存储:Ram #1 开始 0xc000 大小 0x4000 存储
使用 Keil Monitor-51 Drive2
设置:串行口COM1或 设置:串行口COM1或COM2
调试程序的方法
单步方式: 单步方式: 步进:跟踪 步进: 步越:单步---子程序当一步执行 步越:单步---子程序当一步执行 连续执行方式: 连续执行方式: 运行 断点连续执行方式: 断点连续执行方式: 1)设置断点 2)执行“运行”命令 执行“运行” 运行到光标处:调试中断最佳方式 运行到光标处: 1)光标指到要停处 2)按“运行到光标处”命令 运行到光标处”
2) 按“运行到光标处”命令后, 运行到光标处”命令后, 按下key1(p3.2/int0)按钮后 PC指针停 按下key1(p3.2/int0)按钮后, PC指针停 按钮后, 到预置光标处, 到预置光标处,说明已经进入中断服务程 中断正常。 序,中断正常。 3)而后,按“运行”命令,连续运行。 而后, 运行”命令,连续运行。
Байду номын сангаас
断点方式调试程序举例
说明: 说明: 1) 断点方式不能调试中断程序。 断点方式不能调试中断程序 不能调试中断程序。 必须按“ 2) 断点方式调试必须按“运行”命令。 断点方式调试必须按 运行”命令。 3) PC指针停到断点处后,可以检查中间结果, PC指针停到断点处后 可以检查中间结果, 指针停到断点处后, 而后,可以继续“运行”或单步执行, 而后,可以继续“运行”或单步执行,直到程序 执行结束。 执行结束。

3KEIL uVISION2学习(二)

3KEIL uVISION2学习(二)

三、建立一个C项目(1)运行KEIL uVISION2 界面如下:(2)点击Project 菜单,选择弹出的下拉式菜单中的New Project,如图1-2。

接着弹出一个标准Windows 文件对话窗口,如下图,在“文件名”中输入您的第一个C 程序项目名称,这里我用“test”,大家随便写一个就是了,只要符合Windows 文件规则的文件名都行。

“保存”后的文件扩展名为uv2,这是KEILuVision2 项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目。

(3)选择所要的单片机,这里我们选择常用的Ateml 公司的AT89C51。

此时屏幕如图1-4 所示。

完成上面步骤后,我们就可以进行程序的编写了。

(4)首先我们要在项目中创建新的程序文件或加入旧程序文件。

如果您没有现成的程序,那么就要新建一个程序文件。

在KEIL 中有一些程序的Demo,在这里我们还是以一个C 程序为例介绍如何新建一个C 程序和如何加到您的第一个项目中吧。

点击图1-5 中1 的新建文件的快捷按钮,在2 中出现一个新的文字编辑窗口,这个操作也可以通过菜单File-New 或快捷键Ctrl+N 来实现。

好了,现在可以编写程序了,光标已出现在文本编辑窗口中,等待我们的输入了。

第一程序嘛,写个简单明了的吧。

下面是经典的一段程序:#include <REG51.H>#include <stdio.h>void main(void){SCON = 0x50; //串口方式1,允许接收TMOD = 0x20; //定时器1 定时方式2TCON = 0x40; //设定时器1 开始计数TH1 = 0xE8; //11.0592MHz 1200 波特率TL1 = 0xE8;TI = 1;TR1 = 1; //启动定时器while(1){printf ("Hello World!\n"); //显示Hello World}}这段程序的功能是不断从串口输出“Hello World!”字符,看看如何把它加入到项目中和如何编译试运行。

keil的调试步骤与方法

keil的调试步骤与方法

keil的调试步骤与方法Keil调试步骤与方法Keil是一款常用的嵌入式开发环境,用于编写和调试嵌入式系统的程序。

在进行嵌入式开发过程中,调试是一个非常重要的环节,它可以帮助开发人员找出程序中存在的问题并进行修复。

本文将介绍Keil的调试步骤与方法,帮助读者更好地进行嵌入式开发与调试。

一、准备工作在使用Keil进行调试之前,我们需要先进行一些准备工作。

首先,我们需要安装Keil软件,并配置好开发板的硬件环境。

其次,我们需要将待调试的程序下载到开发板中,并连接上调试器。

最后,我们需要在Keil中打开待调试的项目文件,以便进行后续的调试操作。

二、设置断点在进行程序调试时,我们常常需要在程序中设置断点,以便在指定位置停下来观察程序的执行情况。

在Keil中,我们可以通过单击代码行号的方式来设置断点。

当程序执行到设置的断点位置时,会自动停下来,以便我们观察相关的变量值和程序执行流程。

三、单步执行单步执行是调试过程中常用的操作之一,它可以使程序以单步的方式执行,以便我们逐行观察程序的执行情况。

在Keil中,我们可以通过点击工具栏上的“单步执行”按钮来进行单步执行操作。

在单步执行过程中,我们可以观察变量的值的变化,以及程序的执行流程,帮助我们找出程序中的问题。

四、观察变量值在调试过程中,我们经常需要观察程序中的变量值,以便判断程序的执行是否符合预期。

在Keil中,我们可以通过“观察窗口”来观察变量的值。

在观察窗口中,我们可以添加需要观察的变量,并在程序执行过程中实时查看其数值的变化。

五、查看寄存器值在嵌入式系统中,寄存器是非常重要的硬件资源,它们直接影响着程序的执行。

在Keil中,我们可以通过“寄存器窗口”来查看寄存器的值。

在寄存器窗口中,我们可以查看各个寄存器的当前值,以便判断程序的执行是否符合预期。

六、调试输出除了观察变量和寄存器的值外,我们还可以通过调试输出来观察程序的执行情况。

在Keil中,我们可以使用printf函数来进行调试输出。

KeiluVision入门2--程序调试入门

KeiluVision入门2--程序调试入门

keil教‎程KEIL C51标准‎C编译器为‎8051微‎控制器的软‎件开发提供‎了C语言环‎境,但是界面是‎英文的好多‎初学者看很‎多教程都是‎一头雾水,这个相对简‎单的教程。

KEIL C51编译‎器的功能不‎断增强,使你可以更‎加贴近CP‎U本身,及其它的衍‎生产品,其效率已经‎达到了相当‎搞的程度。

C 51已被‎完全集成到‎u Visi‎o n2的集‎成开发环境‎中,这个集成开‎发环境包含‎:编译器,汇编器,实时操作系‎统,项目管理器‎,调试器。

uVisi‎o n2 IDE可为‎它们提供单‎一而灵活的‎开发环境。

Keil C51 软件是众多‎单片机应用‎开发的优秀‎软件之一,它集编辑,编译,仿真于一体‎,支持汇编,PLM 语言和C 语言的程序‎设计,界面友好,易学易用。

下面介绍K‎e il C51软件‎的使用方法‎,这应该算一‎个入门教程‎,奉献给大家‎,本人建议结‎合HZ-C51 豪智单片机‎学习板实现‎边学边用进入Keil C51 后,屏幕如下图‎所示。

几秒钟后出‎现编辑界启动Kei‎l C51时的‎屏幕进入Kei‎l C51后的‎编辑界面简单程序的‎调试学习程序设‎计语言、学习某种程‎序软件,最好的方法‎是直接操作‎实践。

下面通过简‎单的编程、调试,引导大家学‎习Keil‎C51软件‎的基本使用‎方法和基本‎的调试技巧‎。

1)建立一个新‎工程单击Pro‎j ect菜‎单,在弹出的下‎拉菜单中选‎中New Proje‎c t选项2)然后选择你‎要保存的路‎径,输入工程文‎件的名字,比如保存到‎C51目录‎里,工程文件的‎名字为C5‎1如下图所示‎,然后点击保‎存.3)这时会弹出‎一个对话框‎,要求你选择‎单片机的型‎号,你可以根据‎你使用的单‎片机来选择‎,ke il c51几乎‎支持所有的‎51核的单‎片机,我这里还是‎以大家用的‎比较多的A‎t mel 的89C5‎1来说明,如下图所示‎,选择89C‎51之后,右边栏是对‎这个单片机‎的基本的说‎明,然后点击确‎定.4)完成上一步‎骤后,屏幕如下图‎所示到现在为止‎,我们还没有‎编写一句程‎序,下面开始编‎写我们的第‎一个程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

keil教程KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,但是界面是英文的好多初学者看很多教程都是一头雾水,这个相对简单的教程。

KEIL C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品,其效率已经达到了相当搞的程度。

C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。

uVision2 IDE可为它们提供单一而灵活的开发环境。

Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。

下面介绍Keil C51软件的使用方法,这应该算一个入门教程,奉献给大家,本人建议结合HZ-C51 豪智单片机学习板实现边学边用进入Keil C51 后,屏幕如下图所示。

几秒钟后出现编辑界启动Keil C51时的屏幕进入Keil C51后的编辑界面简单程序的调试学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。

下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。

1)建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51 如下图所示,然后点击保存.3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,ke il c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.4)完成上一步骤后,屏幕如下图所示到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。

5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项新建文件后屏幕如下图所示此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。

注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。

然后,单击“保存”按钮。

6)回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如下菜单然后单击“Add File to Group …Source Group 1‟” 屏幕如下图所示选中Test.c,然后单击“Add”屏幕好下图所示注意到“Source Group 1”文件夹中多了一个子项“Text1.c”了吗?子项的多少与所增加的源程序的多少相同7)现在,请输入如下的C语言源程序:#include <reg52.h> //包含文件#include <stdio.h> void main(voi d) //主函数{SCON=0x52; TMOD=0x20; T H1=0xf3; TR1=1; //此行及以上3行为PRINTF函数所必须printf(“Hello I am KEIL. \n”); //打印程序执行的信息printf(“I will be your friend.\n”);while(1);}在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。

程序输入完毕后,如下图所示8)在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5),屏幕如下所示9)调试程序:在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果,其结果如下图所示至此,我们在Keil C51上做了一个完整工程的全过程。

但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?10)单击“Project”菜单,再在下拉菜单中单击“ ” 在下图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供下载器软件使用。

把程序下载到AT89S51单片机中。

这还只是一个简单的列子,以后我还会向大家共享keil的学习资料Keil教程(1)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 R OM,可以反复擦写,非常适于做实验。

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,ARL A LCALL DELAY AJMP MAINDELAY: MOV R7,#255D1: MOV R6,#255DJNZ R6,$ 图1 简单的键盘、显示板ENDDJNZ R7,D1RET保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm 或a51 为扩展名),这里假定将文件保存为exam1.asm。

需要说明的是,源文件就是一般的文本文件,不一定使用Keil 软件编写,可以使用任意文本编缉器编写,而且,Keil 的编缉器对汉字的支持不好,建议使用UltraEdit 之类的编缉软件进行源程序的输入。

2、建立工程文件在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil 支持数百种CPU,而这些CPU 的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil 使用工程(Proj ect)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作,下面我们就一步一步地来建立工程。

?点击“Project->New Project… ”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字(设为exam1),不需要扩展名。

点击“保存”按钮,出现第二个对话框,如图 2所示,这个对话框要求选择目标CPU(即你所用芯片的型号),Keil 支持的CPU 很多,我们选择Atmel 公司的89C51 芯片。

点击ATMEL 前面的“+”号,展开该层,点击其中的89C51,然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“ Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Source Group1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,如图3 所示。

选中其中的“Add file to Group”Source Group1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型” 默认为C source file(*.c),也就是以C 为扩展名的文件,而我们的文件是以asm 为扩展名的,所以在列表框中找不到exam1.asm,要将文件类型改掉,点击对话框中“文件类型”后的下拉列表,找到并选中“Asm S ource File(*.a51,*.asm),这样,在列表框中就可以找到exam1.asm 文件了。

双击exam1.asm 文件,将文件加入项目,注图2 选择目标CPU图3 加入文件意,在文件加入项目后,该对话框并不消失,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现如图4 所示的对话框,提示你所选文件已在列表中,此时应点击“确定”,返回前一对话框,然后点击“Close” 即可返回主界面,返回后,点击“Source Group 1”前的加号,会发现exam1.asm 文件已在其中。

相关文档
最新文档