单片机原理及应用(姜志海第3版)习题参考答案 下载本文

内容发布更新时间 : 2024/12/24 0:26:32星期一 下面是文章的全部内容请认真阅读。

MOV B,R0

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) ADD A,20H MOV 20H,A (2) MOV A,30H ADD A,31H MOV 31H,A (3) MOV A,20H

MOV DPTR,#2000H MOVX @DPTR,A (4) CLR 03H CLR 07H 或:

ANL 20H,#01110111B (5) SETB 03H SETB 07H CLR

05H

或:

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

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

8.试分析下列程序段执行后,(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

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

R0,#30H

第 9 页 共 29 页 m

操作,结果在累加器A中。

第 10 页 共 29 页 m

MOV RL MOV RL RL ADD

=8CH

A,@R0 A B,A A A A,B

功能:将30H中的内容*10 第4章 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 MOV MOV INC

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

;最大值

;最小值

第 11 页 共 29 页 m

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.编写程序将R4、R5、R6中的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

第 12 页 共 29 页 m