山大单片机实验.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文档。上传文档
查看更多
单片机实验报告 孙洪悦 2011 实验1:汇编程序实验1 自我完成实验 (1)实验内容 将片内 RAM 30H 单元中的 8 位二进制数转换成 10 进制数。希望转换后的结果保存于 31H 和 32H,31H 低 4 位存放个位,高 4 位存放十位,32H 低 4 位存放百位,高 4 位为 0 自我完成实验程序 ORG 0000H ! AJMP MAIN ORG 0030H MAIN: MOV SP,#62H ; MOV 30H,#0AFH ;先将30H写上100 MOV R0,#32H ;将百位地址送R0 MOV A,30H ;这句写错了,应该是将30H的内容送给A,而不是30H,我误写成了#30H MOV B,#64H ;除数为100 DIV AB ;AB相除 … MOV @R0,A ;将百位的数送给32H地址 MOV A,B ;将余数送给A MOV B,#0AH ;将10送B DIV AB ;AB相除 SWAP A ;高低四位交换 DEC R0 ;R0减1 到31H MOV @R0,A ;将十位送31H的高四位 MOV A,B ANL A,#0FH ORL 31H,A ;31高低四位分别存十和百位 ~ SJMP $ END 总结与提高:本程序用了一个小算法,一个三位数数X除以100,商a为百位,余数为:X-100*a 再用此余数除10,商为十位,余数为个位。 实验2:汇编程序实验2 自我完成实验 (1)实验内容 : 将片内 RAM 30H 开始的 32 个单元中分布着随机的有符号 8 位二进制数,请按从小到大 的顺序进行排序,排序后的数据仍然保存到 30H 开始的 32 个单元中(低地址存放小数据)。 程序及其注释 ② 自我完成实验程序 第一种排序方法: ORG 0000H AJMP MAIN ORG 0090H : MAIN: MOV SP,#62H ; MOV A,#0H MOV R1,#30H MOV R7,#20H MOV DPTR,#TABLE MOV R0,#1FH ;执行31次 LOOP1: MOVC A,@A+DPTR } MOV @R1,A INC R1 INC DPTR MOV A,#0H DJNZ R7,LOOP1 ;执行32次循环,在30-4F写表格数据 LOOP2: MOV R1,#30H ;将起始地址给R1 MOV A,R0 ;R0为执行31次 MOV R2,A ;   把进行一次冒泡的次数存到R2中 | LOOP3: CLR C ;清C MOV A,@R1 ;    ;比较开始,取第一个数 MOV R3,A ; 腾出累加器 INC R1 ;指向下一个地址 SUBB A,@R1 ;取后一个数 ,并与前一个数相减,看是否有CY位溢出,溢出则说明前一个数小,要换位 JC LOOP4 ;前一个数小的情况下,两个数交换位置 ,否则,继续执行 MOV A,R3 ;   把后一个数存到累加器下 XCH A,@R1 ;累加器的数与R1指向的数交换位置, 即 ;前一个数和后一个数交 【 DEC R1 ;R1自减,准备将后面的数存到前面 MOV @R1,A ;将后面的数存到前面 INC R1 ;R1自增,准备下次转换,以上五行为交换 LOOP4: DJNZ R2,LOOP3 ;R2自减,为下次冒泡准备 DJNZ R0,LOOP2 ;跳回去进行下一轮冒泡 SJMP $ · ORG 30H TABLE: DB 1,3,9,2,17,4,11,6 DB 5,20,100,64,21,14,79,35 DB 92,7,91,23,65,16,13,18 DB 18,73,65,101,27,19,62,69 END 第二种排序方法; ! ORG 0000H AJMP MAIN ORG 0090H MAIN: MOV SP,#62H ; MOV A,#0H MOV R1,#30H MOV R7,#20H MOV DPTR,#TABLE MOV R0,#1FH ;执行31次 ( LOOP1: MOVC A,@A+DPTR MOV @R1,A INC R1 INC DPTR MOV A,#0H DJNZ R7,LOOP1 ;执行32次循环,在30-4F写表格数据 … LOOP2: MOV R1,#30H ;将起始

文档评论(0)

180****2140 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档