资源描述
《单片机原理及应用》复习题
28. MCS-51单片机外部中断请求信号有电平 方式和 脉冲 方式,在电平方式下,当采集到INT0、INT1的有效信号为 低电平时 时,激活外部中断。
30. 一个字节可以存 2 位BCD码。
31.对89C51而言,片内ROM和片外ROM的编址方式为 统一编址 ,片外ROM的地址从 1000H 开始;片内RAM和片外RAM的编址方式为独立编址 ,片外RAM的地址从 0000H 开始。
32.对单片机而言,连接到数据总线上的输出口应具有 锁存 功能, 连接到数据总线上的输出口应具有 三态 功能。
33.决定程序执行的顺序是 PC 寄存器,该寄存器复位时的值为0000H 。
34.MCS-5l单片机的堆栈区只可设置在__片内数据存储区的低128字节,堆栈寄存器SP是_8_位寄存器。
35.MCS-51单片机指令ADDC A,#20H中源操作数的寻址方式是_立即数寻址__。
36.串行通信根据通信的数据格式分有两种方式,分别是 同步 和 异步 。
38.MCS-51单片机89C51中有 2 个 16 位的定时/计数器,可以被设定的工作方式有 4种。
39.在MCS-51中PC和DPTR都用于提供地址,其中PC为访问 程序 存储器提供地址,DPTR为访问 数据 存储器提供地址
40.通过堆栈操作实现子程序调用,首先要把 PC 的内容入栈,以进行断点保护。
42.一个10位D/A转换器,其分辨率为____2-10____。
43.8051复位后,PC=00 H。若希望从片内存储器开始执行,EA脚应接__高______ 电平,PC值超过__0FFFH______时,8051会自动转向片外存储器继续取指令执行。
44.单片机内包含组成微机的三个主要功能部件是CPU、存储器和_各种I/O接口__。
46.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_10~17H__。
47.串行通讯中有同步和 异步 两种基本方式。
48.7段LED显示器内部的发光二极管连接方式可分为共阴极和 共阳极 两种结构。
51.MCS-51单片机的P0口和P2口除了可以作为并行口进行数据的输入/输出外,通常还用来构建系统的_低8位地址_______和___高8位地址_____。
53.MCS-51单片机指令ANL A,20H中源操作数的寻址方式是__直接寻址____。
54.将CY与A的第0位的“非”求“或”的指令是ORL C,/ACC.0,若原A=0,执行后A=___00H___
60.8051的堆栈指针是__SP____。
64.执行下列程序段中第一条指令后,(1)(P1.7)=_0_ (P1.3)=__0___, (P1.2)=_____0____;执行第二条指令后,(2)(P1.5)=___1______,(P1.4)=_____1____,(P1.3)=_____1____.
ANL P1,#73H 01110011
ORL P1,#38H 00111000
填空
1. 8051复位后,程序计数器PC中的内容是( 0000H )。
2. 8051的直接寻址方式的寻址空间是( 片内RAM的低128B和 SFR )。
3. CPU访问片内RAM的指令类型用( MOV )。
4. 当CPU响应定时/计数器T1的中断时,( 硬件将自动对TF1清0 )。
5. 指令( SETB TR1 )用于启动8051的定时器T1。
6. 8051复位后,P1口状态是( 0FFH )。
7. 8051单片机系统的扩展RAM和I/O口是按(外部数据存储器统一 )编址的。
9. 如8051的SP的内容是30H,顺序执行PUSH ACC和POP B两句指令后,( 累加器A中的内容与寄存器B中的内容是一样的 )。
10. 指令MOV @R1, A与MOVX @R1, A比较,(前一条指令的目的地址在片内RAM,后一条指令的目的地址在片外RAM )。
11. 当执行指令时,PC中的内容总是指示出(将要执行的下一条指令地址 )。
13. 将8031片外RAM某单元中的内容送累加器A,应采用(MOVX A, @DPTR )这样的指令。
19. 如8051的SP的内容是30H,执行LCALL SUBRTN这样的指令后, 当前寄存器SP中的内容为(32H )。
21. 8051产生中断时,CPU将自动将(中断入口地址 )装入程序计数器PC中。
22. 当CPU响应串行口发送中断时,( 需用软件将TI清0 )。
25.定时器T0设定为16位计数器定时方式,则T0应工作在(模式1 )。
26. 8051的(P2 )口作为扩展片外数据存储器时16位地址总线中的高8位。
41. 改变(程序计数器PC )中的内容就可改变程序执行的方向。
53. CPU访问片外RAM的指令类型用(MOVX )。
54. 当CPU响应定时/计数器T0的中断时,(硬件自动将当前PC值 )压入堆栈。
55.定时器T1溢出标志位TF1,溢出时,硬件自动将TF1值变为1 。
A. B. 溢出时,需用软件将TF1置1
C. 溢出时,硬件自动将TF1清0 D. 中断响应后必须用软件将TF1清0
56. 如果要P1口作为输入口用,可以先用指令(MOV P1,#0FFH )对P1口进行操作。
59. 执行查表指令MOVC A,@A+PC后,当前A中的内容是( 执行该指令时,当前指令下一条指令对应PC中的内容与原来A中的内容之和所指地址单元的内容 )。
61. 在程序开始执行前,必须将其起始地址送入(程序计数器PC )。
63. 将8031扩展程序存储器EPROM单元中常数送累加器A,应采用(MOVC A,@A+DPTR )这样的指令。
64. 为了使中断能正确返回,在中断子程序中(PUSH和POP )指令必须成对出现。
65. 定时器T1工作在模式2 计数方式,要求计3个脉冲就溢出,则计数初值为( FDH )。
66. 8051的特殊功能寄存器可以用(直接寻址 )方式进行访问。
69. 执行指令MOVC A,@A+DPTR后,当前A中的内容是(DPTR的内容与原来A的内容之和所指地址单元的内容 )。
71. 执行调用指令LCALL后,( 程序计数器PC )中的内容由硬件自动改变。
72. 8051的寄存器间接寻址方式的寻址空间是(片内RAM的低128B和片外RAM )。
73. 将8031累加器A中的内容送片外RAM某单元,应采用(MOVX @DPTR, A )这样的指令。
74. 当执行中断返回指令RETI时,(硬件自动将当前栈顶2字节内容 )弹出,送程序计数器PC。
75. 用指令(CLR TR0 )可以让正在计数的定时器T0停止计数。
76. 8051内部RAM位地址( 08H )对应字节地址21H的最低一位。
A. 00H B. 01H D. 10H
79. 执行指令DJNZ R1,TABL1,其描述是(R1中的内容减1如不等于零,程序跳转到TABL1处执行 )。
18. 执行以下程序段
MOV SP,#3AH
MOV A,#20H
MOV B,#30H
PUSH ACC
PUSH B
POP ACC
POP B
后, A=( 30H )和B=( 20H )
19. 假定(A)=83H,(R0)=17H,(17H)=34H,执行以下程序段
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
后, A的内容为CBH
113. 设累加器A的内容为0 C 9 H,寄存器R2的内容为54H,C Y=1,执行指令S U B B A,
R2 后结果为(自行计算)
114. 设(A)=0 C 3 H,(R0)=0 A A H,执行指令A N L A,R0后,结果(自行计算)
116. 提高单片机的晶振频率,则机器周期( 变短 )
120. 执行如下三条指令后,30H单元的内容是( 0 E H )
M O V R 1,#30H
M O V 40H,#0 E H
M O V ﹫R 1,40H
121. 有如下程序段:
M O V R 0,#30H
S E T B C
C L R A
A D D C A,#0 0H
M O V ﹫R 0,A
执行结果是( (30H)= 0 1H )
124. 执行M O V I E,#81H指令的意义是:( 开放外部中断源0 )
132. 如下程序段:
C L R C
M O V A,#BCH
A D D C A,#65H
则其结果为(A)= (自行计算)C =()(自行计算)
A、(A)=21H B、CY=1 C 、AC=1 D、CY=0 E、AC=0
************************************************************
1.写出下列指令执行的结果
(1).
MOV A,#20H
MOV R0,#20H
MOV @R0,A
ANL A, #0FH
ORL A, #80H
XRL A, @R0
A=__________ ; R0= ; (20H)=__________
(2).
MOV DPTR, #2314H
MOV R0, DPH
MOV 14H, #22H
MOV R1, DPL
MOV 23H, #56H
MOV A, @R0
XCH A, DPH
执行以上指令后A=____________ DPTR=__________
(3).
MOV A,#50H
MOV B,#77H
PUSH ACC
PUSH B
POP ACC
POP B
执行完本段指令后(A)=_________ (B)=_______
2.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?
MOVA, 59H
MOVR0, A
MOVA, #00H
MOV@R0, A
MOVA, #25H
MOV51H, A
MOV52H, #70H
3.已知(A)=83H,(R0)=17H,(17H)=34H。请写出执行完下列程序段后A的内容。
ANL A,#17H
ORL 17H, A
XRL A, @R0
CPL A
4. 试分析下列程序段,当程序执行后,位地址00H,01H中的内容为何值?P1口的8条I/0线为何状态?
CLR C
MOV A,#66H
JC LOOP1
CPL C
SETB 01H
LOOP1: ORL C, ACC.0
JB ACC.2, LOOP2
CLR 00H
LOOP2: MOV P1,A
5.若A=11H,R0=33H,B=55H,(11H)=22H,(22H)=66H,(33H)=44H,在注释区写出分别执行下列指令后果的结果。写出每一行中参与计算的有关单元值,下同
MOV R1,A ;
MOV R3,#11H ;
MOV @R0,#22H ;
MOV A, @R0 ;
MOV B,33H ;
MOV 40H,R0 ;
6.若A=78H,R0=34H,(34H)=DCH,(56H)=ABH,Cy=1,求分别执行下列指令后A和Cy中的数据。
(1)ADDC A,@R0 ;
(2)SUBB A,56H ;
(3)DEC @R0 ;
(4)INC 56H ;
7.若A=B7H,R0=5EH,(23H)=A1H,Cy=0,将分别执行下列指令的结果写在注释区。
(1)ANL A,R0 ;
(2)ORL A,#23H ;
(3)XRL 23H,A ;
(4)RLC A ;
8.已知外RAM(2040H)=50H,ROM(2090H)=96H,内RAM(20H)=85H,试求下列程序依次运行后有关单元中的内容。
MOV DPTP,#2040H ;
MOVX A,@DPTR ;
MOVC A,@A+DPTR ;
ADD A,20H ;
DA A ;
SWAP A ;
10.试求下列程序依次运行后有关单元中的内容。
MOV 20H,#A7H ;
MOV C,07H ;
ORL C,/H ;
CPL 00H ;
SETB 03H ;
MOV A,20H ;
RLC A ;
MOV 20H,A ;
11.已知:(60H)=23H,(61H)=61H,以下程序段执行后(62H)= 。
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H
DA A
MOV 62H,A
12.已知:(A)=02H,(SP)=40H,(41H)=FFH,(42H)=FFH,以下程序段执行后(A)= .(SP)= .(41H)= .(42H)= .
(PC)= 。
POP DPH
POP DPL
MOV DPTR,#3000H
RR A
MOV B,A
MOVC A,@A+DPTR
PUSH ACC
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH ACC
RET
ORG 3000H
DB 10H,80H,30H,50H,30H, 50H
13.以下程序段执行后(A)= ,(30H)= 。
MOV 30H,#0A4H
MOV A,#0D0H
MOV R0,#30H
MOV R2,#5EH
ANL A,R2
ORL A,@R0
SWAP A
CPL A
XRL A,#0FEH
ORL 30H,A
14.已知(59H)=50H,以下程序段执行后(A)= ,(50H)= ,
(51H)= ,(R0)= 。
MOV A,59H
MOV R0,A
MOV A,#00
MOV @R0,A
MOV A,#25H
MOV 51H,A
MOV 52H,#70H
16.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。
MOV A,@R1
MOV @R1,40H
MOV 40H,A
MOV R1,#7FH
17.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY.AC.和OV的值。
(1)MOV A,@R0
(2)ANL 40H,#0FH
(3)ADD A,R4
(4)SWAP A
(5)DEC @R1
(6)XCHD A,@R1
19.MOV DPTR,#2000H (DPTR)=
MOV A,#80H (A)=
MOVX @DPTR,A (2000H)=
INC DPTR (DPTR)=
MOV A,#90H (A)=
MOVX @DPTR,A (2001H)=
MOV DPTR,#2000H (DPTR)=
MOVX A,@DPTR (A)=
MOV B,A (B)=
INC DPTR (DPTR)=
MOVX A,@DPTR (A)=
21.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果
MOV A,10H (A)= ,
ANL A,#01H (A)= ,
MOV A,11H (A)= ,
ORL A,#01H (A)= ,
MOV A,12H (A)= ,
XRL A,#01H (A)= ,
MOV A,13H (A)= ,
XRL A,#0AA (A)= ,
(10H)= , (11H)= , (12H)= , (13H)=
22.MOV 30H,#60H
MOV R0,#60H
MOV A,30H
MOV B,A
MOV @R0,B
(A)= ,(R0)= ,(B)= ,
23.MOV SP,#60H
MOV A,#01H (A)= ,
MOV B,#02H (B)= ,
PUSH A (SP)= ,
PUSH B (SP)= ,
POP A
POP B (60H)= ,
25.设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?
MOV R0,#30H ;R0=30H
MOV A,@R0 ;A=5AH
MOV R1,A ;R1=5AH
MOV B,R1 ;B=5AH
MOV @R1,P1 ;(5AH)=7FH
MOV A,P1 ;A=7FH
MOV 40H,#20H ;(40H)=20H
MOV 30H,40H ;(30H)=20H
26.位地址为M.N.Y,程序如下:
MOV C,M ;(M) ➞C
ANL C, ;(M)
MOV Y,C ;(Y)=(M)
MOV C,M ;(M) ➞C
ANL C,N ;(M)
ORL CY ;
MOV Y,C
求程序功能表达式:
27.阅读下列程序并回答问题
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H,
DA A
MOV 62H,A
请问该程序执行何种操作?
28.已知初值:(60H)=23H,(61H)=61H,请问运行程序后:(62H)=( )?
(1).程序如下
2506H M5: MOV SP,#58H;
2509H MOV 10H,0FH;
250CH MOV 11H,#0BH;
250FH ACALL XHD;
2511H MOV 20H,11H
2514H M5A: SJMP M5A
XHD: PUSH 10H
PUSH 11H
POP 10H
POP 11H
RET
问:(1)执行POP10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)=? (20H)=?
29.解读下列程序,然后填写有关寄存器内容
(1) MOV R1,#48H
MOV 48H,#51H
CJNE @R1,#51H,00H
JNC NEXT1
MOV A,#0FFH
SJMP NEXT2
NEXT: MOV A,#0AAH
NEXT2: SJMP NEXT2
累加器 A=( )
(2) MOV A,#0FBH
MOV PSW,#10H
ADD A,#7FH
若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:
PSW
CY
AC
F0
RS1
RS0
OV
F1
P
1
1
0
1
0
0
0
1
31.设(R0)=7EH,DPTR=10FEH,片内RAM 7FH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。
INC @R0
INC R0
INC @R0
INC DPTR
INC DPTR
INC DPTR
32.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,
(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何?
CLR C
MOV R2,#3
LOOP: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP
JNC NEXT1
MOV @R0,#01H
SJMP $
NEXT: DEC R0
SJMP $
(20H)= .(21H)= .(22H)= .(23H)= . CY=
A= .R0= .R1= 。
33.设片内RAM中(59H)=50H,执行下列程序段
MOV A,59H
MOV R0,A
MOV @R0,A
MOV A,#25H
MOV 51H,A
MOV 52H,#70H
A= ,(50H)= ,(51H)= ,(52H)= .
36. 说明下列程序执行过程中,SP的内容以及堆栈中内容的改变过程。
MOV SP,#20H
MOV A,#20H
MOV B,#30H
PUSH ACC
PUSH B
POP ACC
POP B
37. 读程序,说明该程序完成的功能.
(1). JMP: MOV DPTR, #TBJ
MOV A, R2
ADD A, R2
JNC NADD
INC DPH
NADD: JMP @A+DPTR
TBJ: AJMP PRG0
AJMP PRG1
……………….
AJMP PRGn
(2). ADD: MOV R3, #0
MOV R4, #0
MOV R0, #50H
LOOP: MOV A, R4
ADD A, @R0
MOV R4, A
INC R0
CLR A
ADDC A, R3
MOV R3, A
DJNZ R2, LOOP
RET
36.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?
MOVA, 59H
MOVR0, A
MOVA, #00H
MOV@R0, A
MOVA, #25H
MOV51H, A
MOV52H, #70H
37.已知(A)=83H,(R0)=17H,(17H)=34H。请写出执行完下列程序段后A的内容。
ANLA,#17H
ORL17H, A
XRLA, @R0
CPLA
38.使用位操作指令实现下列逻辑操作,要求不得改变未涉及位的内容。
(1)使ACC.0置1;
(2)清除累加器高4位;
(3)清除ACC.3,ACC.4, ACC.5, ACC.6。
39.试分析下列程序段,当程序执行后,位地址00H,01H中的内容为何值?P1口的8条I/0线为何状态?
CLRC
MOVA,#66H
JCLOOP1
CPLC
SETB01H
LOOP1:ORLC,ACC.0
JBACC.2,LOOP2
CLR00H
LOOP2:MOVP1,
40.指出下列指令各是什么寻址方式?
MOV A, diret
MOV A, #data
MOV A, R0
MOV A, @R1
参考答案:
1. (1) A=A0H R0=20H (20H)=20H
(2) A=23H DPTR=5614H
(3) (A)=77H (B)=50H
2. A=50H R0=50H A=00H (50H)=00H A=25H (51H)=25H (52H)=70H
3. A=C8H
4. (00H)=1 (01H)=1 P1: 01100111
5. (1) R1=11H
(2) R3=11H
(3) (33H)=22H
(4) A=44H
(5) B=44H
(6) (40H)=33H
6. (1) Y=55H Cy=1
(2) Y=CCH Cy=1
(3) Y=DBH Cy=1
(4) Y=57H Cy=1
7. (1) A=16H
(2) A=B7H
(3) (23H)=16H
(4) A=6EH Cy=1
9. DPTR=2040H
A=50H
A=96H
A=1BH
A=81H
A=18H
10. (20H)=A7H
C=0
C=1H
20H的0位取反
20H的3位置1
A=AEH
A=5DH
(20H)=5DH
11. (62H)=38H
12. (A)=05H (SP)=40H (41H)=30H (42H)=50H (PC)=4241H
13. (A)=4EH (30H)=7EH
14. (A)=25H (50H)=00H (51H)=25H (52H)=70H
15. (1) MOV A,R0
MOV R1,A
(2) MOV R2,60H
(3) MOV DPTR,#1000H
MOV A,@DPTR
MOV 60H,A
(4) MOV DPTR,#1000H
MOV A,@DPTR
MOV R2,A
(5) MOV DPTR,#1000H
MOVX A,@DPTR
MOV DPTR,#2000H
MOVX @DPTR,A
16
展开阅读全文