好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

第4章 MCS?51系列单片机指令系统

1.访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。 访问外部数据存储器: MOVX A,@DPTR MOVX @DPTR,A MOVX A,@Ri MOVX @Ri,A

访问程序存储器:

MOVC A,@A+DPTR MOVC A,@A+PC

2.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H、62H、30H、31H、DPTR及SP的内容将有何变化?

PUSH 30H PUSH 31H POP DPL POP DPH MOV 0H,#00H MOV 31H,#0FFH

(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H

3.设(A) = 40H,(R1) = 23H,(40H) = 05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?

XCH A,R1 XCHD A,@R1

(A)=25H (R1)=40H (40H)=03H

4.设(A) = 01010101B,(R5) = 10101010B,分别写出执行ANL A,R5; ORL A,R5;XRL A,R5指令后的结果。

00000000B 11111111B 11111111B

5.简述转移指令AJMP addr11,SJMP rel,LJMP addr16及JMP @A + DPTR的应用。

AJMP addr11:2K范围内的转移;SJMP rel:256字节复位内的转移;

LJMP addr16:64K范围内的转移;JMP @A + DPTR:在某一地址开始的256字节范围内的转移。

6.试用下列4种方式编程,将立即数0EFH送入内部RAM的40H单元中。 (1)用立即寻址;(2)用直接寻址;(3)用寄存器寻址;(4)用寄存器间接寻址 (1) MOV 40H,#0EFH---- 目的操作数立即寻址 (2) MOV 40H,#0EFH 源操作数直接寻址

(3) MOV R0,#0EFH

MOV 40H,,R0 源操作数寄存器寻址 (4) MOV R0,#40H

MOV @R0,#0EFH 目的操作数寄存器间接寻址 7.写出实现下列要求的指令或程序片段。

(1)将内部RAM20H单元内容与累加器A内容相加,结果存放在20H单元中。 (2)将内部RAM30H单元内容与内部RAM31H单元内容相加,结果存放到内部RAM31H单元中。

(3)将内部RAM20H单元内容传送到外部RAM2000H单元中。 (4)使内部RAM20H单元的D7和D3位清零,其他位保持不变。

(5)使内部RAM20H单元的D7和D3位置1,D5位清零,其他位保持不变。 (6)使内部RAM20H单元的D7和D3位置1,D5位取反,其他位保持不变。 (1) (2) (3) (4) 或:

ADD MOV MOV ADD MOV MOV MOV MOVX CLR CLR ANL SETB SETB CLR

A,#20H

20H,A A,30H A,31H 31H,A A,20H

DPTR,#2000H @DPTR,A 03H 07H 20H,#01110111B 03H 07H 05H

(5) 或:

ORL 20H,#10001000B ANL 20H,#11011111B (6) SETB 03H SETB 07H CPL 05H 或:

ORL 20H,#10001000B XRL 20H,#00100000B

8.试用三种方法实现累加器A和寄存器B的内容交换。 (1) MOV R0,A MOV A,B MOV B,R0 (2) PUSH A PUSH B POP A POP B (3) MOV R0,B XCH A,R0 MOV B,R0

9.试分析下列程序段执行后,(A) =?,(30H) =?

MOV

30H,#0A4H

MOV A,#0D6H MOV R0,#30H MOV R2,#5EH ANL A,R2 ORL A,@R0 SWAP A CPL A

XRL A,#0FEH ORL 30H,A

(A)=6EH (30H)=0EFH

10.下述程序执行后,(SP) =?,(A) =?,(B) =?

ORG 2000H MOV SP,#40H MOV A,#30H LCALL SUBR ADD A,#10H MOV B,A L1: SJMP L1 SUBR: MOV DPTR,#200AH PUSH DPL PUSH DPH RET

(SP)= 42H (A)=30H (B)=00H

11.设(R0) = 20H,(R1) = 25H,(20H) = 80H,(21H) = 90H,(22H) = 0A0H,(25H) = 0A0H,(26H) = 6FH,(27H) = 76H。下列程序执行后,结果如何?

CLR C MOV R2,#3 LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1

DJNZ R2,LOOP JNC NEXT MOV @R0,#01H SJMP $ NEXT: DEC R0 SJMP $ (R0)=22H,(R1) = 24H,(20H) = 10H,(21H) = 31H,(22H) = 0A1H,(25H) = 0A0H,(26H) = 6FH,(27H) = 76H。

12.设片内RAM(30H) = 0EH,执行下面的程序后,(A)=?,指出该程序完成的功能。

MOV

MOV RL MOV RL RL

R0,#30H A,@R0 A B,A A A

ADD

=8CH

A,B

功能:将30H中的内容*10操作,结果在累加器A中。

第5章 MCS?51系列单片机汇编语言程序设

1.编程将片内RAM 30H~39H单元中的内容送到以3000H为首的存储区中。 MOV R0,#30H MOV DPTR,#3000H MOV R7,#10

L1: MOV A,@R0

MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,L1 RET

2.片内RAM 60H开始存放20个数据,试统计正数、负数及为零的数据个数,并将结果分别存在50H、51H、52H单元中。

MOV 50H,#0 MOV 51H,#0 MOV 52H,#0 MOV R7,#20 MOV R0,#60H MOV A,@R0 JZ L1

JB ACC.7,L2 INC 50H SJMP LEND INC 51H SJMP LEND INC 52H INC R0 DJNZ R7,L3 RET

3.设10次采样值依次放在片内RAM 50H~59H的连续单元中,试编程去掉一个最大

L3: L2: L1: LEND:

值、去掉一个最小值,求其余8个数的平均值,结果存放在60H中。

L1: L2:

MOV MOV MOV INC CLR MOV SUBB MOV JNC XCH INC DJNZ MOV

R0,#50H

A,@R0 R7,#9 R0 C B,A A,@R0 A,B L2 A,@R0 R0 R7,L1 R0,#51H

;最大值

;最小值

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

第4章MCS?51系列单片机指令系统1.访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。访问外部数据存储器:MOVXA,@DPTRMOVX@DPTR,AMOVXA,@RiMOVX@Ri,A访问程序存储器:MOVCA,@A+DPTRMOVCA,@A+PC2.设堆栈指针SP中
推荐度:
点击下载文档文档为doc格式
6x5804fykd5uqa87qzsz8c83h0epg60165a
领取福利

微信扫码领取福利

微信扫码分享