单片机实验指导.docxVIP

  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文档。上传文档
查看更多
51 系列单片机 原理与应用实验 实验1 简单汇编语言实验 1 一、实验目的:掌握汇编语言设计和调试方法,熟悉键盘操作。熟悉汇编语言编程。二、实验内容: 查找相同数据个数:在2000H~200FH 的 N 个单元中填入零,运行本程序后检查2100H 中是否为N; 清零:把2000H~20FFH 的内容清零。三、实验程序框图: 查找相同数据个数程序实验框图 清零程序框图 四、实验步骤: 1、在2000H~200FH 的几个单元中填入零,运行查找相同数据个数程序后检查2100H 中是否是几个单元数。 2、用连续或单步方式运行清零程序,检查2000~20FF 中执行程序前后的内容变化。五.思考: 1、修改程序,查找其它内容。 2、修改清零程序,假使把2000H~20FFH 中的内容改成FF,如何修改程序。 1/ 查找相同数据个数程序程序清单: ORG 0000H 2 LJMP L5800 ORG 0AA0H L5800: L5811: MOV R0,#10H MOV R1,#00H MOV DPTR,#2000H MOVX A,@DPTR ;查找16个字节 L5816: CJNE A,#00H,L5816 INC R1 INC DPTR ;取出内容与00H 相等吗? ;取出个数加1 DJNZ R0,L5811 MOV DPTR,#2100H MOV A,R1 ;未完继续 MOVX @DPTR,A ;相同数的个数送2100H L581E: SJMP L581E END 2/ 清零程序清单: ORG 0000H LJMP SE01 ORG 0640H SE01: MOV R0,#00H MOV DPTR,#2000H ;(0000H)送DPTR LOO1: CLR A MOVX @DPTR,A ;0送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字节数加1 CJNE R0,#00H,LOO1 ;不到 FF 个字节再清LOOP: SJMP LOOP END 实验2 拆字和拼字程序 3 一、实验目的:掌握汇编语言设计和调试方法。二、实验内容: 1、把2000H 的内容拆开,高位送2001H 低位,低位送2002H 低位,2001H、2002H 高位清零,一般本程序用于把数据送显示缓冲区时用; 2、把2000H.2001H 的低位分别送入2002H 高低位,一般本程序用于把显示缓冲区的数据取出拼装成一字节。 三、实验程序框图: 拆字程序框图拼字程序框图 拆字程序框图 四、实验步骤:用连续或单步方式运行程序,检查2000H~2002H 中内容变化情况。五、思考:如何用断点方式调试本程序。 1/拆字程序清单: ORG 0000H 4 LJMP SE02 ORG 0660H SE02: MOV DPTR,#2000H MOVX A,@DPTR MOV B,A ;(2000)→A→B SWAP A ;交换 ANL A,#0FH ;屏蔽高位 INC DPTR MOVX @DPTR,A ;送2001H INC DPTR MOV A,B ANL A,#0FH ;(2000)内容屏蔽高位 MOVX @DPTR,A ;送2002H LOOP: SJMP LOOP END 2/拼字程序清单: ORG 0000H LJMP START ORG 0680H START: MOV DPTR,#2000H MOVX A,@DPTR ANL A,#0FH ;(2000H)内容屏蔽高位SWAP A ;交换 MOV B,A ;保存INC DPTR MOVX A,@DPTR ;(2000H)内容送A ANL A,#0FH ;屏蔽高位 ORL A,B ;或INC DPTR MOVX @DPTR,A ;送2002H SJMP $ END 实验3 数据排序实验 5 一、实验目的:熟悉51指令系统,掌握程序设计方法。 二、实验内容:编写并调试一个排序子程序,其功能为用冒泡法将数据存储单元中几个单字节无符号的正整数,按从小到大的次序重新排列。 三、程序框图: 开始 清标志位 DPTR取数送A (DPTR+1)送DPTR (A)<((DPTR))? Y N 置标志位,内容交换 N 长度-1=0? Y N 标志位=0? Y 结束 四、实验步骤: 将RAM 1000H~100FH 中放入不等的数据,用断点方法运行本实验程序后检查1000H~100FH 中的内容是否按从小到大的次序排列。 五、思考:修改程序把1000H~100FH 中内容从大到小排列。 1/程序清单: ORG 0000H 6 LJMP SE01 ORG 0640H SE01: CLR 00H ;标志位 MOV DPTR,#1000H ;起始地址MOVX A,@DPTR MOV R7,#04H ;要排

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档