微机原理与应用复习题及答案-

(1) MOV A,#78H #78→A立即寻址

(2) MOV A,0F0H RAM中(F0H) →A直接寻址

(3) MOVX A,@DPTR 片外RAM中((DPTR)) →A间接挡寻址 (4) MOVC A,@A+PC ROM中(A+PC) →A变址寻址 (5) MOV A,R5 (R5)→A 寄存器寻址

11.指出下列指令的寻址方式和操作功能: (1) INC 30H (30H)+1→30H (2) INC B (B)+1→B (3) RL A A中内容左移一位 (4) INC @R1 ((R1))+1 →(R1)

(5) SETB 50H 1→位寻址地址50H 12.指出下列指令的寻址方式和操作功能

(1) CLR 70H 位寻址地址70H内容 清零指令

(2) INC 30H RAM直接寻址地址30H 内容加1指令

(3) DEC @R0 RAM中以R0内容为地址进行间接寻址的内容减1 (4) RRC A A带进行位循环右移指令,寄存器寻址 (5) CPL 50H 位寻址地址50H内容 取反指令 13.指令改错

(1) DEC DPTR;INC DPTR (2) INC @R2;INC @R0

(3) MOV P1.0,20H;MOV C,20H,MOV P1.0,C (4) RR 20H;RR A

(5) ANL #0FH,A;ANL A, #0FH (6) ORL A,@R2;ORL A,@R0 (7) RLC B;RLC A (8) MUL A;MUL AB

(9) XCH R2,A;XCH A, R2 (10) MOV #30H,A;MOV 30H,A 14.指令改错(每小题1分,共10分) (1) DEC ﹫DPTR;INC DPTR

(2) MOV A,@R2;MOV A,@R0 (3) MOVX @R5,A;MOVX @R0,A

(4) MOV 20H,P1.0;MOV C,P1.0,MOV 20H,C (5) RLC 30H;RLC A

(6) XRL #30H,A;XRL A,30H (7) RR B;RR A (8) DIV B;DIV AB

(9) XCH @R0,A;XCH A,@R0 (10) MOV #48H,A;MOV 48H,A 二、 编程应用

1.用数据传送指令来实现下列要求的数据传送

(1) R0的内容传送到R1。MOV A, R0;MOV R1,A (2) 外部RAM 30H单元内容送R0。MOV R0,#30H; MOVX A,@R0;MOV R0,A (3) 程序存储器ROM 2000H单元内容送R1。MOV A,#00H;

MOV DPTR, #2000H MOV A A+DPTR MOV R1, A (4) ROM 2000H单元内容送外部RAM 1000H单元。

MOV A, #00H; MOV DPTR, #2000H MOV A, @A+DPTR MOV DPTR, #1000H MOVX @DPTR, A (5) 累加器A的内容送R3。 MOV A, R3 2. 用数据传送指令来实现下列要求的数据传送。(每小题2分,共10分) (1) 内部RAM 50H单元内容传送到R3中。 MOV R3, 50H (2) 外部RAM 30H单元内容送内部RAM20H单元。MOVE R0,#30 MOV A,@R0 MOV 20H,A (3) ROM 2000H单元内容送外部RAM 30H单元。MOV A, #00H; MOV DPTR, #2000H MOV A, @A+DPTR MOV R0, #30H MOVX @R0, A (4)A中内容传送到内部RAM 20H单元。 MOV 20H,A

(5)外部RAM 30H单元内容送A中。MOV R0,30H; MOVX A,@R0 3. 用数据传送指令来实现下列要求的数据传送。(每小题2分,共10分) (1) 内部RAM 20H单元内容传送到A中。 MOV A, 20H (2) 外部RAM 1000H单元内容送内部RAM20H单元。 MOV DPTR,#1000H MOV A, @DPTR MOV 20H, A (3) ROM 2000H单元内容送内部RAM 20H单元。

MOV A, #00H; MOV DPTR, #2000H MOV A, @A+DPTR MOV 20H, A

(4) R3中内容传送到内部RAM 50H单元。MOV 50H,R3 (5) 内部RAM 40H单元内容传送到R4中。 MOV R4, 40H

4.用循环转移指令编写延时20ms的延时子程序,设单片机的晶振频率为12MHz。 DELAY20:MOV R1,#14H DL2:MOV R2,#0FAH

DL1:NOP NOP

DJNZ R2,DL1 DJNZ R1,DL2 RET

5. 用循环转移指令编写延时1ms的延时子程序,设单片机的晶振频率为12MHz。 DELAY1:MOV R1,#0AH DL2:MOV R2,#18H DL1:NOP NOP

DJNZ R2,DL1 DJNZ R1,DL2 RET

6.将(R4R5)中的双字节数取补结果送R4R5。 MOV A

CMPT:MOV A,R5 CPL A ADD A,#1 MOV R5,A MOV A,R4 CPL A

ADDC A,#0 MOV R4,A RET

7. 将(30H31H)中的双字节数取补结果送30H31H。 CMPT:MOV A,31H CPL A ADD A,#1 MOV 31H,A MOV A,30H CPL A

ADDC A,#0 MOV 30H,A RET

8、 将(R2R3)和(R6R7)两个双字节无符号数相加,结果送R4R5。 NADD:MOV A,R3 ADD A,R7 MOV R5,A MOV A,R2 ADDC A,R6 MOV R4,A RET

9、 将(R2R3)和(R6R7)两个双字节无符号数相减,结果送R4R5。 NSUB:MOV A,R3 CLR C

SUBB A,R7 MOV R5,A MOV A,R2 SUBB A,R6 MOV R4,A RET

10、 将A中所存放的8位二进制数转换为BCD码,存于片内RAM的20H、21H单元。

MOV B,#100 DIV AB

MOV R0,#21H MOV @R0,A DEC R0

MOV A,#10 XCH A,B DIV AB SWAP A ADD A,B MOV @R0,A RET

11、 将A中所存的一位十六进制数转换为ASCII码。(5分) TRANS:MOV R2,A ADD A,#F6H MOV A,R2 JNC AD30 ADD A,#07H AD30: ADD A,#30H RET

12、 编写一程序段,其功能为:内部RAM的30H(高)~32H(低)和33H(高)~35H(低)两个三字节无符号数相加,结果存入30H(高)~32H(低)单元,设三字节相加时无进位。(10分) MOV R0,#32H MOV R1,#35H MOV R2,#03H CLR C

LOOP:MOV A,@R0 ADDC A,@R1 MOV @R0,A DEC R0

联系客服:779662525#qq.com(#替换为@)