《单片机》期末考试复习题及答案 下载本文

内容发布更新时间 : 2024/6/3 22:14:47星期一 下面是文章的全部内容请认真阅读。

A.传送指令 B.转移指令 C.加法指令 D.中断返回指令 2.当MCS-51复位时,下面说法准确的是(A )

A.PC=0000H B.SP=00H C.SBUF=00H D.(30H)=00H

3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是(B ) A.MOV B.MOVX C.MOVC D.以上都行 4.ORG 2000H LACLL 3000H ORG 3000H RET

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

A.2000H B.3000H C.2003H D.3003H

5.要使MCS-51能响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是(A )

A.98H B.84H C.42H D.22H 6.JNZ REL指令的寻址方式是(C )

A.立即寻址 B.寄存器寻址 C.相对寻址 D.位寻址

7.执行LACLL 4000H指令时, MCS-51所完成的操作是(D )

A保护PC B.4000H?PC C.保护现场 D.PC+3入栈, 4000H?PC 8.下面哪条指令产生WR信号(D )

A.MOVX A,@DPTR B.MOVC A,@A+PC C.MOVC A,@A+DPTR D.MOVX @DPTR,A 9.若某存储器芯片地址线为12根,那么它的存储容量为( C ) A. 1KB B. 2KB C.4KB D.8KB

10.要想测量INT0引脚上的一个正脉冲宽度,则TMOD的内容应为( A )

A.09H B.87H C.00H D.80H 11.PSW=18H时,则当前工作寄存器是(D )

A.0组 B. 1组 C. 2组 D. 3组

12.MOVX A,@DPTR指令中源操作数的寻址方式是(B )

A. 寄存器寻址 B. 寄存器间接寻址 C.直接寻址 D. 立即寻址 13. MCS-51有中断源( A )

A.5 B. 2 C. 3 D. 6

14. MCS-51上电复位后,SP的内容应为(B ) A.00H B.07H C.60H D.70H 15.ORG 0003H LJMP 2000H ORG 000BH LJMP 3000H

当CPU响应外部中断0后,PC的值是(B )

A.0003H B.2000H C.000BH D.3000H 16.控制串行口工作方式的寄存器是(C )

A.TCON B.PCON C.SCON D.TMOD 17.执行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

18.P1口的每一位能驱动(B )

A.2个TTL低电平负载 B. 4个TTL低电平负载 C.8个TTL低电平负载 D.10个TTL低电平负载 19.PC中存放的是(A )

A.下一条指令的地址 B. 当前正在执行的指令

C.当前正在执行指令的地址 D.下一条要执行的指令 20.8031是(C )

A.CPU B.微处理器 C.单片微机 D.控制器 21.要把P0口高4位变0,低4位不变,应使用指令(D )

A.ORL P0,#0FH B.ORL P0,#0F0H C.ANL P0,#0F0H D.ANL P0,#0FH 22.下面哪种外设是输出设备( A )

A.打印机 B.纸带读出机 C.键盘 D.A/D转换器 23.所谓CPU是指( A )

A.运算器和控制器 B.运算器和存储器 C.输入输出设备 D. 控制器和存储器 24.LCALL指令操作码地址是2000H,执行完响应子程序返回指令后,PC=(D ) A.2000H B.2001H C.2002H D.2003H

25. MCS-51执行完MOV A,#08H后,PSW的哪一位被置位(D ) A.C B. F0 C.OV D.P

26.计算机在使用中断方式与外界交换信息时,保护现场的工作应该是(C )

A.由CPU自动完成 B.在中断响应中完成 C.应由中断服务程序完成 D.在主程序中完成 27.关于MCS-51的堆栈操作,正确的说法是( C )

A.先入栈,再修改栈指针 B.先修改栈指针,再出栈 C. 先修改栈指针,在入栈 D.以上都不对 28.某种存储器芯片是8KB*4/片,那么它的地址线根数是(C ) A.11根 B.12根 C. 13根 D. 14根

29.若MCS-51中断源都编程为同级,当他们同时申请中断时CPU首先响应(B ) A.INT1 B.INT0 C.T1 D.T0

30. MCS-51的相对转移指令的最大负跳变距离(B ) A.2KB B. 128B C. 127B D. 256B

二.判断题(10分)

1.我们所说的计算机实质上是计算机的硬件系统和软件系统的总称。 O 2.MCS-51的程序存储器只能用来存放程序。 X ( ) 3.TMOD中GATE=1时,表示由两个信号控制定时器的启停。 O ( ) 4.当MCS-51上电复位时,堆栈指针SP=00H。 X ( ) 5.MCS-51的串口是全双工的。O ( ) 6.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。 X 7.相对寻址方式中,“相对”两字是相对于当前指令的首地址。 X ( ) 8.各中断源发出的中断请求信号,都会标记在MCS-51系统中的TCON中。X ( ) 9.必须进行十进制调整的十进制运算只有加法和减法。X ( ) 10.执行返回指令时,返回的断点是调用指令的首地址。 X ( ) 三.计算题(22分) 1.(A)=3BH,执行ANL A,#9EH指令后,(A)=1AH (CY)=不受影响

2.JNZ REL为2B指令,放于1308H,转移目标地址是134AH,求偏移量REL=40H 3.若(A)=C3H,(R0)=AAH,执行ADD A,R0后,(A)= 6DH (CY)=1 (OV)=1 (AC)= 0 4.若(A)=50H,(B)=A0H,执行MUL AB后,(A)=00H (B)=32H (CY)=总为0 (OV)=1

5.SJMP 0E7H为2B指令,放于F010H,目标地址= EFF9H 四.阅读并分析程序(28分)

1.2506H M5:MOV SP,#58H 2509H MOV 10H,#0FH 250CH MOV 11H,#0BH

?SP?1?SP,PC7~0?SP?250FH ACALL XHD ;PC+2?PC ,??

SP?1?SP,PC?SP??15~8?addr?PC?10~0??MOV 20H,11H

2514H M5A:SJMP M5A XHD:PUSH 10H PUSH 11H POP 10H POP 11H RET 问:(1)执行POP 10H后堆栈内容?(SP)=5AH (2)执行M5A:SJMP M5A后,(SP)=58H (20H)=0FH 2.A程序存储空间表格如下: 地址 内容 2000H 3FH 2001H 06H 2002H 5BH 2003H 4FH 。。。。。 。。。。。 已知:片内RAM的20H中为01H,执行下列程序后(30H)=5BH MOV A,20H INC A

MOV DPTR,#2000H MOVC A,@A+DPTR CPL A MOV 30H,A SJMP $

3.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20H

MOV A,@R0 MOV @R0,40H MOV 40H,A MOV R0,#35H

问执行程序后,R0=35H A=7FH 4BH=20H 40H=7FH 4.若PSW=00, 执行下列程序后,PSW的各位状态如何?

MOV A,#0FBH

MOV PSW,#10H ADD A,#7FH CY 1 AC 1 OV 0 P 1 OF 0 RS1 1 五、程序填空(10分) 1.数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 ORG 1000H

MOV R7,_#20H_ MOV R0, #30H MOV R1,#60H

LOOP:MOV A,@R0 MOV __ R1_,A INC R0 INC R1

DJNZ R7, _ LOOP _ SJMP $ END

2. 将4个单字节数放片内30H~~33H,它们求和结果放在片内40H,41H单元。

ORG 1000H

MOV R7,#04H MOV R0,30H CLR A

MOV 41H,A

LOOP: ADD A,@R0 JNC NEXT

INC _41H _ NEXT:INC _ R0_ DJNZ R7,LOOP MOV 40H,A SJMP $ END

3. RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD

码的十位和个位放在累加器A中,百位放在R2中。

ORG 2200H MOV A,_40H _ MOV B,#64H DIV AB

MOV R2,A

MOV A,_#0AH _ XCH A,B DIV AB

SWAP __ A__ ORL A,B SJMP $ END

4. 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 ORG 1000H

MOV R7,#07H

MOV R0,__#40H_ LOOP:MOV A,@R0 ANL A,_#0FH _ MOV @R0,A INC R0

DJNZ R7,LOOP SJMP $

END