单片机习题参考答案08-12

2019-04-14 12:36

单片机习题参考答案

第四章 P97 6,7,9,10,12,16,17,18,19,23,27,28,29

6. 在80C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,请分析下段程序中各指令的作用,并翻译成相应的机器码;说明源操作数的寻址方式及顺序执行每条指令后的结果。

机器码(H) 指令 结果 源操作数的寻址方式 E540 MOV A,40H ;A=(40H)=48H 直接寻址 F8 MOV R0,A ;R0=48H 寄存器寻址 7590F0 MOV P1,#0F0H ;P1=0F0H 立即寻址

A630 MOV @R0,30H ;(48H)= 38H 直接寻址 901246 MOV DPTR,#1246H;DPTR=1246H 立即寻址 853840 MOV 40H,38H ;(40H)=40H 直接寻址 A830 MOV R0,30H ;R0=38H 直接寻址 8890 MOV 90H,R0 ;(90H)=38H 寄存器寻址 754830 MOV 48H,#30H ;(48H)=30H 立即寻址

E6 MOV A,@R0 ;A=40H 寄存器间接寻址 8590A0 MOV P2,P1 ;P2=P1=38H 直接寻址

7. 试说明下列指令的作用,并将其翻译成机器码,执行最后一条指令对PSW有何影响?A的终值为多少?

机器码(H) 指令 结果 (1) 7872 MOV R0,#72H ;R0=72H

E8 MOV A,R0 ;A=72H,P=0

244B ADD A,#4BH ;A=BDH,CY=0,OV=1,AC=0,P=0 (2) 7402 MOV A,#02H ;A=02H,P=1

F5F0 MOV B,A ;B=02H

740A MOV A,#0AH ;A=0AH,P=0

25F0 ADD A,B ;A=0CH,CY=0,OV=0,AC=0,P=0

A4 MUL AB ;A=18H,B=0,CY=0,OV=0,AC=0,P=0 (3) 7420 MOV A,#20H ;A=20H,P=1

F5F0 MOV B, A ;B=20H

25F0 ADD A,B ;A=40H,CY=0,OV=0,AC=0,P=1 9410 SUBB A,#10H ;A=30H,CY=0,OV=0,AC=0,P=0

84 DIV AB ;A=01H,B=10H,CY=0,OV=0,AC=0,P=1

9. 试编程将片外数据存储器60H中的内容传送到片内RAM 54H单元中。 MOV DPTR,#0060H MOVX A,@DPTR MOV 54H,A

(MOV P2,#0

MOV R0,#60H MOVX A,@R0 MOV 54H,A)

1

10.试编程将寄存器R7内容传送到R1中去。 MOV A,R7 MOV R1,A

12.试说明下段程序中每条指令的作用,并分析当执行完指令后,R0中的内容是什么? MOV R0,#0A7H ;R0=A7H

XCH A,R0 ;A=A7H,A的内容暂存R0 SWAP A ;A=7AH

XCH A,R0 ;R0=7AH,A的内容恢复

16.试编程将片外RAM中30H和31H单元的内容相乘,结果存放在32H和33H单元中,高位存放在33H单元中。 MOV P2,#0 MOV DPTR,#30H MOV R0,#30H MOVX A,@DPTR MOVX A,@R0 MOV B,A MOV B,A INC DPTR INC R0 MOVX A,@DPTR MOVX A,@R0 MUL AB MUL AB INC DPTR INC R0 MOVX @DPTR,A MOVX @R0,A INC DPTR INC R0 MOV A,B MOV A,B MOVX @DPTR,A MOVX @R0,A

17.试用三种方法将累加器A中无符号数乘2。 (1) CLR C RLC A

(2) MOV R0,A ADD A,R0 或 ADD A,ACC (3) MOV B,#2 MUL AB

18.请分析依次执行下面指令的结果:

MOV 30H,#0A4H ;(30H)=A4H MOV A,#0D6H ;A=D6H,P=1 MOV R0,#30H ;R0=30H MOV R2,#47H ;R2=47H ANL A,R2 ;A=46H,P=1 ORL A,@R0 ;A=E6H,P=1 SWAP A ;A=6EH,P=1 CPL A ;A=91H,P=1 XRL A,#0FFH ;A=6EH,P=1 ORL 30H,A ;(30H)=EEH

2

19.求执行下列指令后,累加器A及PSW中进位位CY、奇偶位P和溢出位OV的值。

(1)当A=5BH时 ;ADD A,#8CH 0101 1011 +) 1000 1100 1110 0111

结果:A=E7H,CY=0,OV=0,P=0,AC=1

(2)当A=5BH时 ;ANL A,#7AH 0101 1011 ∧)0111 1010 0101 1010 结果:A=5AH,P=0

(3)当A=5BH时 ;XRL A,#7FH 0101 1011 ⊕)0111 1111 0010 0100 结果:A=24H,P=0

(4)当A=5BH,CY=1时 ;SUBB A,#0E8H

0101 1011 或将减法转换成补码加法 0101 1011 1110 1000 -E8H的补码 0001 1000 -) 1 -1的补码 +) 1111 1111 0111 0010 10111 0010 结果:A=72H,CY=1,OV=0,P=0,AC=0

23.执行下述程序后,SP=?A=?B=?解释每一条指令的作用,并将其翻译成机器码。

地址(H) 机器码(H) ORG 200H

0200 758140 MOV SP,#40H ;SP=40H 0203 7430 MOV A,#30H ;A=30H

0205 120250 LCALL 250H ;调用250H开始的子程序SP=42H,

;(42H)=02H,(41H)=08H

0208 2410 ADD A,#10H ;此句没有执行 020A F5F0 MOV B,A ;B=30H 020C 80FE L1:SJMP L1 ;

ORG 0250H

0250 90020A MOV DPTR,#20AH;DPTR=020AH

0253 C082 PUSH DPL ;DPL进栈,SP=43H,(43H)=0AH 0255 C083 PUSH DPH ;DPH进栈,SP=44H,(44H)=02H

0257 22 RET ;返回,此处是利用RET将栈顶内容弹出

PC=020AH,SP=42H

44H 02H 43H 0AH 栈区 42H 02H 41H 08H 40H 执行程序后,SP=42H,A=30H,B=30H

3

27.试编一程序将外部数据存储器2100H单元中的高4位置“1”,其余位清”0”。 MOV DPTR,#2100H MOVX A,@DPTR

ANL A,#0F0H MOV A,#0F0H ORL A,#0F0H

MOVX @DPTR,A

28.试编程将内部数据存储器40H单元的第0位和第7位置”1”,其余位变反。

MOV A,40H CPL A

SETB ACC.0 (或ORL A,#81H) SETB ACC.7 MOV 40H,A

29.请用位操作指令,求下面逻辑方程:

(1)P1.7?ACC.0?(B.0?P2.1)?P3.2

MOV C,P2.1 ORL C,B.0 ANL C,ACC.0 ORL C,/P3.2 MOV

P1.7,C

(2)PSW.5?P1.3?ACC.2?B.5?P1.1

MOV C,P1.3 ANL C,ACC.2 ORL C,B.5 ANL C,/P1.1 MOV

PSW.5,C

(3)P2.3?P1.5?B.4?ACC.7?P1.0

MOV C,B.4 ANL C,/P1.5 ORL C,/ACC.7 ANL C,P1.0 MOV P2.3,C

第五章 P112 1,3,6,7,11,20

1. 编程将片内40H~60H单元中内容送到以3000H为首的片外RAM存储区中

方法1: MOV R0,#40H MOV DPTR,#3000H MOV R2,#21H

LOOP: MOV A,@R0

4

方法2:

MOVX INC INC DJNZ ┋ @DPTR,A R0 DPTR R2,LOOP

R0,#40H DPTR,#3000H R2,#0 A,@R0 @DPTR,A R0 DPTR R2

R2,#21H,LOOP

R0,#40H DPTR,#3000H A,@R0 @DPTR,A R0 DPTR

R0,#61H,LOOP

方法3:

MOV MOV

MOV LOOP: MOV MOVX INC INC INC CJNE ┋ MOV

MOV

LOOP: MOV MOVX INC INC CJNE ┋

补充:编程将ROM中3000H~3020H单元的内容送片内RAM40H~60H单元中去。 MOV R0,#40H MOV DPTR,#3000H MOV R2,#21H LOOP: CLR A

MOVC A,@A+DPTR

MOV @R0,A INC R0 INC DPTR

DJNZ R2,LOOP

3.编程计算片内RAM区50H~57H 8个单元中数的算术平均值,结果存放在5AH中。 解: ORG 2000H MOV R0,#50H CLR A

MOV R2,A LOOP: ADD A,@R0 JNC DOWN

5


单片机习题参考答案08-12.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:反渗透膜的污染及清洗方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: