2.下面哪一个部件不是CPU的指令部件()。
A. PC
B. IR
C. PSW
D. ID
3.PC中存放的是()
A. 下一条指令的地址
B. 当前正在执行的指令
C. 当前正在执行的指令的地址 C. 下一条要执行的指令
4.关于MCS-51的堆栈操作,正确的说法是()
A. 先入栈,再修改栈指针
B. 先修改栈指针,再出栈
C. 先修改栈指针,再入栈
D. 以上都不对
5.指令寄存器的功能是()
A. 存放指令地址
B. 存放当前正在执行的指令
C. 存放指令与操作数
D. 存放指令地址及操作数
6.下列指令中的目的操作数不是寄存器寻址的是()。
A. MOV A,20H
B. MOV ACC,R1
C. MOV R5,20H
D. MOV DPTR,#2000H
7.运行MUL AB指令后,OV=1表示()
A. 乘积中累加器(A)=0
B. 乘积中累加器(A)≠0
C. 乘积中累加器(B)=0
D. 乘积中累加器(B)≠0
8.下列指令操作码中不能判断两个字节数据是否相等的是()。
A. SUBB
B. ORL
C. XRL
D. CJNE
9.以下选项中正确的立即数是()
A. #F0H
B. #1234H
C. 1234H
D. F0H
10.要把P0口高4位变0,低4位不变,应使用指令()。
A. ORL P0,#0FH
B. ORL P0,#0F0H
C. ANL P0,#0F0H
D. ANL P0,#0FH
三、判断题(共20分,对的打“√”,错的打“×”)
1.MCS-51外扩I/O与外RAM是统一编址的。()
2.MCS-51的程序存储器只是用来存放程序的。()
3.PC存放的是当前正在执行的指令。()
4.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。()
5.要进行多机通信,MCS-51串行口的工作方式应选为方式1。()
6.MCS-51的串行口是全双工的。()
7.在串行通信中,收、发双方的波特率可以不一样。()
8.一般读BCD拨码盘时不需要消除抖动的延时。()
9.LED数码管显示器的译码方式有硬件和软件两种。()
10.独立式键盘的电路简单但识别按键的程序复杂。()
四、程序分析题(每题5分,共20分)
1.阅读下列程序段并回答问题。
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H
DA A
MOV 62H,A
(1)请问该程序执行何种操作?
(2)已知初值:(60H)=23H,(61H)=61H,请问运行后:(62H)= 。2.设片内RAM中(59H)=50H,执行下列程序段后(A)= ,(50H)= ,(52H)= 。
MOV A,59H
MOV R0,A
MOV A,#0
MOV @R0,A
MOV A,#25H
MOV 51H,A
MOV 52H,#70H
3.设位累加器C的值为1,P1口的内容为10100011B,P3口的内容为01101100B,说明执行下列程序后,C、P1口、P3口内容的变化结果。
MOV P1.3,C
MOV P1.4,C
MOV C,P1.6
MOV P3.6,C
MOV C,P1.0
MOV P3.4,C
4.已知(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40H)=20H,问执行程序后,R0、A和4BH、40H单元内容的变化如何?
MOV A,@R0
MOV @R0,40H
MOV 40H,A
MOV R0,#35H
五、编程题(每题10分,共20分)
1.请使用位操作指令,实现下列逻辑操作:
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
2.试编程将分别存放在R2和R3中的BCD码数相加,并将结果送回R2和R3中。
以下为本试卷的参考答案
一、填空题(每空1分,共20分)
17.11011010B
18.补码
19.地
20.片内
21.程序
22. 4
23. 1
24.1022H
25. 1
26.保持原来的值
27.寄存器间接寻址
28.8 ,片内RAM
29.累加器A ,PC 或DPTR
30.8140H
31.7030H ,60H
32. C
二、选择题(每小题2分,共20分)
11.B
12.C
13.A
14.C
15.B
16.B
17.D
18.B
19.B
20.D
二、判断题(共20分,对的打“√”,错的打“×”)
11.MCS-51外扩I/O与外RAM是统一编址的。(√)
12.MCS-51的程序存储器只是用来存放程序的。(×)
13.PC存放的是当前正在执行的指令。(×)
14.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(×)
15.要进行多机通信,MCS-51串行口的工作方式应选为方式1。(×)
16.MCS-51的串行口是全双工的。(√)
17.在串行通信中,收、发双方的波特率可以不一样。(×)
18.一般读BCD拨码盘时不需要消除抖动的延时。(×)
19.LED数码管显示器的译码方式有硬件和软件两种。(√)
20.独立式键盘的电路简单但识别按键的程序复杂。(×)
三、程序分析题(每题5分,共20分)
1.阅读下列程序段并回答问题。
CLR C
MOV A,#9AH
SUBB A,60H
ADD A,61H
DA A
MOV 62H,A
(1)请问该程序执行何种操作?答:是两个两位BCD码数相减处理程序,61H中是被减数,60H中是减数,差存放在62H单元内。
(2)已知初值:(60H)=23H,(61H)=61H,请问运行后:(62H)= 38H 。2.设片内RAM中(59H)=50H,执行下列程序段后(A)= 25H ,(50H)= 00H ,(52H)= 70H 。
MOV A,59H
MOV R0,A
MOV A,#0
MOV @R0,A
MOV A,#25H
MOV 51H,A
MOV 52H,#70H
3.设位累加器C的值为1,P1口的内容为10100011B,P3口的内容为01101100B,说明执行下列程序后,C、P1口、P3口内容的变化结果。
MOV P1.3,C ;P1.3=C=1
MOV P1.4,C ;P1.4=C=1
MOV C,P1.6 ;C=P1.6=0
MOV P3.6,C ;P3.6=C=0
MOV C,P1.0 ;C= P1.0=1
MOV P3.4,C ;P3.4=C=1
解答:C=1,P1=1011111B,P3=00111100B。
4.已知(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40H)=20H,问执行程序后,R0、A和4BH、40H单元内容的变化如何?
MOV A,@R0 ;(A )=(4BH)=7FH
MOV @R0,40H ;(4BH)= (40H)=20H
MOV 40H,A ;(40H)= (A )=7FH
MOV R0,#35H ;(R0)=35H
四、编程题(每题10分,共20分)
1.请使用位操作指令,实现下列逻辑操作:
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
解答:先进行与操作,再进行或操作程序如下:
MOV C,ACC.1
ANL C,P2,0
MOV 12H,C
MOV,C,ACC.2
ANL C,P2.7
ORL C,12H
MOV P1.5,C
RET
2.试编程将分别存放在R2和R3中的BCD码数相加,并将结果送回R2和R3中。解答:根据题意,程序如下:
MOV A, R2 ;一个BCD数送A中
ADD A, R3 ;与第二个BCD数相加
DA A ;作十进制调整
MOV R3, A ;结果低字节送R3中
CLR A ;A清0,准备取CY值
RLC A ;CY 值移入A中最低位A0
MOV R2, A ;结果高字节送R2中
LP:SJMP LP ;暂停