单片机习题及参考答案

2020-04-14 16:45

习题及参考答案

一、填空题

1、指令格式是由 操作码 和 操作数 所组成,也可能仅由 操作码 组成。 2、若用传送指令访问MCS-51的程序存储器,它的操作码助记符应为 MOVC 。 3、若用传送指令访问MCS-51的片内数据存储器,它的操作码助记符应为 MOV 。 4、若访问MCS-51的片外数据存储器,它的操作码助记符应为 MOVX 。 5、累加器(A)=80H,执行完指令ADD A,#83H后,进位位C= 1 。 6、执行ANL A,#0FH指令后,累加器A的高4位= 0000 。

7、JZ rel的操作码地址为1000H,rel=20H,它的转移目的地址为 1022H 。 8、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为 2073H 。 9、累加器(A)=7EH,(20H)= #04H,MCS-51执行完ADD A,20H指令后PSW.0= 0 。 10、MOV PSW,#10H是将MCS-51的工作寄存器置为第 2 组。

11、指令LCALL 37B0H,首地址在2000H,所完成的操作是 2003H 入栈, 37B0H →PC。

12、MOVX A,@DPTR源操作数寻址方式为 寄存器间接寻址 。 13、ORL A,#0F0H是将A的高4位置1,而低4位保持 不变 。

14、SJMP rel的指令操作码地址为0050H,rel=65H,那么它的转移目标地址为 00B7H 。 15、设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为 2080H 。 16、MOV C,20H源寻址方式为 位 寻址。

17、在直接寻址方式中,只能使用 8 位二进制数作为直接地址,因此其寻址对象只限于 片内RAM 。

18、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 地址 。 19、在变址寻址方式中,以 A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。 20、假定累加器A中的内容为30H,执行指令 1000H:MOVC A,@A+PC

后,把程序存储器 1031H 单元的内容送入累加器A中。 21、MOVX A,@DPTR源操作数寻址方式为 寄存器间接寻址 。 22、下列程序段的功能: 交换A、B的内容。 PUSH ACC PUSH B POP ACC POP B

23、假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令: PUSH ACC PUSH B

后,SP的内容为 62H ,61H单元的内容为 30H ,62H单元的内容为 70H 。 24、假定(SP)=62H,(61H)=30H,(62H)=70H,执行下列指令: POP DPH POP DPL

后,DPTR的内容为 7030H ,SP的内容为 60H 。 25、假定(A)=85H,(R0)=20H,(20H)=0AFH。执行指令: ADD A,@R0

后,累加器A的内容为 34H ,CY的内容为 1 ,AC的内容为 1 ,OV的内容为 1 。

26、假定(A)=85H,(20H)=0FFH,(CY)=1,执行指令: ADDC A,20H

后,累加器A的内容为 85H ,CY的内容为 1 ,AC的内容为 1 ,OV的内容为 0 。 27、累加器A中存放着一个其值小于或等于127的8位无符号数,CY清“0”后执行 RLC A指令,则A中数变为原来的 2 倍。 28、ORG 2000H LCALL 4000H ORG 4000H

ADD A,R2 执行完LCALL指令后,PC= 4000H 。

29、假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H。执行指令: INC A INC R3 INC 30H INC @R0

后,累加器A的内容为 00H ,R3的内容为 10H ,30H的内容为 0F1H ,40H的内容为 01H 。 30、假定(A)=56,(R5)=67。执行指令: ADD A,R5 DA A

后,累加器A的内容为 00100011B ,CY的内容为 1 。

31、假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH。执行指令: DEC A DEC R7 DEC 30H DEC @R1

后,累加器A的内容为 0EH ,R7的内容为 18H ,30H的内容为 0FFH ,40H的内容为 0FEH 。 32、假定(A)=50H,(B)=0A0H。执行指令: MUL AB

后,寄存器B的内容为 32H ,累加器A的内容为 00H ,CY的内容为 0 ,OV的内 容为 1 。

33、假定(A)=0FBH,(B)=12H。执行指令: DIV AB

后,累加器A的内容为 0DH ,寄存器B的内容为 11H ,CY的内容为 0 ,OV的内容为 0 。 34、假定(A)=0C5H,执行指令: SWAP A 后,累加器A的内容为 5CH 。

35、假定addr11=00100000000B,标号qaz的地址为1030H。执行指令: qaz:AJMP addr11

后,程序转移到地址 1100H 去执行。

36、假定A=83H,(R0)=17H,(17H)=34H,执行以下指令: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A

后,A的内容为 0C8H 。

37、若单片机使用频率为6MHz的晶振,那么时钟周期为 0.334us ,机器周期为 2us 。

38、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填写执行结果。 PUSH 30H ;SP= 61H ,(SP)= 24H PUSH 31H ;SP= 62H ,(SP)= 10H POP DPL ;SP= 61H ,DPL= 10H POP DPH ;SP= 60H ,DPH= 24H MOV A,#00H MOVX @DPTR,A

最后执行结果是 将0传送到外部数据存储器的2410H单元 。

39、在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行 256 次。

40、欲使P1口的低4位输出0而高4位不变,则执行一条 ANL P1,#0F0H 指令。 41、欲使P1口的高4位输出1而低4位不变,则执行一条 ORL P1,#0F0H 指令。 42、DIV AB指令执行后,OV标志为1,则此指令执行前(B)= 00H 。 43、MUL AB指令执行后,OV标志为1,则(B)不为 00H 。 44、用一条指令 LJMP 1234H 可以取代下列4条指令: MOV DPTR,#1234H PUSH DPL PUSH DPH RET

45、要访问特殊功能寄存器,可以采用的寻址方式是 直接寻址 、 位寻址 和 寄存器寻址 。

46、要访问片外RAM,应采用的寻址方式是 寄存器间接寻址 。

47、已知SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26H)=56H。问此时执行“RET” 指令后,SP= 23H ,PC= 3412H 。 48、根据下列要求写出相应的指令: (1)将R2中的数据传送到40H (2)将R2中的数据传送到R3 (3)将R2中的数据传送到B (4)将30H中的数据传送到40H (5)将30H中的数据传送到R7 (6)将30H中的数据传送到B (7)将立即数30H传送到R7 (8)将立即数30H传送到40H

(9)将立即数30H传送到以R0中内容为地址的存储单元中 (10)将30H中的数据传送到以R0中内容为地址的存储单元中 (11)将R1中的数据传送到以R0中内容为地址的存储单元中 (12)将R1中的数据传送到以R2中内容为地址的存储单元中 (13)外部RAM 30H单元的内容送内部RAM20H单元。 (14)外部RAM 1000H单元的内容送内部RAM 20H单元。 (15)程序存储器ROM 2000H单元的内容送R1。 (16)ROM 2000H单元的内容送内部RAM 20H单元。 (17)ROM 2000H单元的内容送外部RAM 30H 单元。 (18)ROM 2000H单元的内容送外部RAM 1000H单元。 解: (1)MOV 40H,R2 (2)MOV A,R2

MOV R3,A (3)MOV B,R2 (4)MOV 40H,30H (5)MOV R7,30H (6)MOV B,30H (7)MOV R7,#30H (8)MOV 40H,#30H (9)MOV @R0, #30H (10)MOV @R0, 30H (11)MOV A, R1 MOV @R0,A (12)MOV A,R2 MOV R0,A MOV A,R1 MOV @R0,A

(13) MOV R0,#30H 或 MOV R1,#30H MOVX A,@R0 MOVX A,@R1 MOV 20H,A MOV 20H,A (14) MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (15) MOV DPTR,#2000H CLR A

MOVC A,@A+DPTR MOV R1,A (16) MOV DPTR,#2000H CLR A

MOVC A,@A+DPTR MOV 20H,A (17) MOV DPTR,#2000H CLR A

MOVC A,@A+DPTR MOV R0,#30H MOVX @R0,A (18) MOV DPTR,#2000H CLR A

MOVC A,@A+DPTR MOV DPTR,#1000H MOVX @DPTR,A 二、选择题 1、 ORG 2000H LCALL 3000H ORG 3000H

RET 左边程序执行完RET指令后,PC=( C

A、2000H B、 3000H C、 2003H D、3003H 2、JNZ rel指令的寻址方式是( C )。

A、 立即寻址 B、 寄存器寻址 C、 相对寻址 D、 位寻址 3、执行LCALL 4000H指令时,MCS-51所完成的操作是( D )。

A、 保护PC B、 4000H→PC C、 保护现场 D、 PC+3入栈,4000H→PC 4、 ORG 0003H LJMP 2000H ORG 000BH

LJMP 3000H 当CPU响应外部中断0后,PC的值是( B ) A、 0003H B、 2000H C、 000BH D、 3000H 5、MOVX A,@DPTR指令中源操作数的寻址方式是( B )。 A、 寄存器寻址 B、寄存器间接寻址 C、直接寻址 D、 立即寻址 6、执行PUSH ACC指令,MCS-51完成的操作是( A )。

A、 SP+1→SP (ACC)→(SP) B、 (ACC)→(SP) SP-1→SP C、 SP-1→SP (ACC)→(SP) D、 (ACC)→(SP) SP+1→SP 7、要把P0口高4位变0,低4位不变,应使用指令( D )。 A、 ORL P0,#0FH B、 ORL P0,#0F0H C、 ANL P0,#0F0H D、 ANL P0,#0FH

8、LCALL指令操作码地址是2000H,执行完相应子程序返回指令后,PC=( D )。 A、 2000H B、 2001H C、 2002H D、 2003H

9、MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )。 A、 C B、 F0 C、 OV D、P 10、关于MCS-51的堆栈操作,正确的说法是( C )。

A、 先入栈,再修改堆栈指针 B、 先修改堆栈指针,再出栈 C、 先修改堆栈指针,再入栈 D、 以上都不对

11、要访问MCS-51的特殊功能寄存器应使用的寻址方式是( C )。 A、 寄存器间接寻址 B、 变址寻址 C、 直接寻址 D、 相对寻址 12、下面哪条指令将MCS-51的工作寄存器置为3区( B )。 A、 MOV PSW,#13H B、 MOV PSW,#18H C、 SETB PSW.4 D、 SETB PSW.3 CLR PSW.3 CLR PSW.4 13、ORG 0000H AJMP 0040H ORG 0040H

MOV SP,#00H 当执行完左边的程序后,PC的值是( D ) A、 0040H B、 0041H C、 0042H D、 0043H 14、指令AJMP的跳转范围是( C )。

A、 256B B、 1KB C、 2KB D、 64KB

15、以下运算中对溢出标志OV没有影响或不受OV影响的运算是( A ) A、 逻辑运算 B、 符号数加减法运算 C、 乘法运算 D、 除法运算

16、假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为( A、 36H B、 37H C、 38H D、 39H 17、在寄存器间接寻址方式中,指定寄存器中存放的是( B )

A、 操作数 B、 操作数地址 C、 转移地址 D、 地址偏移量

D )。


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

下一篇:log4j2使用手册@zhangsf

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

马上注册会员

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