Keil C51编程调试教程

Keil C51编程调试教程
Keil C51编程调试教程

Keil C51集成开发环境编程与调试教程

山东师大传媒学院刘新阳编

一、Keil中进行C语言编程的基本步骤

同VC之类的通用C语言集成开发环境(IDE)一样,Keil也采用“工程”(Project)的方式管理源代码及相关文件,这种管理方式为由多个源代码文件组成的大型程序开发提供了方便。不管是最简单的C51程序,还是复杂的多文件程序都需要以下步骤:

1)先建立新的工程文件;

2)在工程中新建源代码文件,或是将已经存在的源代码文件加入工程;

3)编译;

4)调试,修正错误再编译;

5)将生成的二进制文件*.hex烧入单片机。

本教程重点介绍上述前4个步骤。

二、Keil中新建工程的步骤

1. 单击菜单“Project——New uVision Project……”出现新建工程对话框:

在此对话框中选择存放工程各类文件的路径和文件夹,然后为工程的主文件取个名字,以后单击该主文件即可打开这个工程项目。

2. 选择单片机型号

上个窗口关闭后,马上会呈现下面这个窗口,在这里我们要选择所使用的单片机型号。

具体到这里,我们选择Atmel文件夹下的AT89C51。(也可以选择下面的AT89C52、AT89S51或AT89S52)

注意:单击OK后会出现下面这个提示信息:

这里一定要选“否”,即:不需要自动添加起始代码。

完成后,即可看到Keil主界面:

此时可以看到屏幕左侧的“Project”窗口(工程文件管理器)中,Target1下面的Source Group1(源代码文件组1)为空,即现在新建的工程中还不包含任何源代码文件。所以,接下来要做的就是新建源代码文件。

3. 新建源代码文件

单击菜单“File——New……”之后,即可在编辑区看到新建了一个名为text1的文本文件。

单击工具栏上的“保存”(图标为磁盘)按钮,可以在保存文件对话框中选择这个文本文件的保存位置(一般和工程文件保存在同一级文件夹)和文件的主名及扩展名。如果只有一个源代码文件,一般主名命名为工程名,若是C语言源代码,扩展名设置为.c即可。设置为.c扩展名的目的,是为了告诉系统这是C 语言源代码,Keil会进行语法着色。

4. 将源代码文件加入工程

在屏幕左侧的“Project”窗口(工程文件管理器)中,在Source Group 1上单击右键,选择Add Source File to “Source Group 1”菜单项。

在随后弹出的对话框中选择刚才建立的源文件。

注意,这里选中文件单击“Add”后对话框并不消失,可以继续添加多个文件,添加完成后要单击“Close”才能将对话框关闭。

关闭对话框后,可以在“Project”窗口(工程文件管理器)中看到刚才添加

进来的源代码文件:

此时,就可以在右侧的编辑区进行代码的编写了。也可以将已经编写好的代码粘贴进来。

同理,利用“Source Group 1”上的右键菜单也可以将某个文件移除出工程,移除并不是彻底删除掉文件(文件还保留在磁盘上原来的位置),只是将文件排除出工程的编译范围,该文件就不会参与编译了。

5. 设置工程属性

1)单击“Project”窗口中的“Target 1”图标,使其高亮显示(蓝底白字)。

2)单击Project——Options for Target ‘Target 1’ 打开如下窗口。

注意一定要确保步骤1),如果是其他部分处于高亮,则找不到2)中的菜单项。

默认打开的是“Target”选项页,此页面的项目一般保持默认值即可。各个项目的具体含义可参加课本P35。

单击“Output”打开Output选项页:

勾选“Create HEX File”项,这样编译后才会生成用来烧录进单片机的二

进制程序文件(相当于VC中的exe文件),否则只编译而不生成可执行文件。

其他项目可以保持默认,生成的二进制程序文件默认保存在工程文件所在的文件夹中,扩展名为.hex

6. 编译源代码

单击工具栏第2行左起第3个图标“ReBuild all Target Files”,即可启动编译过程(第2个图标也可以,一般在修改了代码后习惯用第3个“重新编译”),若有错误,在下方的信息窗口中会给出提示,若显示“0 Error(s), 0 Warning(s).”(0个错误,0个警告)则意味着编译通过(有时有警告存在也可编译通过,只要错

误为0个即可,但谨慎起见,对警告也应该重视)。

单击工具栏

第2行,左起第3个图标

启动编译

此处为提示信息窗口

这里要特别注意的是,如果Source Group里有多个源代码文件,就像在VC 里面一样,会将多个文件分别编译然后连接(Link)成最后的可执行文件。因此,多个源代码文件中只能有一个main函数。

经常出现类似这样的错误:在调试完一个程序又调试下一个时,没有新建工程,而是新建了一个源代码文件并添加到现有的工程中,也没有把刚才调试的源代码文件移除,这样再编译时便会出错,因为存在2个main函数。

若不想每次都新建工程,可将调试完毕的源代码文件移除出工程,再新建源代码文件调试新的代码。或者将调试完成的代码复制出来另外保存,用待调试的代码覆盖原文件内容即可。

三、基本调试方法

代码中的语法错误可以通过编译器的error信息提示,只要没有语法错误即可通过编译,但只有通过单步执行、设置断点等调试手段,才能快速找出程序中存在的逻辑错误。掌握基本的调试方法,对于我们观察程序的运行过程,理解程序算法思想也是非常重要的。

1. 进入与退出调试状态

单击工具栏第1行中部,红色d字图标(Start/End Debug Session),即可进入调试状态,再次单击该图标即可退出调试状态,对应的快捷键是Ctrl+F5。

2. 单步运行程序

进入调试状态后,第2行工具栏会自动变成“调试工具栏”,代码窗口中的黄色箭头代表下一步要执行的行,刚进入调试状态时黄色箭头指向main函数的第一条执行语句。

上图红线上方(第2行工具栏即调试工具栏)的前5个按钮是最常用的。

第1个按钮为“CPU复位”,相当于按下复位按钮,不管现在程序运行到何处,马上回到程序开始执行之前的状态。

第2个按钮为“全速运行程序”,快捷键F5,即开始正常运行程序,如果连接有仿真器或是联机Proteus软件仿真(具体方法后面讲),则在硬件设备或者Proteus界面上可以看到真实的运行效果(如LED的闪烁)。

第3个按钮为“Stop”,停止程序的运行。因单片机上的程序主体多为死循环,一旦启动不会停止,可以通过此按钮结束程序。也可以直接单击上面的红色

d按钮(Ctrl+F5)直接退出调试状态。

第4个按钮为“单步执行”,快捷键F11,第5个按键也是单步执行,快捷键F10。如果你熟悉VC的调试方法,对这两个快捷键一定不会陌生,这里与VC里的含义完全相同,F10会把函数调用语句当成是一行处理,即不会进入函数内部,如需进入函数内部跟踪调用过程,可按F11。通过这两个按钮的图标(一个箭头指向{}内,一个越过{})也可以很直观地区分。

第6个按钮(图标为从{}内跳出的箭头)的功能是从被调函数返回主程序,对应快捷键为Ctrl+F11,如果单步运行时不想进入函数内部,但误按了F11,可可以用这个功能返回。注意按这个按钮时并不是不再执行被调函数内的语句,而是不再单步执行被调函数内的语句,全速执行完所有剩余的语句,回到调用函数处。

第7个按钮(图标为箭头指向{}),功能是执行到当前光标所在行,快捷键是Ctrl+F10,如果单步执行的过程中想全速执行一段代码(如前面有一个需要运行1000次的循环,如果不用全速运行的话,必须按1000次F10,此时可以将光标定位到该循环的后面,然后按Ctrl+F10)。

3. 监视寄存器、变量及端口的状态

单步执行的目的是为了能跟踪各个变量、寄存器及端口的状态变化,以便找出程序编写中存在的逻辑错误。下面是常用的3种方法:

1)单步执行的过程中,鼠标指向代码中相关变量,会提示其当前值。

2)在左侧的“Register”(寄存器状态)窗口中,可以看到部分特殊功能寄存器的值,如果某个值刚刚被修改,则会高亮显示。

3)打开Peripherial菜单,可以查看各中断、I/O口、串口及定时/计数器的状态,这在调试相关程序时非常有用。

这是单击“Port 0”子菜单后,打开的P0口各位状态的窗口:

第1行显示的是P0口端口寄存器的状态,如果执行了对P0写的语句(如P0=0x00),这里的状态就会发生改变。

第2行显示的是P0端口各对外引脚的状态,默认为全1,当需要模拟外部输入的时候,可以通过单击第2行的相应位进行输入(有勾表示1,无勾表示0)。如现在想模拟P0.0引脚上输入一个低电平,则只需将第2行最右端(第0位)的勾去掉。接下来当程序读取P0.0引脚时,就会读到0。

4. 设置断点

调试程序时如果仅靠单步执行,则显得过于麻烦。特别是对于一些比较大型的程序,我们可能只希望对其中一部分代码仔细跟踪观察,此时可以设置断点。顾名思义,断点就是程序执行到此处就会停下来,这时可以再结合单步执行来仔细追踪调试。

4个断点工具按钮

设置断点的方法:

1)将光标定位于要设置断点的行;

2)单击“设置断点按钮”。该按钮位于工具栏第2行,为启动调试的“红色d”按钮后面的第1个按钮(图标为红色圆点,快捷键为F9)。

如上图所示,当前程序执行到第8行(以黄色箭头指示),当前分别在第10行和第12行设置了2个断点(以红色方块表示,其中12行的断点为白色方块,

表示此断点当前无效,即运行到此处不会停下来)。

如果想取消断点,只需将光标定位到断点行,然后再次单击这个按钮即可。

取消断点是将断点彻底消除掉,不可恢复;如果想暂时不在断点处停止运行,而不是永久消除断点,可以使用第2、第3个按钮将断点设置为暂时无效。

第2、第3个断点按钮(红色圆点图标后面,分别为单个红色圆圈和两个红色圆圈)的功能是将当前光标所在行的断点(第2个按钮)或所有断点(第3个按钮)设置为无效或有效。注意这同样是个乒乓开关,按一下设为无效,再按一下又恢复为有效。

第4个按钮(图标为两个红点和一个黄叉)的功能是删除所有断点,对应的快捷键是Ctrl+Shift+F9。

5. 调试状态下的其他窗口

在调试状态下,除了上面所提到的寄存器窗口、代码窗口外,还可以看到很多其他窗口,这些窗口都可以通过工具栏第2行后半部分的各个按钮打开和关闭。

常用的有以下几个:

Disassembly Window(反编译窗口,对应红线上方第2个按钮,上图中最右上方的窗口):该窗口中显示每一行代码对应的汇编语言指令;

Symbol Window(标识符窗口,对应红线上方第3个按钮,上图中最右下方的窗口):该窗口中显示程序中全部变量、常量及函数的数据类型、存储空间、

地址及当前值。

Memory Window(存储器窗口,对应红线上方第7个按钮),可显示内部RAM、内部ROM及外部ROM等存储的信息。在地址前加D:则显示内部RAM 中的信息,地址前加C:则显示内部ROM(程序存储器)中的信息,地址前加X:则显示外部ROM中的信息。

6. 配置Keil与Proteus联机仿真

在Proteus中绘制好硬件电路图,在Keil中调试运行程序,即可在Proteus 中观察到硬件的运行状态(如LED的闪烁、继电器的动作等),这样可以在不需要实际焊接硬件线路和烧录程序的前提下实现纯软件仿真。

实现Keil与Proteus联机仿真的设置如下:

(一)计算机系统中应该安装有TCP/IP协议(一般操作系统默认安装,任何能正常上网的计算机都满足这个条件),因为两个软件是通过该协议通信的。需要注意的是当出现防火墙的拦截提示时,应该选择“解除阻止”,允许其正常通信。

(二)Keil端的设置

参见前面设置工程属性(第5页)的操作步骤,打开“Options for Target‘Target 1’”菜单,在工程属性窗口中,选择“Debug”标签页:

注意:只有在代码编辑状态才能执行上述操作,若当前正处于调试状态,需退出。

单击选中红色椭圆中的“Use”前的单选钮,并将其后的下拉菜单设置为“Proteus VSM Simulator”,若找不到这一项,可以先关闭Keil,下载一个名为vdmagdi.exe的驱动程序并安装后,再次打开Keil即可。

其他均保持默认,至此,Keil端设置完成。

(三)Proteus端的设置

Proteus端的设置很简单,只需将“Debug”菜单下的“Use Remote Debug Monitor”勾选上即可。

完成上面的设置后,在Keil里面启动调试,并运行程序(单步或全速均可),即可在Proteus里面看到响应。在Keil里停止调试后,Proteus里的仿真运行也会自动停止。

keil c51 详细中文手册

Keil C51使用详解 V1.0 第一章 Keil C51开发系统基本知识 (6) 第一节系统概述 (6) 第二节Keil C51单片机软件开发系统的整体结构 (6)

1. C51 for Dos 7 2. C51 for Windows的安装及注意事项: (7) 第四节Keil C51工具包各部分功能及使用简介 (7) 1. C51与A51. 7 2. L51和BL51. 8 3. DScope51,Tscope51及Monitor51. 8 4. Ishell及uVision. 9 第二章 Keil C51软件使用详解 (10) 第一节Keil C51编译器的控制指令 (10) 1. 源文件控制类 (10) 2. 目标文件(Object)控制类: (10) 3. 列表文件(listing)控制类: (10) 第二节dScope51的使用 (11) 1. dScope51 for Dos 11 2. dScope for Windows 12 第三节Monitor51及其使用 (13) 1. Monitor51对硬件的要求 (13) 2. Mon51的使用 (13) 3. MON51的配置 (13) 4. 串口连接图: (13) 5. MON51命令及使用 (14) 第四节集成开发环境(IDE)的使用 (14) 1. Ishell for Dos的使用 (14) 2. uVision for windows的使用 (15) 第三章 Keil C51 vs 标准C.. 15

第二节内存区域(Memory Areas): (16) 1. Pragram Area: (16) 2. Internal Data Memory: 16 3. External Data Memory. 16 4. Speciac Function Register Memory. 16 第三节存储模式 (16) 1. Small模式 (16) 2. Compact模式 (17) 3. large模式 (17) 第四节存储类型声明 (17) 第五节变量或数据类型 (17) 第六节位变量与声明 (17) 1. bit型变量 (17) 2. 可位寻址区说明20H-2FH.. 18 第七节Keil C51指针 (18) 1. 一般指针 (18) 2. 存储器指针 (18) 3. 指针转换 (18) 第八节Keil C51函数 (19) 1. 中断函数声明: (19) 2. 通用存储工作区 (19) 3. 选通用存储工作区由using x声明,见上例。 (19) 4. 指定存储模式 (19) 5. #pragma disable. 19 6. 递归或可重入函数指定 (19)

单片机Keil C51软件的使用方法

Keil C51软件的使用 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编和C 语言的程序设计,界面友好、易学易用。下面介绍Keil C51软件的使用方法: 1.启动Keil C51,界面如下图。 启动Keil C51时的屏幕 进入Keil C51后的编辑界面 2.建立一个新工程。

(1)单击工程菜单,在弹出的下拉菜单中选中新建工程选项。 (2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51,如下图所示,然后点击保存。 (3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,Keil C51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。

(4)完成上一步骤后,屏幕如下图所示。 (5)单击文件菜单,再在下拉菜单中单击新建选项,屏幕如下图所示。

此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击文件菜单,在下拉菜单中选中另存为选项单击,屏幕如下图所示,在文件名栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。 注意,如果用C语言编写程序,则扩展名为.c;如果用汇编语言编写程序,则扩展名必须为.asm。然后,单击保存按钮。

回到编辑界面后,单击目标1前面的+号,然后在源程序组1上单击右键,弹出如下菜单, 然后单击增加文件到组‘源程序组1’,屏幕如下图所示, 选中c51.asm,然后单击Add,屏幕如下图所示,

Keilc51程序中几种精确延时的方法

Keilc51程序中几种精确延时的方法 单片机因具有体积小、功能强、成本低以及便于实现分布式控制而有非常广泛的应用领域[1]。单片机开发者在编制各种应用程序时经常会遇到实现精确延时的问题,比如按键去抖、数据传输等操作都要在程序中插入一段或几段延时,时间从几十微秒到几秒。有时还要求有很高的精度,如使用单总线芯片DS18B20时,允许误差范围在十几微秒以内[2],否则,芯片无法工作。用51汇编语言写程序时,这种问题很容易得到解决,而目前开发嵌入式系统软件的主流工具为C语言,用C51写延时程序时需要一些技巧[3]。因此,在多年单片机开发经验的基础上,介绍几种实用的编制精确延时程序和计算程序执行时间的方法。 实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行。 1 使用定时器/计数器实现精确延时 单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。最长的延时时间可达216=65 536 μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。 在实际应用中,定时常采用中断方式,如进行适当的循环可实现几秒甚至更长时间的延时。使用定时器/计数器延时从程序的执行效率和稳定性两方面考虑都是最佳的方案。但应该注意,C51编写的中断服务程序编译后会自动加上PUSH ACC、PUSH PSW、POP PSW和POP ACC语句,执行时占用了4个机器周期;如程序中还有计数值加1语句,则又会占用1个机器周期。这些语句所消耗的时间在计算定时初值时要考虑进去,从初值中减去以达到最小误差的目的。 2 软件延时与时间计算 在很多情况下,定时器/计数器经常被用作其他用途,这时候就只能用软件方法延时。下面介绍几种软件延时的方法。 2.1 短暂延时 可以在C文件中通过使用带_NOP_( )语句的函数实现,定义一系列不同的延时函数,如Delay10us( )、Delay25us( )、Delay40us( )等存放在一个自定义的C文件中,需要时在主程序中直接调用。如延时10 μs的延时函数可编写如下: void Delay10us( ) { _NOP_( ); _NOP_( );

如何使用KeilC51创建一个工程文件

如何使用KeilC51创建一个工程文件 建立一个项目: 点击工程菜单中选择弹出的下拉式菜单中的新建工程...,接着弹出一个标准Windows 文件对话窗口,在"文件名"中输入您的第一个程序项目名称,这里我们用"test",这是笔者惯用的名称,大家不必照搬就是了,只要符合Windows文件规则的文件名都行。"保存"后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目 。 这时会弹出让你选择单片机型号的对话框,我们选择A TMEL---A T89C51

然后点击Target 1前面的“+”,出现Source Group 1,选中右键点选“增加文件到组Source Group 1” 这时选择文件类型为Asm 源文件,再选中001.asm文件,再按添加,在随后出现的提示框中按“确定” 仿真器采用Mon51协议,在使用之前应必须对软件项目进行如下设置: 1、单击工程菜单,再在下拉菜单中单击"目标target 1属性" 在下图中,单击"Target"输入仿真器的工作频率(11.0592MHz)

2、在调试菜单中点选"Keil Monitor-51 Driver",即选择了STC89C516RD硬件仿真器。 3、单击“R外围设备”选Target Setup设置选项选择您要使用串口(必须和实际相符合),波特率38400。 如果被仿真的目标板使用12MHZ或者是11.0592MHZ晶振时波特率选择38400,如果被仿真的目标板使用6MHZ晶振时波特率选择18400。

4、如果需要生成HEX代码给编程器烧写芯片的话,需要选中“生成HEX 文件”的选项,按钮“选择OBJ文件夹...”是用来选择最终HEX文件的存放目录的。 5、按F7快捷键可以进行编译,编译成功后如会出现上图红箭头所指的文字,表示编译成

KeilC51使用详解

KeilC51使用说明 首先启动Keil μVision2程序,首次进入 Keil μVision2的编辑界面如图1所示,否则,会打开用户前一次处理的工程。 图1 首次进入Keil μVision2的编辑界面 下面通过简单的编程、调试,引导大家学习Keil μVision2软件中Keil Monitor-51 Driver 仿真器的基本使用方法和基本调试技巧。 1 工程的建立 单击“项目->新建项目…”菜单,弹出创建新工程对话框,如图2所示。选择你要保存的路径, 输入工程文件的名字, 不需要输入扩展名。比如保存到JY_E2X00目录里,工程文件的名字为 Test1,如图(2)所示,然后点击“保存”,保存后的文件扩展名为.uv2,这是KeilμVision2项 目文件扩展名。以后我们可以直接点击此文件来打开已创建的工程。 图2 创建新工程对话框

这时会弹出一个对话框,要求选择目标CPU(即用户所用单片机的型号),Keil μVision 几乎支持所有的51内核的单片机,我们以AT89S52芯片为例,如图3所示, 在左侧的Data base列表框中点击Atmel前面的“+”号,展开该层,选中AT89S52,在其右边的Description显示区域。中是对这个单片机的基本描述,然后再点击“确定”按钮. 图3 为工程选择目标CPU 窗口会出现询问是否添加startup.a51,如图4:请选择“否”。 图4 此时,在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要为这个工程添加文件。如图5所示。

Keil-C51-基本使用方法 (1) 。。。。2

、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 建立源程序文件

程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm格式(如my-test.asm)保存在刚才所建立的一个文件夹中(my-test)。 3、添加文件到当前项目组中 单击工程管理器中“Target 1”前的“+”号,出现“Source Group1”后再单击,加亮后右击。在出现的下拉窗口中选择“Add Files to Group‘Source Group1’”,如图6所示。在增加文件窗口中选择刚才以asm格式编辑的文件my-test.asm,鼠标单击“ADD”按钮,这时my-test.asm文件便加入到Source Group1这个组里了,随后关闭此对话窗口。 图 6 添加文件到当前项目组中 4、编译(汇编)文件 选择主菜单栏中的“工程”,在下拉菜单中选中“重建

keil+c51教程

Keil uVision2的使用 Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。 这里我们仅仅介绍Keil uVision2的简单使用,更详细的使用方法见本光盘单片机软件\Keil c51\Keil书籍与资料目录中的内容。 keil C51v6.12的安装: 先运行光盘中单片机软件\setup\setup.exe安装程序,选择安装“Eval Version”版进行安装。一直点击“Yes”或“Next”,直到“Finish”完成。 之后运行同目录中的Keil uv2汉化安装.exe安装汉化程序。 安装好后,在桌面上会产生快捷图标,如下图: keil C51v6.12的使用: 点击桌面快捷图标,可以直接进入主画面:

序。 在Keil系统中,每做个独立的程序,都视为工程(或者叫项目)。首先从菜但的“工程”中“新建工程...”,建立我们将要做的工程项目: 新建的工程要起个与工程项目意义一致的名字,可以是中文名;我们这里的程序是实验测试程序,所以起的名字为Test,并将Test工程“保存”到 C:\Keil下:

接下来,Keil环境要求我们为Test工程选择一个单片机型号;我们选择Atmel公司的89C51(虽然我们使用的是89S51,但由于89S51与89C51内、外部结构完全一样,所以这里依然选择“89C51”)。“确定”后工程项目就算建立了。

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

Keil c51的使用及界面翻译

Keil C51的使用方法 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。 下面介绍Keil C51软件的使用方法 进入Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界

进入Keil C51后的编辑界面 简单程序的调试 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。 1)建立一个新工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项 2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51 如下图所示,然后点击保存.

3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定. 4)完成上一步骤后,屏幕如下图所示

到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。 5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项 新建文件后屏幕如下图所示 此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写

单片机开发与仿真软件Keil C51的使用

单片机开发与仿真软件Keil C51的使用 一、Keil C51 操作入门 Keil C51 简介 Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。Keil 51支持汇编语言、C语言等各种开发语言。其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。uVision2调试器是一个强大的全特性调试器,允许用户在PC 机上完全模拟目标程序、指令集和片内外围功能。 实验所用的是Keil C51 评估版。 Keil C51 的启动 双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。 图1 Keil C51的启动界面 建立第1 个Keil C51 程序 Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。硬件电路参见图2,单片机I/O 输出低电平可点亮LED。 图2 LED 闪烁发光电路 ●新建工程。执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名为“Create

New Project”的对话框。先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。最后,为工程取名为“LedFlash”,并保存。参见图3。 图3 新建Keil C51 工程 ●选择CPU。紧接着,Keil C51 提示选择CPU 器件。8051 内核单片机最早是由鼎鼎大 名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。在这里可以选择Philips 的第 1 个器件“80/87C51”,该器件与Intel 的8051 完全兼容。参见图4 。 图4 选择CPU ●接下来弹出一个如图5 所示的对话框。该对话框提示是否要把标准8051 的启动代

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 0000H LJMP MAIN ORG 030H MAIN: MOV P0,#00H MOV P1 ,#00H MOV P2 ,#00H MOV P3 ,#00H ACALL DEL MOV P0 ,#0FFH MOV P1 ,#0FFH MOV P2 ,#0FFH MOV P3 ,#0FFH ACALL DEL AJMP MAIN ORG 0200H DEL: MOV R5,#04H F3: MOV R6,#0FFH F2: MOV R7,#0FFH F1: DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END 图5 建立源程序文件 程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm

Keil C51中变量的使用

引言 8051内核单片机是一种通用单片机,在国内占有较大的市场份额。在将C语言用于51内核单片机的研究方面,Keil公司做得最为成功。由于51内核单片机的存储结构的特殊性,Keil C51中变量的使用与标准C有所不同。正确地使用变量,有利于获得高效的目标代码。下面详细介绍Keil C51中变量的使用方法。 1 CPU存储结构与变量的关系 变量都需要有存储空间,存储空间的不同使得变量使用时的工作效率也不同。 标准C的典型运行环境是8086(含IA-32系列)内核,其存储结构是CPU内部有寄存器,外部有存储器,寄存器的访问速度大大高于存储器的访问速度。在标准C中,不加特别定义的变量是放在存储器中的,使用register可以强制变量存储在寄存器中,对于使用特别频繁且数量不多的变量可以选用这种存储模式,以获得更高的工作效率。 相比之下,51内核单片机的存储结构则显得有些怪异,它的存储空间有3个:程序存储器空间(64 KB含片内、片外)、片外数据存储器空间(64KB)、片内数据存储器及特殊功能寄存器空间。它没有真正意义上的寄存器,它的寄存器其实是片内数据存储器(如R0~R7)和特殊功能寄存器(如A、B等)中的一部分。因此,在Keil C51中使用变量就和标准C有很大不同。 2 Keil C51变量分析 Keil C51支持标准C原有的大多数变量类型,但为这些变量新增了多种存储类型,也新增了一些标准C没有的变量。 2.1 Keil C51新增的变量存储类型 Keil C51中定义变量的格式如下: [存储种类]数据类型[存储类型]变量名表; 其中,[存储类型]是标准C中没有的,[存储类型]共有6种,分别介绍如下: ①data。将变量存储在片内可直接寻址的数据存储器中。使用这种存储模式,目标代码中对变量的访问速度最快。 ②bdata。将变量存储在片内可位寻址的数据存储器中。在目标代码中变量可以方便地进行位处理,在不进行位处理时与data相同。 ③idata。将变量存储在片内间接寻址的数据存储器中。在52内核中,当片内直接寻址数据存储器不够用时,可以使用128字节间接寻址数据存储器,访问速度一般较data要慢一些,但具有最大的片内数据存储器空间;在51内核中因无单独的间接寻址数据存储器区,idata与data无区别。 ④xdata。将变量存储在片外数据存储器中。目标代码中只能使用“MOVX A,@DPTR”和“MOVX@DPTR,A”指令访问变量,访问速度最慢,但存储空间最大(64KB)。 ⑤pdata。将变量存储在片外数据存储器中的第一页(00H~FFH)中。目标代码中可以使用“MOVX A,@Ri”和“MOVX@Ri,A”指令访问变量,访问速度与xdata相同,存储空间为256字节。 ⑥code。将变量存储在程序存储器中。目标代码中只能使用MOVC指令访问变量,因变量存储在程序存储器中,具有非易失性且为只读。 2.2 Keil C51新增的指针变量存储类型 Keil C51中的指针变量形式如下: 数据类型[数据存储类型]*[指针存储类型]标识符; 其中,[数据存储类型]和[指针存储类型]都是标准C中没有的。[数据存储类型]定义数

Keil C51详细设置

Keil C51详细设置 一.target名更改 打开Keil后,左侧Project Workspace中的target可改,方法:右击Target——Manage Compnents——双击待修改项即可,若要添加,使用对话框内对应工具栏。 二.option for target 设置之TARGET项 1 MEMARY MODEL Small:变量存储在内部ram里. Compact:变量存储在外部ram里,使用页8位间接寻址 Large:变量存储在外部Ram里,使用16位间接寻址. 我们一般使用Small来存储变量,就是说单片机优先把变量存储在内部ram里,如果内部ram 不够了,才会存到外部去.Compact的方式要自己通过程序来指定页的高位地址,编程比较复杂,如果外部ram很少,只有256个字节,那么对该256个字节的读取就比较快,用MOVX @Ri,A 或MOVX A,@Ri指令. 如果超过256字节,那么要不断地进行切换的话,就比较麻烦.Compact模式适用于比较少的外部ram的情况.Large模式,是指变量会优先分配到外部ram里,用MOVX A,@DPTR或MOVX @DPTR,A来读取.要注意的是,3种存储方式都支持内部256字节和外部64k字节的ram.区别是变量的优先(或默认)存储在哪里的区别.除非你不想把变量存储在内部ram,才使用后面的 Compact,Large模式.因为变量存储在内部ram里,运算速度比存储在外部ram要快的多,大部分的应用都是选择Small的模式.使用Small的方式:也不是说变量就不可以存储在外部,一样可以存储在外部,只是你要指定,比如: unsigned char xdata a;那么变量a就存储在外部的ram. unsigned char a;变量存储在内部ram. 假如用Large的模式: unsigned char xdata a;那么变量a就存储在外部的ram. unsigned char a;变量存储在外部ram. 这就是区别,就是说这几个选项只是影响没有特别指定变量的存储空间的时候,默认存储在哪里,比如上面的变量定义unsigned char a . 2. CODE ROM SIZE Small: program 2K or less ;适用于89c2051这些芯片,2051只有2k的代码空间,所以跳转地址只有2k,编译的时候会使用ACALL AJMP这些短跳转指令,而不会使用LCALL,LJMP指令.如果你的代码跳转超过2k,那么会出错. Compact:2k functiongs ,64k program:表示每个子函数的程序大小不超过2k,整个工程可以有64k的代码.就是说在main()里可以使用LCALL, LJMP指令,但在子程序里只会使用ACALL,AJMP 指令.除非你确认你的每个子程序不会超过2k,否则不要用Compact方式. Large:64K program:表示程序或子函数都可以大到64k.使用code bank还可以更大.通常我们都选用该方式.Code Rom Size选择Large方式速度不会比Small慢很多,所以一般没有必要选择Compact和Small的方式.我们这里选择Large方式. 3. OPERATING

keil使用方法

第一步:新建一个文件夹 第二步:双击图标,启动keil软件 第三步:建立工程 1.选择工具导入工程 2.选择保存位置在刚才新建的文件夹——输入文件名——保存

2.选择atlem——选择atc51——确定 3.出现对话框选择否

第四步:设置选项 1.右键——为目标‘目标1’设置选项 2.选择输出——勾选产生HEX文件——确定 第五步:新建文件并保存 1.新建文件

2.保存 3.在对话框文件名中加入后缀名(如果使用汇编语言加后缀名.SAM如果的是C语言加后缀名. C)

第六步:编写程序 花样彩灯程序: ORG 0 START: MOV DPTR,#TABLE LOOP: CLR A MOVC A,@A+DPTR CJNE A,#01H,LOOP1 JMP START LOOP1: MOV P1,A MOV R3,#20 LCALL DELAY INC DPTR JMP LOOP DELAY: MOV R4,#20 D1: MOV R5,#248 DJNZ R5,$ DJNZ R4,D1 DJNZ R3,DELAY RET TABLE: DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 07FH,0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 07FH,0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 00H, 0FFH,00H, 0FFH DB 01H END

单片机仿真件Keil C51软件的使用教程(中文版)

单片机仿真软件Keil C51软件的使用教程(中文版) keil uvision2 C51软件是目前功能最强大的单片机c语言集成开发环境,本软件及视频教程可以本站下载。 下面我们通过图解的方式来Keil C51软件的使用教程,学习最简单的,如何输入源程序→ 新建工程→ 工程详细设置→ 源程序编译得到目标代码文件。 第一步:双击Keil uVision2的桌面快捷方式(图1),启动Keil集成开发开发软件。软件启动后的界面如图2所示。 图1:启动Keil uVision2单片机集成开发环 境

图2:软件启动后的界面 第二步:新建文本编辑窗。点击工具栏上的新建文件快捷按键,即可在项目窗口的右侧打开一个新的文本编辑窗,见图3所示。 图3:新建文本编辑窗 第三步:输入源程序。在新的文本编辑窗中输入源程序,可以输入C语言程序,也可以输入汇编语言程序,见图4。

图4:输入源程序 第四步:保存源程序。保存文件时必须加上文件的扩展名,如果你使用汇编语言编程,那么保存时文件的扩展名为“.asm”,如果是C语言程序,文件的扩展名使用“*.C ”。 图5:保存源程序 注:第3步和第4步之间的顺序可以互换,即可以先输入源程序后保存,也可以先保存后输入源程序。 第五步:新建立Keil工程。如图6所示,点击 "工程" → "新建工程" 命令,将出现保存对话框(图7)。

图6:新建工程 图7:保存工程对话框 在保存工程对话框中输入你的工程的文件名,Keil工程默认扩展名为 ".uv2",工程名称不用输入扩展名(见图7),一般情况下使工程文件名称和源文件名称相同即可,输入名称后保存,将出现"选择设备"对话框(图8),在对话框中选择CPU的型号。 第六步:选择CPU型号。如图8所示,为工程选择CPU型号,本新建工程选择了ATMEL公司的AT89C51单片机。

keilc51集成开发环境的使用

Keil C51集成开发环境的使用 Keil C51软件可以从相关网站下载并安装。安装好后,双击桌面快捷图标或在“开始”菜单中选择Keil μVision3,启动Keil μVision3集成开发环境,启动后界面如图4-3所示。 图4-3 Keil μVision3启动后的集成开发环境界面 (一)创建项目 Keil μVision3中有一个项目管理器,用于对项目文件进行管理。它包含了程序段环境变量和编程有关的全部信息,为单片机程序的管理带来了很大的方便。创建一个新项目的操作步骤如下: (1)启动μVision3,创建一个项目文件,并从器件数据库中选择一款合适的单片机型号。 (2)创建一个新的源程序文件,并把这个源文件添加到项目中; (3)为该单片机芯片添加或配置启动程序代码; (4)设置工具选项,使之适合目标硬件; (5)编译项目并创建一个*.hex文件。 下面以本章任务为例分别介绍每一步的具体操作。 1.新建项目文件 单击菜单“Project”→“New Project”命令,弹出如图4-4所示的新建项目对话框,指定保存路径,建议每个项目使用一个独立文件夹,例如本项目保存在“第4章”文件夹;然后,在“文件中名”输入项目名称,例如“4-1”,单击“保存”按钮即完成新项目的创建(系统默认扩展名为“.uv2”)。

保存路径 输入文件名 图4-4 新建项目对话框 此时弹出选择单片机的型号对话框,如图4-5所示,展开Atmel系列单片机,选择“AT89C51”,单击“确定”按钮完成设备的选择。 图4-5 选择单片机的型号对话框 单片机型号选择结束后,在μVision3工作界面左边的项目管理器中新增加了一个“Target 1”目标1文件夹,如图4-6所示。

keil c51详细使用

一、Keil C51开发系统基本知识 1、Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,如图1所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 图 1 C51工具包整体结构图 2、Keil C51工具包的安装 1)C51 for Dos 在Windows下直接运行软件包中DOS\C51DOS.exe然后选择安装目录即可。完毕后欲使系统正常工作须进行以下操作(设C:\C51为安装目录): 修改Autoexec.bat,加入 path=C:\C51\Bin Set C51LIB=C:\C51\LIB Set C51INC=C:\C51\INC 然后运行Autoexec.bat 2)C51 for Windows的安装及注意事项 在Windows下运行软件包中WIN\Setup.exe,最好选择安装目录与C51 for Dos相同,这

样设置最简单(设安装于C:\C51目录下)。然后将软件包中crack目录中的文件拷入C:\C51\Bin 目录下。 3、Keil C51工具包各部分功能及使用简介 1)C51与A51 A.C51 C51是C语言编译器,其使用方法为: C51 sourcefile[编译控制指令] 或者 C51 @ commandfile 其中sourcefile为C源文件(.C)。大量的编译控制指令完成C51编译器的全部功能。包控C51输出文件C.LST,.OBJ,.I和.SRC文件的控制。源文件(.C)的控制等,详见第五部分的具体介绍。 而Commandfile为一个连接控制文件其内容包括:.C源文件及各编译控制指令,它没有固定的名字,开发人员可根据自己的习惯指定,它适于用控制指令较多的场合。 B.A51 A51是汇编语言编译器,使用方法为: A51 sourcefile[编译控制指令] 或 A51 @ commandfile 其中sourcefile为汇编源文件(.asm或.a51),而编译控制指令的使用与其它汇编如ASM 语言类似,可参考其他汇编语言材料。 Commandfile同C51中的Commandfile类似,它使A51使用和修改方便。 2)L51和BL51 A.L51 L51是Keil C51软件包提供的连接/定位器,其功能是将编译生成的OBJ文件与库文件连接定位生成绝对目标文件(.ABS),其使用方法为: L51 目标文件列表[库文件列表] [to outputfile] [连接控制指] 或 L51 @Commandfile 源程序的多个模块分别经C51与A51编译后生成多个OBJ文件,连接时,这些文件全列于目标文件列表中,作为输入文件,如果还需与库文件(.LiB)相连接,则库文件也必须列在其后。outputfile为输文件名,缺少时为第一模块名,后缀为.ABS。连接控制指令提供了连接定位时的所有控制功能。Commandfile为连接控制文件,其具体内容是包括了目标文件列表,库文件列表及输出文件、连接控制命令,以取代第一种繁琐的格式,由于目标模块库文件大多不止1个,因而第2种方法较多见,这个文件名字也可由使用者随意指定。 B.BL51 BL51也是C51软件包的连接/定位器,其具有L51的所有功能,此外它还具有以下3点特别之处: a. 可以连接定位大于64kBytes的程序。 b. 具有代码域及域切换功能(CodeBanking & Bank Switching) c. 可用于RTX51操作系统 RTX51是一个实时多任务操作系统,它改变了传统的编程模式,甚至不必用main( )函数,单片机系统软件向RTOS发展是一种趋势,这种趋势对于186和386及68K系列CPU更为明

KEILC51使用说明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 ROM,可以反复擦写,非常适于做实验。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,A RL A LCALL DELAY AJMP MAIN DELAY: MOV R7,#255 D1: MOV R6,#255 DJNZ R6,$ 图1 简单的键盘、显示板

Keil-C51程序调试过程

如何使用Keil C软件调试单片机程序 调试一般都是在发生错误与意外的情况下使用的。如果程序能正常执行,调试很多时候都是用不上的。所以,最高效率的程序开发还是程序员自己做好规范,而不是指望调试来解决问题。 单片机的程序调试分为两种,一种是使用软件模拟调试,第二种是硬件调试。 使用软件模拟调试,就是用计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的。但是软件调试存在一些问题,不可能像真正的单片机运行环境那样执行的指令能在同一个时间完成(往往比单片机慢)。软件调试只能是一种初步的,小型工程的调试,比如一个只有几百上千行的代码的程序,软件调试能很好的完成。 硬件调试其实也需要计算机软件的配合,大致过程是这样的:计算机软件把编译好的程序通过串行口、并行口或者USB口传输到仿真器,然后与单片机一样执行。仿真器仿真全部的单片机资源(所有的单片机接口,并且有真实的引脚输出)。仿真器会将单片机内部内存与时序等情况返回给计算机,这样就可以在计算机里看到单片机程序真实的执行情况。不仅如此,还可以通过计算机的软件实现单步、全速、运行到光标的常规调试手段。仿真器可以接入实际的电路中。 图1:仿真器 下面将具体介绍如何使用Keil uVision 软件来调试单片机程序。 首先:打开一个已经编译通过的单片机项目。选择Debug下面的Start/Stop Debug Session,这个选项可以打开调试也可以关闭调试。

接下来看到的窗口就是调试窗口了: 下面具体说说相关子窗口的功能: 1、左侧的ProjectWorkspace Regs是片内内存的相关情况值;Sys是系统一些累加器、计数器等。Regs

Keil C51软件的使用教程

Lesson 1 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。 下面介绍Keil C51软件的使用方法 进入 Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界: 启动Keil C51时的屏幕 进入Keil C51后的编辑界面 简单程序的调试 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。

1)建立一个新工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项: 2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51 如下图所示,然后点击保存. 3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的 89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.

4)完成上一步骤后,屏幕如下图所示: 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。 5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项: 新建文件后屏幕如下图所示

此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”:

相关文档
最新文档