单片微机原理与接口技术作业参考答案(5)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片微机原理与接口技术第5章作业与参考答案

1、子程序调用时,参数的传递方法有哪几种?

答:子程序调用时,参数的传递方法有:

(1)利用累加器A或寄存器;

(2)利用存储器;

(3)利用堆栈。

2、编写程序把外部RAM的2000-20FFH RAM空间置零。

答:ORG000H

MOV R0,#00H

MOV DPTR,#2000H;空间首地址送DPTR

LOOP:MOV A,#00H

MOVX@DPTR,A;清零

INC DPTR;DPTR加1

INC R0;字节数加1

CJNE R0,#00H,LOOP;连续清256个字节

LOOP1:SJMP LOOP1

END

3、编写一段程序,把外部RAM中1000H~1030H单元的内容传送到内部RAM的30H~60 H单元中。

答:ORG0030H

MOV R1,#49

MOV R0,#30H

MOV DPTR,#1000H

LOOP:MOVX A,@DPTR

MOV@R0,A

INC DPTR

INC R0

DJNZ R1,LOOP

SJMP$

END

4、在内部RAM的21H单元开始存有一组单字节不带符号数,数据长度为30H,要求找出最大数存入BIG单元。

答:

START:MOV R7,#30H;30是立即数

DEC R7

MOV R0,#21H

MOV A,@R0

LOOP:INC R0

CLR C

SUBB A,@R0;(A)-(R0)-C给A

JNC LOOP1;C=0,够减跳转LOOP1,A还原

MOV A,@R0;C=1,不够减,把R0给A

NEXT:

DJNZ R7,LOOP

MOV r5,A

SJMP$

LOOP1:ADDC A,@R0

SJMP NEXT

END

5、编程统计累加器A中“1”的个数。

答:

MOV R1,#0

PUSH ACC;存放A

LOOP1:JZ DONE;A=0转到DONE

CLR C;C清0

RLC A;A带进位C右移

JNC LOOP1;C=0跳转LOOP1

INC R1;C不=0,R1+1,结果放在R1,计算出A有一位1

SJMP LOOP1;跳转回LOOP1

DONE:POP ACC

SJMP$

END

相关文档
最新文档