第四单元单片机作业.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四单元单片机作业第四单元单片机作业

昆明学院 第四章单片机作业 姓 名: 学 号: 班 级:2009级机制3班 4.3 已知从内部RAM的BLOCK单元开始存放有一组有符号数,数的个数存放在LEN单元。请编写可以统计其中正数和负数个数并分别存入NUM和(NUM+1)单元的程序。 ORG 1000H NUM DATA 30H LEN DATA 20H BLOCK DATA 40H MOV R0 #BLOCK MOV NUM #00H MOV B #00H LOOP: MOV A @R0 INC R0 JB ACC.7 NEG INC NUM SJMP NEXT NEG INC B NEXT DNJZ LEN LOOP MOV NUM+1 B SJMP $ END 4.4 已知内存单元有16个无符号数,分别存放30H~3FH中,试求它们的累加和,并将存放在R4和R5中。 编程说明:存放16个二进制无符号数的首地址为30H,此程序的循环次数为16次,和数放在R4,R5中。 STAT : MOV R0, #30H MOV R2 ,#10H MOV R4 ,#00H M0V R5 ,#00H LOOP : MOV A , R5 ADD A , @R0 MOV R5 ,A MOV A , #00H ADDC A , R4 MOV R4 , A INC R0 DJNZ R2 , LOOP SJMP $ END 4.6 用调用子程序的方法计算c=a2+b2。 编程说明;a事先存在内部RAM的31H单元,b事先存在32H单元,把c存入 33H 单元。 ORG 0000H MOV SP #3FH LCALL SQR MOV R1, A MOV A , 32H LCALL SQR ADD A, , R1 MOV 33H , A SJMP $ SQR : PUSH DPH PUSH DPL MOV DTR , TABLE MOV A , @A+DPTR POP DPL POP DPH RET TABLE :0,1,4,9,16,25,36,49,64,81 4.9 某系有200名学生参加外语统考,若成绩已存放在MCS—51外部RAM起始地址为ENGLISH的连续存储单元,现决定给成绩在95~100分之间的学生颁发A级合格证书和成绩在90~94分之间的学生颁发B级合格证书。试编制一个程序,可以统计A级和B级证书的学生人数,并把统计结果存入内部RAM的GRADA和GRADB单元。 编程说明 A级调用LOOP1 B级调用LOOP2 GRADA 存A级 GRADAB级 ORG 1000H START MOV DPTR ,ENGLISH MOV R0 , #5AH MOV R2 , #5FH LOOP1 : MOV A , @R0 INC DPTR INC R0 LOOP3 : CJNE #5DH LOOP1 LOOP2 : MOV A , @R2 INC DPTR INC R2 LOOP4 : CJNE #64H LOOP2 MOV GRADB R0 MOV GRADA R2 END 4.11 设计程序,把片外RAM从2000H开始存放的10个数据传送到片外RAM 005H开始的连续单元中。 ORG 0000H MOV DPTR ,#2000H MOVX A , @DPTR MOV R2 , #10 MOV R0 , #005H L1 : MOV A , @R0 MOVX @DPTR , A INC DPTR INC R0 DJNZ R2 , L1 END 设加数和加数分别存放在片内RAM从50H开始的连接单元中,均为无符号数。数的字节数N放在R2寄存器中,编程求出这两个是的和,

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档