单片微型计算机原理及应用 课后习题答案 山东理工

发布时间 : 星期六 文章单片微型计算机原理及应用 课后习题答案 山东理工更新完毕开始阅读

MOV A,@R0 MOV R7,#8 INC R0 L1: CLR C MOV B,A SUBB A,@R0 MOV A,B JN L4 XCH A,@R0 L4: INC R0 DJNZ R7,L3 MOV R3,#0 ; 求和 MOV R4,#0 MOV R7,#8 MOV R0,#52H L5: MOV A,R4 ADD A,@R0 MOV R4,A MOV A,R3 ADDC A,#0 MOV R3,A INC R0

DJNZ R7,L5 MOV A,R4 ;平均值 SWAP A RL A MOV B,A MOV A,R3 RR A RR A RR A ANL A,#00011111B ORL A,B MOV 60H,A RET

4.编写程序将R4R5R6中的3个字节数据对半分解成6个字节,存入显示缓冲区(DISMEM0~DISMEM5)。

CL:

MOV LCALL MOV MOV MOV LCALL MOV MOV MOV LCALL MOV MOV RET MOV ANL MOV MOV ANL

A,R6

CL

DISMEM0,R0 DISMEM1,R1 A,R5 CL

DISMEM2,R0 DISMEM3,R1 A,R4 CL

DISMEM4,R0 DISMEM5,R1 B,A A,#0FH R0,A A,B

A,#0F0H

SWAP A MOV R1,A RET 5.试编程把以2000H为首地址的连续10个单元的内容按升序排列,存放到以3000H为首地址的存储区中。

MOV DPTR,#2000H ;读到片内30H开始的单元 MOV R0,#30H MOV R7,#10 L1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R7,L1 START: CLR 00H ;排序 CLR C MOV R7,#9 MOV R0,#30H MOV A,@R0 L3: INC R0 MOV R2,A SUBB A,@R0 MOV A,R2 JC NEXT SETB 00H XCH A,@R0 DEC R0 MOV @R0,A INC R0 NEXT: MOV A,@R0 DJNZ R7,L3

JB 00H,START MOV DPTR,#3000H ;送到片外3000H开始的单元 MOV R0,#20H MOV R7,#10 L2: MOV A,@R0 MOVX @DPTR,A INC DPTR INC R0 DJNZ R7,L2 RET

6.设片内30H单元开始,连续存放2个字节二进制数,试分别将其转换为BCD码,并以压缩BCD码格式连续存放在以60H为首地址的存储区中,低位字节存放在低地址单元中。

DBCD:

MOV MOV MOV MOV MOV MOV MOV INC CLR

R0,30H

A,R0 R6,A R1,60H A,R1 R7,A R2,#2 R2 A

BB0: MOV @R1,A INC R1

DJNZ R2,BB0 MOV R3,#16 BB3: MOV A,R6 MOV R0,A MOV R2,#2 CLR C BB1: MOV A,@R0 RLC A MOV @R0,A INC R0

DJNZ R2,BB1 MOV R2,#2 INC R2 MOV A,R7 MOV R1,A BB2: MOV A,@R1

ADDC A,@R1 DA A MOV @R1,A INC R1

DJNZ R2,BB2 DJNZ R3,BB3 RET

7.设片内RAM中从20H开始的单元,连续存放10个非压缩BCD码,试将其转换为ASCII码,存放到片内50H开始的单元中。

MOV R0,#20H MOV R1,#50H MOV R 7,#10 L1: MOV A,@R0 ADD A,#30H MOV @R1,A INC R0 INC R1 DJNZ R7,L1 RET

8.从20H单元开始有一无符号数据块,其长度在20H单元。求出数据块中的最小值,并存入21H单元。

参看第3题。

9.片外RAM从2000H单元开始存有10个单字节无符号数,找出最大值存入片外RAM 3000H单元,试编写程序。

参看第3题。

10.从片外RAM 2000H单元开始存有20个有符号数,要求把它们传送到片外RAM 3000H开始的单元,但负数不传送,试编写程序。

MOV MOV MOV

DPTR,#2000H

R0,#20H R7,#20

L1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R7,L1 MOV DPTR,#3000H MOV R0,#20H MOV R7,#20 L2: MOV A,@R0 JB ACC.7,L3 MOVX @DPTR,A L3: INC DPTR INC R0 DJNZ R7,L2 RET

11.设在片外RAM 2000H~2004H单元存有5个压缩的BCD数,试编程将它们转变为ASCII码,存放到以2005H为首地址的存储区中。

L1: L2: 12.在片外

MOV DPTR,#2000H MOV R0,#20H MOV R7,#5 MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R7,L1 MOV A,20H LCALL CL MOV 30H,R0 MOV 31H,R1 MOV A,21H LCALL CL MOV 32H,R0 MOV 33H,R1 MOV A,22H LCALL CL MOV 34H,R0 MOV 35H,R1 MOV A,23H LCALL CL MOV 36H,R0 MOV 37H,R1 MOV A,24H LCALL CL MOV 38H,R0 MOV 39H,R1 MOV R0,#30H MOV DPTR,#2005H MOV R7,#10 MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,L2 RET RAM 2000H、2001H和3000H、3001H中分别存放两个字数据(高8位

联系合同范文客服:xxxxx#qq.com(#替换为@)