第六章单片机系统综合实验.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文档。上传文档
查看更多
第六章单片机系统综合实验

第六章 单片机系统综合实验 6.1 单片机基本实验-1.存储器块清零程序设计 (1)实验目的。1. 掌握存储器读写方法;2. 了解存储器的块操作方法。 (2)实验内容:1. 指定内部RAM中某块的起始地址和长度,要求能将其内容清零。2. 指定外部RAM中某块的起始地址和长度,要求能将其内容清零。3. 指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如012H)。 (3)实验说明。通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以了解单片机编程、调试方法。 (4)参考程序框图。1、程序参考流程如图6-1所示;2、参考程序如下: BLOCK EQU 0400H ORG 0000H LJMP START ORG 0030H START: MOV DPTR,#BLOCK ;DPTR←起始地址 MOV R0, #0FFH ;R0←块长度 MOV A,#0 ; A←0 LOOP: MOVX @DPTR,A ;当前地址内容清0 INC DPTR ;地址加1 DJNZ R0,LOOP ; 计数器减1,循环 SJMP $ ; 结束 END 图-2 程序窗口(存储器块赋值程序) 图-3 外部数据存储器XDATA空间窗 例如若要将从0400H 开始的255个字节外部数据存储器块的内容置成12H 值,请修改以上程序完成此操作,注意在程序调试过程中数据的变化情况。注意在程序调试过程中数据的变化情况。3、程序调试过程。程序窗口如图-2所示。可通过观察外部数据存储器窗口XDATA了解程序运行结果,运行结果如图-3所示。 (5)思考题。如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请用户修改程序,完成此操作。 8051 内部数据存储器空间,观察程序执行结果。若A 中原来的内容“123”(7BH) 转换为三个 BCD 码“01”、“02”和“03”,并分别存入了从 (30H)开始的三个单元中,如图6-5所示。 程序执行后的结果: 图6-5 内部数据存储器DATA空间窗口 实验6-3 十六进制到ASCII码转换程序设计 (1)实验目的。1.了解十六进制数和ASCII值的区别。 2.了解如何将十六进制数转换成ASCII值。 3.了解如何查表进行数值转换及快速计算。 (2)实验内容。给出一个十六进制数,分别用查表法和逻辑运算方法将其转换成ASCII值。 (3)实验说明。此实验主要让学生了解数值的十六进制数和ASCII码的区别,学会用查表法快速地进行数值转换并进一步了解数值的各种表达方式。 ADD A,#90H DA A ADDC A,#40H DA A RET 实验6-4 存储块移动程序设计 (1)实验目的。 1.了解内存的移动方法; 2.加深对存储器读写的认识。 (2)实验内容。将指定源地址和长度的存储块移到指定目标位置。 (3)实验说明。块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。另外,若源块地址和目标块地址有重叠,该如何避免? (4)参考程序框图。 1、程序流程图如图6-7所示; 2、参考程序。将外部RAM存储器XDATA中3000H开始的256B数据移动到4000H开始的存储单元中。参考程序如上: (5)思考题。1.若源块地址和目标块地址有重叠,该如何避免?2.请思考给出块结束地址,用地址减一方法移动块的算法。3.如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请用户修改程序,完成此操作。 MCS—51 单片机指令系统中 有JZ(JNZ)、CJNE、JC(JNC)、DJNZ及JB(JNB)等丰富的控制转移指令,他们是分支结构程序设计的基础,可以完成各种各样的条件判断、分支。 常用的分支结构有以下几种:例1: 统计全班60名同学不及格人数,成绩以BCD码放在30H起,结果放入R7。 60名同学的成绩,大于等于90分的、大于等于75分的、大于等于60分的及小于60分的人数,分别放入R3、R4、R5、R6中。 例1 例2 3. 程序散转:可以有多种方法实现程序散转。 (1)方法1:利用地址偏移量表实现散转。将转移目标地址与表首地址差列表,作为转移目标地址。利用了伪指令的数学计算功能,标首地址加上处理程序与标首地址差转到处理程序。实验内容:有5个按键 0,1,2,3,4,根据按下的键转向不同的处理程序,分

文档评论(0)

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

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

1亿VIP精品文档

相关文档