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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

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

一、实验目的

掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。

二、实验器材

计算机1台

三、实验内容

1.Keil的使用方法。

2.建立一个单片机汇编语言程序的调试过程及方法

四、实验步骤

1.Keil的使用方法。KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。启动Keil后的界面如下:

几秒钟后即进入Keil的编辑界面。用户便可建立工程及应用程序。

2.简单程序的调试方法

Keil是通过工程工程来管理汇编程序的。因此在调试程序前必须建立一个工程,工程名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*〞来命名。

〔1〕建立一工程

单击Project菜单,在弹出的下拉菜单中选中NewProject选项。并在弹出的对话框中确定保存的位置及工程名称。

又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。选择Atmel公司的AT89C51单片机。如以下图所示

单击“确定〞后在弹出的对话框中行选择“否〞即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。

〔2〕建一文件

单击“File〞/“New〞命令,那么弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。单击“File〞/“Save〞“保存〞即可进行汇编源文件的编辑。如以下图所示。

〔3〕将文件添加到工程中

单击“Target1”前的“+〞号那么展开后变成“-〞号,并右键单击“SourceGroup1”在弹出的下拉菜单中执行“AddFilestoGroup‘SourceGroup1’〞命令并弹出对话框在该对话框中的“文件类型〞下拉列表中选择“

〔4〕在源文件编辑框中输入以下程序。

ORG0000H

LJMPSY1

ORG0030H

SY1:MOVA,#78H

MOV50H,A

MOVR0,#56H

MOV@R0,A

SJMP$

END

〔5〕程序下载到单片机中

右击“Target1〞在弹出的下拉菜单中执行“〞命令,在弹出的对话框中,单击“Output〞中单击“CreateHEXFile〞选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到AT89c51单片机中。如以下图所示。

上述界面可以完成一系列的相关设置。如实现单片机型号选择的设置即Device、单片机硬件的相关设置即Target、单片机输出项设置即Output等,其余均为默认项。

:建立一工程名为:学号+姓名+实验1,并将以下文件添加到该工程中。并按要求答复以下问题。

ORG0000H

LJMPSTART

ORG0030H

START:MOVR0,#30H

MOVA,@R0

MOVB,A

SWAPA

ANLA,#0FH

INCR0

MOV@R0,A

INCR0

MOVA,B

ANLA,#0FH

MOV@R0,A

SJMP$

END

简述工程工程文件的建立步骤?如何给工程工程添加文件?

〔1〕ORG0000H与ORG0030H指令分别是什么含义?0000H地址中存放LJMP指令的作用?〔2〕为什么在0000H地址LJMP指令?

〔3〕该程序实现什么功能?你能否举例说明?

〔4〕SJMP$指令中的$是什么含义?此指令是怎么执行的?

五、实验报告

1.按学生练习中的要求答复相关问题并填写到实验报告中。

补充调试方法:

编辑源程序并保存为.ASM文件〔或.C文件〕。编辑、连接和运行。

2.观察代码存储器内容时在地址框中输入:C:0X地址;观察内部数据存储器内容时在地址框中输入:I:0X地址;观察外部数据存储器内容时在地址框中输入:X:0X地址;修改数据存储器单元的内容时,用鼠标右击要修改的存储单元地址,在弹出下拉菜单中执行Madify

Memoryat命令,在弹出的对话框中输入具体的数值。

3.执行debug/step命令〔单步执行〕,观察程序指针PC的变化,观察左窗格中单片机内部资源情况的变化,观察存储器单元的变化。

4.再次执行debug命令,退出运行。

文档评论(0)

181****7662 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档