单片机第3章习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章习题答案
一、选择题
1.在中断服务程序中,至少应该有一条( D )。
(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令
2.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( C )。
(A)MOV (B)MOVC (C)MOVX (D)以上都行
3.JNZ rel指令的寻址方式是( C )。
(A)立即寻址(B)寄存器寻址(C)相对寻址(D)位寻址
4.执行LCALL 1020H指令时,MCS-51所完成的操作是( D )。
(A)保护PC (B)PC←1020H
(C)保护现场(D)PC+3入栈,PC←1020H
5.下面哪条指令产生WR信号( D )。
(A)MOVX A,@DPTR (B)MOVC A,@A+PC
(C)MOVC A,@A+DPTR (D)MOVX @DPTR,A
6.在执行PUSH ACC指令时,MCS-51完成的操作是( A )。
(A)(SP)←(SP)+1,((SP))←(ACC)
(B)(SP)←(ACC),((SP))←(SP)-1
(C)(SP)←(SP)-1,((SP))←(ACC)
(D)((SP))←(ACC),(SP)←(SP)+1
7.MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )。
(A)C (B)F0 (C)OV (D)P
8.指令AJMP的跳转范围是( C )。
(A)256B (B)1KB (C)2KB (D)64KB
9.在寄存器间接寻址方式中,指定寄存器中存放的是( B )。
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量
10.执行返回指令时,返回的断点是( C )。
(A)调用指令的首地址(B)调用指令的末地址
(C)调用指令下一条指令的首地址(D)返回指令的末地址
二、填空题:
1.8051指令基本格式由标号、操作码助记符、操作数和注释组成。
2.MOV A,20H源寻址方式为直接寻址。
3.执行ANL A,#0FH指令后,累加器A的高4位=0000B 。
4.JZ rel的操作码首地址为1000H,rel=20H,它的转移目的地址为1022H 。5.若R7的初值为00H的情况下,DJNZ R7,rel指令将循环执行 256 次。
6.SJMP rel的指令操作码首地址为0050H,rel=65H,那么它的转移目的地址为00B7H 。
7.指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H 入栈,37B0H→PC。8.RET是子程序指令,RETI是中断返回指令。
9.ORL A,#0F0H是将A的高4位置1,而低4位不变。
10.堆栈是在RAM中设定的存储区,栈底是固定的,栈顶是浮动的,存取数据的规则是先入后出,后入先出。
11.假定(A)=85H,(R0)=40H,(40H)=0AFH。执行指令:ADD A,@R0后,累加器A
的内容为 38H ,CY的内容为 1 ,AC的内容是 1 ,OV的内容是 1 。12.MCS-51的2条查表指令是MOVCA,@A+DPTR 和MOVC A,@A+PC 。
13.在MCS-51中PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址。
14.假定(A)=)0A5H,执行指令:SWAP A后,累加器A的内容为 5AH 。
15.执行下列指令序列后,所实现的逻辑运算式为
C=P1.0*P1.1*/P1.2 。
MOV C,P1.0
ANL C,P1.1
ANL C,/P1.2
MOV P3.0,C
三.简答题
1. 判断下列指令的正误:()
(1)MOV @R1,#80H (√)(2)MOV R7,@R1 (╳)(3)MOV 20H,@R0 (√)(4)MOV R1,#0100H (╳)(5)CLR R4 (╳)
(6)SETB R7.0 (╳)
(7)MOV 20H,21H (√)(8)ORL A,R5 (√)(9)ANL R1,#0FH (√)(10)XRL P1,#31H (√)(11)MOVX A,2000H (╳)(12)MOV 20H,@DPTR (╳)(13)MOV A,DPTR (╳)(14)MOV R1,R7 (╳)(15)PUSH DPTR (√)(16)POP 30H (√)
(17)MOVC A,@R1 (╳)(18)MOVC A,@DPTR (╳)(19)MOV @DPTR,#50H (╳)(20)RLC B (╳)
(21)ADDC A,C (╳)
(22)MOVC @R1,A (╳)(23)DEC DPTR (╳)
(24)SUBB B,A (╳)
(25)MUL A,B (╳)(26)INC B (√)
(27)ADDC ACC,#30H (╳)(28)RLC 30H (╳)
(29)MOV R1,C (╳)(30)CLR 25H (√)
(31)LJMP DEC (╳)
(32)LACLL ABC1 (╳)(33)JZ #30H (╳)
(34)JBC 0FFH,LL1 (╳)(35)JB P,LOOP (√)(36)DJNZ @R1,NEXT (╳)(37)DJNE R1,LAST (╳)(38)DJNZ DPTR,LOOP (╳)
(39)CJNZ A,#30H,NEXT (√)
(40)CJNE R7,30H,ABC (╳)
2.说明下列指令中源操作数和目的操作数的寻址方式。
(1)ADD A,30H
源操作数:寄存器寻址
目的操作数:直接寻址(2)MOV 30H,20H
源操作数:直接寻址
目的操作数:直接寻址(3)MOV A,@R0
源操作数:寄存器寻址
目的操作数:寄存器间接寻址(4)MOVX @R1,A
源操作数:寄存器间接寻址
目的操作数:寄存器寻址