单片机练习二
一.单项选择题
1. ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H
当CPU响应外部中断0后,PC的值是( B )。
A.0003H
B. 2000H
C. 000BH
D. 3000H
3. MCS-51的相对转移指令的最大负跳距离为( B )。
A.2KB
B. 128B
C.127B
D. 256B
4. 以下运算中对溢出标志0V没有影响或不受影响的运算是( A )。
A.逻辑运算
B. 符号数加减运算
C. 比较数据大小运算
D. 除法运算
5. 产生PSEN信号的指令是( C )。
A . MOVX A ,@DPTR B. MOVX @DPTR, A
C. MOVC A , @A+PC
D. MOVX A, @A+DPTR
6. MOVX A , @DPTR指令中的源操作数的寻址方式是( B )。
7. 将MCS-51的工作寄存器置成3区的指令是( B )。
A. MOV PSW , #13H
B.MOV PSW , #18H
8. 指令AJMP的跳转范围是( C )。
9. 6264芯片是( B )。
2PROM B.RAM C .Flash ROM D .EPROM
10. 下面那条指令产生WR信号( D )。
A.MOVX A , @DPTR
B.MOVC A , @A+DPTR
C.MOVC A , @A+PC
D.MOVX @DPTR , A
11. 执行LCALL 4000H指令时,MCS-51所完成的操作是( D )。
A.保护PC
B.保护现场
C.4000H →PC
D.PC+3入栈,4000H → PC
12. 下列指令中可能改变Cy的有(C )。
A.INC A
B.CPL A
C. RLC A
D.MOV A , #data
13.假定设置堆栈指针SP的值为36H,在执行指令PUSH 20H后,SP的值为( B )。
14.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
15.MOV C, 00H 指令的第二操作数寻址方式是( A )。
A.位寻址
B. 直接寻址
C. 立即寻址
D. 寄存器寻址
16.在算术运算中,与辅助进位AC有关的是( C )。
A.二进制
B. 八进制
C. 十进制
D. 十六进制
17. 把P0口高四位变0,低四位不变,应使用指令( D )。
A. ORL P0,#0FH
B. ORL P0,#0F0H
C.ANL P0,#0F0H D. ANL P0,#0FH
18 ORG 0000H
AJMP 0040H
ORG 0040H
MOV SP,#00H
当执行完上面的程序后,PC的值是( D )。
A.0040H
B. 0041H
C. 0042H
D. 0043H
19. 在相对寻址方式中,“相对”两字是指跳转( A )。
A.地址偏移量rel
B. 当前指令的首地址
C.当前指令的末地址
D. DPTR值
20. 使用8051,且EA=1,则可以外扩ROM( B )。
A. 64KB
B. 60KB
C. 58KB
D. 56KB
21. 已知(31H)=21H,(32H)=04H,执行下列指令后,31H的内容为( B )。
PUSH 31H
PUSH 32H
POP 31H
POP 32H
A.21H
B. 04H
C. 32H
D. 31H
22. 已知(A)=00H,执行DEC A指令后,A 的内容为( B )
A.00H B. FFH C. 01H D. 0FH
23.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( B )。
A. MOV
B. MOVX
C. MOVC
D. 以上都行
24.LCALL存于2000H开始的地址单元中,执行完相应子程序中的返回指令,PC=( D )。
A.2000H B. 2001H C. 2002H D. 2003H
25.程序设计的方法一般有( D )
A.1种 B. 2种 C. 3种 D. 4种
26.在寄存器间接寻址方式中,指定寄存器中存放的是( B )
A. 操作数
B. 操作数地址
C. 转移指令
D. 地址偏移量
27. 当8031外扩程序存储器8KB时,常使用EPROM2716( C )
A. 2片
B. 3片
C. 4片
D. 5片
28. 中断服务程序的最后一条指令必须是( C )
A. END
B. RET
C. RETI
D. AJMP
29. ADC0809启动A/D转换的方式是( C )
A. 高电平
B. 低电平
C. 正脉冲
D. 负脉冲
30. MOV C,30H源操作数寻址方式为(D )
A. 立即寻址
B. 寄存器寻址
C. 寄存器间接寻址
D. 位寻址
31. POP A 指令,MCS-51完成的操作是( A )
A. A←((SP)) SP←(SP)-1
B. SP←(SP)-1 A←((SP))
C. A←((SP)) SP←(SP)+1
D. SP←(SP)+1 A←((SP))
32. 当(RS1,RS0)=(1,1)时,工作寄存器R0对应内部RAM的(D )
字节单元。
A. 00H
B. 08H
C. 10H
D. 18H
33. 在R3初值为00H的情况下,DJNZ R3,rel指令将循环执行( B )
A. 0次
B. 256次
C. 128次
D. 10次
34. 执行AJMP addr11指令时,MCS-51完成的操作是( D )
A. 保护PC
B. PC←addr11
C. 保护现场
D. PC+2入栈PC0~10←addr11
35.ORG 2000H
LCALL 3000H
ORG 3000H
RET
上面程序执行完RET指令后,(PC)=( C )。
A. 2000H
B. 3000H
C. 2003H
D. 3003H
36.MCS-51执行完MOV A,#08H后,PSW的( D )位被置位。
A. C
B.F0
C. 0V
D. P
37. MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是( A )。
A. 读锁存器
B. 读数据
C. 读A累加器
D. 读CPU
38. 对程序存储器的读操作,只能使用( D )。
A. MOV指令
B. PUSH指令
C. MOVX指令
D. MOVC指令
39.ORG 8000H
DS 08H
DB 30H,8AH
则8008H单元内容为( B )。
A. 08H
B. 30H
C. 8AH
D. 不确定
40. MOV @R0, A指令目标操作数的寻址方式是( A )。
A. 寄存器间接寻址
B. 寄存器寻址
C. 直接寻址
D. 相对寻址
41. 已知(60H)=23H,(61H)=61H,运行下列程序62H内容为( A )。
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H
DA A
MOV 62H,A
A. 38H
B. D8H
C. DBH
D. 3EH
42. 设系统的晶振频率为6MHZ,下列子程序DELAY的延时时间约为( B )。
DELAY:MOV R2,#0FAH
L2:DJNZ R2,L2
RET
A. 900μS
B. 1006μ
43. MCS-51的LJMP指令跳转空间为( C )。
A. 2K
B. –128~127
C. 64K
D. 32K
44. 关于MCS-51的堆栈操作,正确的说法是( C )。
A. 先入栈,再修改栈指针
B. 先修改栈指针,再出栈
C. 先修改栈指针,再入栈
D. 以上都不对
45. JNZ rel指令的寻址方式是( C )。
A. 立即寻址
B. 寄存器寻址
C. 相对寻址
D. 位寻址
46 . 8051执行ADD A,20H指令时,首先在P0口上出现的信息是( A )。
A. 操作码地址
B. 操作码
C. 操作数
D. 操作数地址
47. 必须进行十进制调整的十进制运算( C )。
A. 有加法与减法
B. 有乘法与除法
C. 只有加法
D. 只有减法
48. 执行MOVX @DPTR, A指令时,MCS-51产生(B )控制信号。
A. PSEN
B. WR
C. ALE
D. RD单片机编程100例详解
49. 已知单片机系统的fosc=6MHZ,执行下列延时程序的时间为(C )。
DY2:MOV R6,#2
DLP1:MOV R7,#250
DLP2:DJNZ R7,DLP2
DJNZ R6,DLP1
RET
A.1ms B. 1.5ms C. 2ms D. 4ms
二.填空题(每小题1 分,共15分
1. 执行ANL A,#0FH指令后,累加器A的高四位= 清零。
2. 设DPTR=(2000)H,(A)=08H,则MOVC A,@A+DPTR的操作数的实际地址为2008H 。
3. 假定addrll=00100000000B,标号JAZ的地址为1030H,执行指令JAZ: AJMP addrll后,程序转移地址1100H 去执行。
4. JZ rel 的操作码的地址为1000H ,rel=20H ,他的转移目标地址为1022H 。
28.执行当前指令后,PC内容为下一条指令的首地址。
5. 在寄存器间接寻址方式中,其“间接”体现在指令寄存器的内容不是操作数,而是操作数的地址。
6. 假定(A)=0FFH,执行指令INC A后,A的内容为00H 。
7. MCS-51系统中,当PSEN信号有意义时,表示CPU要从外部程序存储器读取信息。
8.访问MCS-51程序存储器传送指令的操作码助记符应为___MOVC______。
9.累加器(A)=7EH,(20H)=#04H,MCS-51执行完ADD A,20H指令后,PSW.0为_____________。
10.INC指令_____________ CY位。
11.假定累加器A的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器____1031H____单元的内
容送累加器A中。
12.在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行__256__次。
13. MOV PSW,#10H是将MCS-51的工作寄存器置为第______2___组。
14. 指令LCALL 37B0H,首地址在2000H,完成此操作后(PC)=___37B0H___。
15. 假定DPTR的内容为8100H,累加器A的内容为4DH,执行指令MOVC A,@A+DPTR后,送入A的是程序存储器____814DH_______单元的内容。
16. 累加器A中存放一个其值小于或等于127的8位无符号数,CY清“0”后执行RLC A指令,则A中数变为原来的_____2______倍。
17. MCS-51的两条查表指令是_MOVC A,@A+PC_,_MOVC A,@A+DPTR___。
18. 指令DJNZ R7,rel的指令操作码所在的地址为3000H,rel=EFH,则它的转移目的地址为_2FF1H___。
19. 通过堆栈操作实现子程序调用,首先要把__PC______的内容入栈,以进行断点保护。
20. 调用返回时再进行出栈操作,把保护的断点弹回____ PC ____。
21. 设(SP)=60H,(ACC)=30H,(B)=70H,执行指令PUSH ACC,PUSH B后,SP的内容为___62H____。
22. 设(SP)=60H,(ACC)=40H,(B)=60H,执行PUSH ACC,PUSH B后61H单元的内容为___40H____。
23. 设(SP)=60H,(ACC)=40H,(B)=80H,执行PUSH ACC,PUSH B,62H 单元的内容为___80H_____。
24. PC中存放的是__下一条指令首地址_ ___。
25. ORL A, #0F0H是将A的高4位置1,而低4位___不变____________。
26. 一台计算机的指令系统就是它所执行的____指令________集合。
27. 累加器(A)=80H,执行完指令ADD A,#83H后,进位位C=______1______。
28. 以助记符表示的计算机指令就是它的_____汇编_______语言。
29. SJMP rel的指令操作码地址为0050H,rel=65H,那么它的转移目的地址为00B7H___。
30. 执行如下指令序列后,所实现的逻辑运算式为__ P3.0=_____。
MOV P3.0 ,C
31. 当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了____低8位地址____地址。
三、读程序回答
1. 试求下列程序依次运行后有关单元的内容。已知(R0)=24H,(Cy)=1, (1FH)=59H, (20H)=24H, (24H)=B6H 。(6分)
MOV A, 1FH ; (A)=______________
ADDC A, 20H ; 20H的寻址方式是
CLR A ; (A)=______________
ORL A, @R0 ; @R0的寻址方式是,
; (A)=______________
CPL A ; (A)=______________
答案:59H、直接寻址、00H、寄存器间接寻址、B6H、49H
SECH: MOV DPTR, #2000H
MOV R2, #0FH
MOVX A, @DPTR
MOV B, A
SLOP : INC DPTR
MOVX A, @DPTR
CJNE A, B, SLP1
SLP1: JNC SLP2
MOV B, A
SLP2: DJNZ R2, SLOP
MOV R2, B
RET
问:(1)此程序完成的是将从 H 单元开始的 H 个数中的最 值出,放在 单元中。
(2)B 寄存器里暂存最 值。
(3)若要比较100个数,则哪句程序需要修改? (10分)
答案 :(1)2000H 、10H 、小、R2
(2)小
(3)将第二句 MOV R2, #0FH 改为 MOV R2, #99
2. ORG 6000H ; ①
TAB : DB 45H , 10,88H ,’5’ ; ②
DW 12H ,56H ,7800H ; ③
ORG 8000H
MOV DPTR ,#6001H
CLR A
MOVC A ,@A+DPTR
MOV DPTR, #6005H
MOVX @DPTR, A
问:(1)根据①②③行指令内容,画出存储器从6000H —6009H 中数据分布图。
(2)执行上面的程序,完成了什么功能?
(3)最后A 的内容为多少?(10分)
(1)
(2)将从ROM 单元地址为6001H 的内容传送到片外数据RAM6005H 单元中。 (3)(A )=0AH
3. 已知某二进制数(10H )存在内部RAM50H 单元中,阅读下列程序,说明其功能。(6分)
MOV R0,#50H ; (R0)=____
MOV A, @R0H ; (A )= ,寻址方式是 。
CLR C
RLC A ; (A )=____
ADD A, R1 ; 寻址方式是
INC R0 6000H
6001H
6009H 6000H 6001H 6009H 45H 0AH 88H 35H
00H
12H 00H 56H
78H 00H
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论