MCS-51单片机原理和接口技术习题参考答案(2)

2019-03-09 15:22

二者访问的空间不同,寻址方式不同。

前1条指令是变址寻址方式,对ROM操作。

后1条指令是寄存器间接寻址方式,对片外RAM操作。 3-10解答: R0←30H,(R0)=30H A←((R0)),(A)=40H R1←(A),(R1)=40H B←((R1)),(B)=10H (R1)←(P1),((R1))=(40H)=EFH P2←(P1),(P2)=EFH 10H←20H,(10H)=20H 30H←(10H),(30H)=20H 结果:(R0)=30H,(A)=40H,(R1)=40H,(B)=10H,(40H)=EFH,(P2)=EFH,(10H)=20H,(30H)=20H

3-11解答:

(1)由于在工作寄存器与工作寄存器之间不能直接传送数据,所以需要借助累加器A。 MOV A,R1 MOV R0,A (2)片外RAM向片内RAM传送数据,不能直接进行,需要借助累加器A。由于片外RAM是60H单元,地址小于FFH,所以间址寄存器使用Ri即可。 MOV R1,#60H MOVX A,@R1 MOV R0,A (3) MOV R1,#60H MOVX A,@R1 MOV 40H,A

(4)片外数据不能直接送入片外单元,需要先将片外数据读入累加器,然后再送到片外。 MOV DPTR,#1000H MOVX A,@DPTR MOV R1,#40H MOVX @R1,A

(5)ROM中的数据需要使用查表指令才能读出来,所以此题不能使用一般的传送指令从ROM中读数据。

MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV R2,A (6) MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV 40H,A

(7) MOV DPTR,#2000H MOV A,#00H MOVC A,@A+DPTR MOV DPTR,#0200H MOVX @DPTR,A 3-12解答:

片外RAM与片内RAM之间的数据传送不能直接进行,需要借助累加器A。数据交换需要使用数据交换指令XCH。 MOV DPTR,#1000H MOVX A,@DPTR XCH A,60H MOVX @DPTR,A 3-13解答:

本题需要采用查表指令。 ORG 0200H MOV DPTR,#TAB MOV A,R7

MOVC A,@A+DPTR ORG 0300H TAB: DB 0,1,4,9,16,25,36,49,64,81 3-14解答: (1)结果:(A)←→(R1),(A)=40H,(R1)=5BH,(PSW)=81H (2)结果:(A)←→(40H),(A)=C3H,(40H)=5BH,(PSW)=80H (3)结果:(A)←→((R1)),(A)=C3H,((R1))=(40H)=5BH,(PSW)=80H (4)结果:(A)0~3←→((R1))0~3,(A)=53H,((R1))=(40H)=CBH,(PSW)=80H (5)结果:(A)0~3←→(A)4~7,(A)=B5H,(PSW)=81H (6)结果:A←(A)+(R1),(A)=9BH,(PSW)=05H (7)结果:A←(A)+(40H),(A)=1EH,(PSW)=80H (8)结果:A←(A)+40H,(A)=9BH,(PSW)=05H (9)结果:A←(A)+(40H)+CY,(A)=1FH,(PSW)=81H (10)结果:A←(A)-(40H)-CY,(A)=97H,(PSW)=85H (11)结果:A←(A)- 40H - CY,(A)=1AH,(PSW)=01H 3-15解答:

(1)该组指令执行后(A)=00H,不影响CY位。 (2)该组指令执行后(A)=00H,影响CY位。

说明:单独执行INC指令,只影响奇偶标志位P,不影响半进位标志位AC和进位位CY位。执行ADD指令后,将影响CY、AC和P位。

3-16解答:

本题涉及的是16位数的减法运算,首先应让低8位相减,然后让高8位带着借位相减。注意:应在低8位相减前将进位位CY清空0。 CLR C

MOV A,#56H SUBB A,#78H MOV R0,A MOV A,#23H SUBB A,#45H MOV R1,A 3-17解答:

A←(A)∧23H,(A)=03H 42H←(42H)∨(A),(42H)=37H A←(A)?((R0)),(A)=34H A←(A),(A)=CBH 结果:(A)=CBH 3-18解答: (1) MOV DPTR,#1000H MOVX A,@DPTR CPL A

MOVX @DPTR,A (2) MOV R0,#60H MOVX A,@R0 ANL A,#3FH XRL A,#03H MOVX @R0,A 3-19解答:

DA A指令的作用是对A中刚进行的两个BCD码的加法结果进行修正,即继续使BCD码加法运算的结果保持为BCD码。使用时,DA A指令只能使用在加法指令后,即ADD指令和ADDC指令。

3-20解答: MOV DPTR,#1000H MOVX A,@DPTR MOV B,#10 MUL AB MOV 30H,A MOV 31H,B MOV DPTR,#2000H MOVX A,@DPTR MOV B,#32 MUL AB ADD A,30H MOV 30H,A MOV A,B ADDC A,31H MOV 31H,A

3-21解答: MOV R7,#10 MOV DPTR,#block1 MOV R0,#block2 LOOP: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0

DJNZ R7,LOOP 3-22解答: MOV A,#01H LOOP: MOV P0,A RL A

LCALL DELAY SJMP LOOP DELAY: MOV R7,#00H DELAY1: MOV R6,#00H DJNZ R6,$

DJNZ R7,DELAY1 RET 3-23解答: ORL C,11H MOV 11H,C MOV C,P1.0 ORL C,10H ANL C,11H MOV P1.0,C 3-24解答: (1)正确。

(2)错误。原因:清零指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H~7FH),所以该条指令错误。

(3)错误。原因:ACC是直接字节地址,不能用于清零指令。 (4)正确。ACC.0是一个位,可以应用到清零指令中。 (5)正确。

(6)错误。原因:取反指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H~7FH),所以该条指令错误。

(7)错误。原因:ACC是直接字节地址,不能用于取反指令。 (8)正确。ACC.0是一个位,可以应用到取反指令中。 3-25解答: ANL A,B ORL A,C

MOV F,C 3-26解答:

指令LJMP addr16是长转移指令,指令中提供了16位目的地址,寻址范围是64KB。

指令AJMP addr11是绝对转移指令,指令中11位目的地址,其中a7~a0在第二字节,a10~a8则占据第一字节的高3位,寻址范围是与PC当前值(本指令所在地址+本条指令所占用的字节数2)在同一个2K的区域内。

3-27解答: (1) MOV P1,#0CAH ;P1←CAH,P1=CAH=11001010B MOV A,#56H ;A←56H,A=56H=01010110B JB P1.2,L1 ;若P1.2=1,则转移至L1 JNB ACC.3,L2 ;若ACC.3=0,则转移至L2 … L1: … L2: …

执行完本段程序后将转移至L2,因为P1.2=0,ACC.3=0,所以转至L2。 (2) MOV A,#43H ;A←43H,A=43H=01000011B JB ACC.2,L1 ;若ACC.2=1,则转移至L1 JBC ACC.6,L2 ;若ACC.6=1,则转移至L2,同时将ACC.6清零 … L1: … L2: …

执行完本段程序后将转移至L2,因为ACC.2=0,ACC.6=1,所以转至L2,并且将ACC.6清零。 3-28解答: (1) MOV A,P1 CPL A ANL A,#0F0H SWAP A MOV P1,A (2):

LOOP: JNB P1.4,L1 ; JNB P1.5,L2 ; JNB P1.6,L3 ; JNB P1.7,L4 ; LJMP LOOP ; L1: MOV P1,#01H ; LJMP LOOP ; L2: MOV P1,#02H ; LJMP LOOP ; L3: MOV P1,#03H ; LJMP LOOP ;


MCS-51单片机原理和接口技术习题参考答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:宏图煤矿(13)探放水设计方案及安全措施

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

马上注册会员

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