实验3 MCS-51 汇编语言指令系统(一).docVIP

  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文档。上传文档
查看更多
实验3 MCS-51 汇编语言指令系统(一) 一、实验目的 1) 掌握8051的寻址方式及常用指令的使用方法。 2) 掌握单步执行程序,查看专用寄存器和单片机RAM的执行结果。 3) 熟悉Keil C51集成开发环境。 二、实验内容 1) 基本指令练习。 2) 数据传送(循环方式)。 3) ) 8051内部RAM的40H~4FH置初值A0H~AFH,然后将40H~4FH的内容传送到外部RAM中的C000H~C00FH单元,再把外部数据RAM中的C000H~C00FH单元的内容传送到8051内部RAM中的50H~5FH单元。 ) 调试下列程序,熟悉程序调试手段,观测程序运行结果。 ? ? ? ORG 0000H ? ? ? ? ? ? SJMP? MAIN ? ? ? ? ? ? ORG 0030H MAIN:? ? ? ? MOV? SP,#6FH MOV R0,#40H MOV? R1,#30H MOV? 30H,#40H ? ? ? ? ? ? ? MOV? ? A,#40H ? ? ? ? ? ? ? MOV? ? @R0,A ;哪一个存储单元的内容与A中内容相等 INC? ? A MOV? ? A,@R1 ;A中的内容?哪一个存储单元的内容传给A PUSH? ACC POP? ? 32H? ? ;SP指针的变化?32H中的内容 MOV? ? A,#5FH SWAP? A? ? ;A中的内容 ? ? ? ? ? 上面程序为顺序执行的程序 XUNHUAN1:? MOV? ? R0,#30H ? ? ? ? ? MOV? ? R7,#10H ? ? ? ? ? CLR? ? A? ? ;这3条指令的作用 LOOP1: ? ? ? MOV? ? @R0,A ? ? ? INC? ? A ? ? ? INC? ? R0 DJNZ? R7,LOOP1? ;R7的作用 ;循环程序执行完之后,指出32H,37H,3BH,3FH存储单元中的值,为什么? XUNHUAN2: MOV? ? R0,#30H ? ? ? ? ? MOV? ? R1,#40H ? ? ? ? ? MOV? ? R2,#10H ? ? LOOP2: MOV A,@R0 ? ? ? ? ? MOV? ? @R1,A ? ? ? ? ? DJNZ? R2,LOOP2 ;说明这段程序的功能 ?? ? ;上面程序为2个循环程序 ;下面为2个数比较程序,最大值存放在30H,最小值存放在31H中 PANDUAN1: MOV? ? 30H,#10H? ? ? ? ? ? MOV? ? 31H,#4BH ? ? ? ? ? MOV? ? R0,#30H ? ? ? ? ? MOV? ? R1,#31H ? ? PAN0:? MOV? ? A,@R0 ? ? ? ? ? CLR? ? C ? ? ? ? ? SUBB? A,@R1 ? ? ? ? ? JNC? ? PAN1 ? ? ? ? ? MOV? ? A,@R0 ? ? ? ? ? MOV? ? 40H,@R1 ? ? ? ? ? MOV? ? @R0,40H ? ? ? ? ? MOV? ? @R1,A ? ? ? ? PAN1: NOP? ? ? ? ? ? ? ;注意能不能继续往下运行,为什么 ? ? ? ? ? END 三、实验步骤 1)启动计算机。 2)进入Keil C51集成开发环境。 3)建立工程项目文件,选择单片机型号:PHILIPS 公司的P80/P87C52X2。 4)在Keil C51集成开发环境中, 编辑源程序;将源文件添加至工程项目的源文件组中。 5)对源文件进行编译,生成目标代码。 6)运行、调试程序和查看执行结果。 7)分别采用单步、宏单步、执行到光标处等调试手段,调试用户程序,观察有关存储器单元中的内容。 8)修改有关单元中的内容,再观察有关单元中的内容。 四、思考题 1) 说明每段程序分别完成哪些任务。 2) 若比较程序为3个数比较,数据从大到小排列,最大值放在30H,最小值放在32H。如果是16个数排序,如何排序,提出编程思路。 五、预习要求 1)? 阅读教科书中8051的指令系统,重点掌握的指令有数据传送、判断跳转指令的使用方法。 2) 阅读Keil C51集成开发软件说明书,掌握集成开发软件的进入、退出、源文件的编辑和编译等方法。熟悉各种调试手段。 六、实验报告 1) 将程序加上注释语句,写出程序执行的结果。 2) 回答思考题(第2题的第2个问题选作)。1.立即寻址:操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如MOV A,#20H。 2.寄存器寻址:操作数放在寄存器中,在指令中直接以

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档