文档库 最新最全的文档下载
当前位置:文档库 › 怎样使用keil C51汇编软件编写程序

怎样使用keil C51汇编软件编写程序

怎样使用keil C51汇编软件编写程序
怎样使用keil C51汇编软件编写程序

怎样使用keil C51汇编软件编写程序

在keil C51汇编软件安装章节我们已经将软件安装好了。下面我们就用这个软件来编写一个小小的程序吧:

第一步:双击Uvw51图标,出现如图一所示的主界面

图一

第二步:新建文件

单击菜单栏内的“文件----新建”或者单击图标按钮则在上图所示的灰色区域内出现一个白色的编辑区,这时我们就中以在这里编辑程序了。如图二所示。

图二

第三步:编程程序

建立了一个新的编程文件后,我们就可以在这里编写我们所需要的程序了,下面我们就来编写一个简单的程序吧。!如图三所示:

注意,程序的语法及格式绝对不能错误!

图三

第四步:保存文件

程序编写好了,我们当然要记得保存了,要不我们编写程序就白费劲了。好了,下面我们将上面编写的程序保存起来:

单击“文件----保存”或者单击图标,出现如图四所示的对话框:

图四

这时参照图五所示将对话框的内容设置好:

c51eval保存文件时默认的文件扩展是名*.C,请按图五所示改变为为*.a51:

图五

我们这里就先将文件保存在d:\led 文件夹中,文件名你可以随便取,这里先叫他为ddw.a51;需强调的是保存文件的文件夹和文件名不能使用中文!即保存文件时不能以如下格式保存:

正确的保存路径:D/led/ddw.a51

当然,保存的文件夹名led、编写的程序的文件名ddw,你都

可以随意的取一个,可以是D/ABC/000.a51。这就取决于你的

兴趣了。

错误的保存路径:D/源程序/led/ddw.a51,或者是D/led/流水灯程序.a51。总之在源程序的保存路径下不能有中文的出现,同时文件名不能取的

太长。

第五步:建立项目

将汇编的源程序保存后,还没有得到我们所需要的文件,这时我们还需要再建立项目,以便得到我们所需的hex文件。

新建项目的步骤如下:首先先打开新建项目的对话框文件,如图六所示:

图六

点击新建项目后出现如图七所示的对话框,我们将对话框的参数设定好。将文件名设置成与刚才源程序的文件名相同,即设为ddw.prj,同时保存的路径跟前面的源程序保存的路径一样,在d/led 上。现在就可以把刚才建立的项目文件ddw.prj添加到刚保存的ddw.A51源程序上了,注意它们都在同一个根目录下。

图七

按图七所示操作后,会出现如图八所示的对话框:

图八

点击“(A)加”出现如图九所示画面:

图九

按图九所示完成操作后,软件会自动打开一个对话框,如图十所示

图十

如图十所示点击保存后,系统会自动回复到汇编状态。这时点击*创建所有图标*按钮,则进行了转换,并出现如图十一所示的状态显示画面:

图十一

完成上述操作后,在图十一,我们看到了创建成功了的提示画面,这时我们点击OK就大功

告成了。打开我们文件的保存路径:我的电脑/d/led 我们可以看到包含hex文件在内的所有相关程序文件了。我们上面的项目文件也在其中了。他的名字叫作ddw.hex文件。

如何使用KEIl编写程序

Keil C软件使用 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);如果用汇编语言编写程序,

实验一 Keil软件的使用及简单程序的调试方法

实验一 Keil软件的使用及简单程序的调试方法 一、实验目的 掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。 二、实验器材 计算机1台 三、实验内容 1.Keil的使用方法。 2.建立一个单片机汇编语言程序的调试过程及方法 四、实验步骤 1.Keil的使用方法。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。启动Keil 后的界面如下: 几秒钟后即进入Keil的编辑界面。用户便可建立项目及应用程序。 2.简单程序的调试方法 Keil是通过项目工程来管理汇编程序的。因此在调试程序前必须建立一个工程,工程

名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*”来命名。 (1)建立一工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项。并在弹出的对话框中确定保存的位置及工程名称。 又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。选择Atmel公司的AT89C51单片机。如下图所示 单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。 (2)建一文件 单击“File”/“New”命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。单击“File”/“Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。如下图所示。

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软件使用方法简介

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

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

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

新建文件后屏幕如下图所示 此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了。 键入程序后界面如下: 单击file菜单下的save,出现一个对话框,键入文件名,后缀名为.asm,进行保存到D盘CMJ51文件夹下。界面如下:

Keil C51 集成开发环境的使用实验报告

Keil C51 集成开发环境的使用 姓名:专业:学号:成绩: 一、实验目的 1、熟悉Kei C51集成开发环境的基本操作; 2、掌握简单Kei C51和汇编程序的编写、调试。 二、实验内容 1、仔细阅读教材相关内容,掌握KeiC51集成开发环境的基本功能; 2、分别用汇编和C51编写清零程序,把片外RAM中的7000H-70FFH单元 中内容清零; 3、分用汇编和C51编写查找相同个数程序。统计片外RAM7000H-700FH中 “00H”的个数并保存在片内RAM30H单元中。 三、实验原理与步骤 1、清零程序 (1)汇编语言程序设计框图 (2)实验步骤 用连续或单步方式运行程序,检查7000H-70FFH单元中执行内容变化。 (3)假使把7000H-70FFH中的内容改成FFH,如何修改程序。 (4)用C51 重新编写该程序,运行并查看结果。 2、查找相同数个数 (1)汇编语言程序设计框图

(2)实验步骤 ①在7000H-700FH单元中放入随机数,其中几个单元输入0; ②用连续或单步方式运行程序; ③观察片内RAM 30H的内容,应显示“00H”的个数。 (3)用C51重新编写程序,运行并查看结果。 四、实验程序 1、清零程序 (1)汇编语言 ORG 0000H MOV R0,#0100H MOV DPTR,#7000H MOV A,#0 LOOP:MOVX @DPTR,A INC DPTR DJNZ R0,LOOP END (2) C语言 #include void main() { char xdata *p=0x7000; int t=0x7100-0x7000 ; while(t--) {*p=00; p++; } } 2、查找相同数个数

实验一-Keil软件的使用及简单程序的调试方法

实验一Keil软件的使用及简单程序的调试方法 一、实验目的 掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。 二、实验器材 计算机1台 三、实验内容 1.Keil的使用方法。 2.建立一个单片机汇编语言程序的调试过程及方法 四、实验步骤 1.Keil的使用方法。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。启动Keil 后的界面如下:

几秒钟后即进入Keil的编辑界面。用户便可建立项目及应用程序。 2.简单程序的调试方法 Keil是通过项目工程来管理汇编程序的。因此在调试程序前必须建立一个工程,工程名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*”来命名。 (1)建立一工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项。并在弹出的对话框中确定保存的位置及工程名称。 又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。选择Atmel公司的AT89C51单片机。如下图所示

单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。 (2)建一文件 单击“File”/“New”命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。单击“File”/“Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。如下图所示。 (3)将文件添加到工程中 单击“T arget 1”前的“+”号则展开后变成“-”号,并右键单击“Source Group 1”在弹出的下拉菜单中执行“Add Files to Group ‘Source Group 1’”命令并弹出对话框在该对话框中的“文件类型”下拉列表中选择“Asm source file”后找到要添加的文件名并选中,单击“Add”即可。

单片机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使用说明 首先启动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所示。

如何使用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快捷键可以进行编译,编译成功后如会出现上图红箭头所指的文字,表示编译成

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软件的使用方法

Keil 软件的使用 随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C 语言为主,市场上几种常见的单片机均有其C 语言开发环境。 这里以最为流行的80C51单片机为例来学习单片机的C 语言编程技术。大家都有C 语言基础,但是编单片机程序,大家还得找专门的书来学习一下。这里我们只介绍Keil 这种工具软件的用法。 学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil 软件是目最流行开发80C51系列单片机的软件,Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision )将这些部份组合在一起。 下面我以一个实验举一个例子,一步一步学习Keil 软件的使用。 首先我们看硬件原理图: 很明显,要点亮使发 光二极管,必须使单片机的I/O 口P1.0输出低电平。于是我们的任务就是编程序使P1.0输出地电平。 1. 使用Keil 前必须先安装。安装过程简单,这里不在叙述。 2. 安装好了Keil 软件以后,我们打开它。打开以后界面如下:

3.我们先新建一个工程文件,点击“Project->New Project…”菜单,如下图,: 3.选择工程文件要存放的路径,输入工程文件名LED, 最后单击保存. 4.在弹出的对话框中选择CPU 厂商及型号

5. 选择好Atmel 公司的AT89S52 后, 单击确定 1.在接着出现的对话框中选择“是”。 5.新建一个C51 文件, 单击左上角的New File 如下图所示:

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_( );

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软件介绍及使用步骤

KEIL51软件简介 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。 Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB 或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 1.1.1 软件功能 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 C51工具包的整体结构,其中μVision与Ishell分别是C51 for Windows 和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 Keil51的编译环境如图5-1所示。 图中:

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);如果用汇编语言编写

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

单片机开发与仿真软件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 。

Keil_uVision2仿真软件的使用说明

附录一 Keil uVision2仿真软件的使用说明 μVision2集成开发环境 μVision2 IDE是德国Keil公司开发的基于Windows平台的单片机集成开发环境,它包含一个高效的编译器、一个项目管理器和一个MAKE工具。其中Keil C51是一种专门为单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。 1.关于开发环境 μVision2的界面如图1-1所示,μVision2允许同时打开、浏览多个源文件。 图1-1 μVision2界面图 2.菜单条、工具栏和快捷键 下面的表格列出了μVision2菜单项命令,工具栏图标,默认的快捷以及他们的描述。 1)编辑菜单和编辑器命令Edit(如表1-1所示) 表1-1 编辑菜单和编辑器命令Edit

在μVision2中,可以通过按住Shift键和相应的键盘上的方向键来选择文本。如Ctrl+ →可以移动光标到下一个词,那么,Ctrl+Shift+ →就是选择当前光标位置到下一个词的开始位置间的文本。当然,也可以用鼠标来选择文本。 3)项目菜单Project和项目命令Project(如表1-2所示) 表1-2 项目菜单和项目命令Project

4)调试菜单Debug和调试命令(如表1-3所示) Runing

5)外围器件菜单Peripherals(如表1-4所示) 6)工具菜单Tool(如表1-5所示) 利用工具菜单,可以设置并运行Gimpel PC-Lint、Siemens Easy-Case和用户程序。通过Customize Tools Menu…菜单,可以添加需要的程序。 表1-5 工具菜单Tool μVision2包括一个项目管理器,它可以使8x51应用系统的设计变得简单。要创建一个应用,需要按下列步骤进行操作: 启动μVision2,新建一个项目文件并从器件库中选择一个器件。

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软件简单操作流程

启动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)。然后,单击“保存”按 钮。

6)回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如下菜 单 然后单击“Add File to Group …Source Group 1?” 屏幕如下图所 示 选中Test.c,然后单击“Add”屏幕好下图所示

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

相关文档