单片机期末考试试题含答案8Word文档下载推荐.docx
《单片机期末考试试题含答案8Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机期末考试试题含答案8Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
![单片机期末考试试题含答案8Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/31/435119ac-6c86-4c24-9227-00c6ffad1575/435119ac-6c86-4c24-9227-00c6ffad15751.gif)
A.09HB.87HC.00HD.80H
11.PSW=18H时,则当前工作寄存器是(d)
A.0组B.1组C.2组D.3组
12.MOVXA,@DPTR指令中源操作数的寻址方式是(b)
A.寄存器寻址B.寄存器间接寻址C.直接寻址D.立即寻址
13.MCS-51有中断源(a)
A.5B.2C.3D.6
14.MCS-51上电复位后,SP的内容应为(b)
A.00HB.07HC.60HD.70H
15.ORG0003H
LJMP2000H
ORG000BH
LJMP3000H
当CPU响应外部中断0后,PC的值是(b)
A.0003HB.2000HC.000BHD.3000H
16.控制串行口工作方式的寄存器是(c)
A.TCONB.PCONC.SCOND.TMOD
17.执行PUSHACC指令,MCS-51完成的操作是(a)
A.SP+1
SP,ACC
SPB.ACC
SP,SP-1
SP
C.SP-1
SPD.ACC
SP,SP+1
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.CPUB.微处理器C.单片微机D.控制器
21.要把P0口高4位变0,低4位不变,应使用指令(d)
A.ORLP0,#0FHB.ORLP0,#0F0HC.ANLP0,#0F0HD.ANLP0,#0FH
22.下面哪种外设是输出设备(a)
A.打印机B.纸带读出机C.键盘D.A/D转换器
23.所谓CPU是指(a)
A.运算器和控制器B.运算器和存储器C.输入输出设备D.控制器和存储器
24.LCALL指令操作码地址是2000H,执行完响应子程序返回指令后,PC=(d)
A.2000HB.2001HC.2002HD.2003H
25.MCS-51执行完MOVA,#08H后,PSW的哪一位被置位(d)
A.CB.F0C.OVD.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.
B.
C.T1D.T0
30.MCS-51的相对转移指令的最大负跳变距离(b)
A.2KBB.128BC.127BD.256B
二.判断题(10分)
1.我们所说的计算机实质上是计算机的硬件系统和软件系统的总称。
(√)
2.MCS-51的程序存储器只能用来存放程序。
(×
)
3.TMOD中GATE=1时,表示由两个信号控制定时器的启停。
4.当MCS-51上电复位时,堆栈指针SP=00H。
)
5.MCS-51的串口是全双工的。
6.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
(×
7.相对寻址方式中,“相对”两字是相对于当前指令的首地址。
8.各中断源发出的中断请求信号,都会标记在MCS-51系统中的TCON中。
9.必须进行十进制调整的十进制运算只有加法和减法。
10.执行返回指令时,返回的断点是调用指令的首地址。
三.计算题(22分)
1.(A)=3BH,执行ANLA,#9EH指令后,(A)=(CY)=
2.JNZREL为2B指令,放于1308H,转移目标地址是134AH,求偏移量REL=
3.若(A)=C3H,(R0)=AAH,执行ADDA,R0后,(A)=(CY)=
(OV)=(AC)=
4.若(A)=50H,(B)=A0H,执行MULAB后,(A)=(B)=(CY)=
(OV)=
5.SJMP0E7H为2B指令,放于F010H,目标地址=
四.阅读并分析程序(28分)
1.2506HM5:
MOVSP,#58H
2509HMOV10H,#0FH
250CHMOV11H,#0BH
250FHACALLXHD;
PC+2
PC,
MOV20H,11H
2514HM5A:
SJMPM5A
XHD:
PUSH10H
PUSH11H
POP10H
POP11H
问:
(1)执行POP10H后堆栈内容?
(2)执行M5A:
SJMPM5A后,(SP)=(20H)=
2.A程序存储空间表格如下:
地址
2000H
2001H
2002H
2003H
。
内容
3FH
06H
5BH
4FH
已知:
片内RAM的20H中为01H,执行下列程序后(30H)=
MOVA,20H
INCA
MOVDPTR,#2000H
MOVCA,@A+DPTR
CPLA
MOV30H,A
SJMP$
3.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20H
MOVA,@R0
MOV@R0,40H
MOV40H,A
MOVR0,#35H
问执行程序后,R0=A=4BH=40H=
4.若PSW=00,执行下列程序后,PSW的各位状态如何?
MOVA,#0FBH
MOVPSW,#10H
ADDA,#7FH
CY
AC
OV
P
OF
RS1
五.程序填空(10分)
1.数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。
ORG1000H
MOVR7,_____
MOVR0,#30H
MOVR1,#60H
LOOP:
MOV_____,A
INCR0
INCR1
DJNZR7,_____
END
2.将4个单字节数放片内30H~~33H,它们求和结果放在片内40H,41H单元。
ORG1000H
MOVR7,#04H
MOVR0,30H
CLRA
MOV41H,A
ADDA,@R0
JNCNEXT
INC_____
NEXT:
DJNZR7,LOOP
MOV40H,A
3.RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。
ORG2200H
MOVA,_____
MOVB,#64H
DIVAB
MOVR2,A
XCHA,B
SWAP_____
ORLA,B
SJMP$
4.编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。
MOVR7,#07H
MOVR0,_____
MOVA,@R0
ANLA,_____
MOV@R0,A
DJNZR7,LOOP
END
机模拟试卷008参考答案
三.计算题:
(22分)
(1)(A)=1AH(CY)=不受影响
(2)REL=40H
(3)(A)=6DH(CY)=1(OV)=1(AC)=0
(4)(A)=00H(B)=32H(CY)=总为0(OV)=1
(5)目标地址=EFF9H
四:
阅读并分析程序(28分)
(1)1)执行POP10H后堆栈内容?
(SP)=5AH
2)执行M5A:
SJMPM5A后,(SP)=58H(20H)=0FH
(2)(30H)=5BH
(3)R0=35HA=7FH4BH=20H40H=7FH
(4)
1
五、程序填空(10分)
1._#20H___R1____LOOP____
2.__41H_____R0___
3.__40H____#0AH______A___
4._#40H______#0FH___
机模拟试卷009
一、填空题(共20分,每题4分)
1、单片机试验系统与微机是通过相连。
2、若想进入全屏幕编辑界面,按下功能键,按ALT+F建立新文件,即可开始输入源文件。
3、当程序输入错误或需要调整时,使用命令完成。
4、将立即数#33H送20H单元使用指令。
5、入栈指令使用指令。
二、程序分析题(共20分,每题10分)
1、位地址为M、N、Y,程序如下:
MOV C,M ;
(M)➞C
ANLC,;
(M)
MOVY,C;
(Y)=(M)
MOVC,M;
(M)➞C
ANLC,N;
ORLCY;
MOVY,C
求程序功能表达式:
2、阅读下列程序并回答问题
CLRC
MOVA,#9AH
SUBBA,60H
ADDA,61H,
DAA
MOV62H,A
(1)请问该程序执行何种操作?
(2)已知初值:
(60H)=23H,(61H)=61H,请问运行程序后:
(62H)=()?
三、编程题(共60分,每题30分)
1、将31H、32H单元与41H、40H单元的双字节十进制无符号数相加,结果存入32H,31H,30H单元。
即(31H)(30H)+(41H)(40H)32H、31H、30H。
(1)输入程序
参考程序
MOVR0,#30H
MOVR1,#40H
MOVR2,#02H
L1:
MOVA,@R0
ADDCA,@R1
DAA
MOV@R0,A
INCR0
INCR1
DJNZR2,L1
MOVACC.0,C
(2)在31H、30H单元存入加数如3018,在41H,40H单元存入被加数如8975。
(3)输入程序首地址,(从处为2000H),然后开始单步或断点运行该段程序。
(4)运行过程中检查数据的变化,并在最后检查(32H)=,(31H)=,(30H)=。
2、编程实现逻辑运算:
Q=(U*(V+W))+X.Y)+Z。
设U~Z的位地址为00H~05H.Q的位地址为07H。
《实际中U~Z可以是外部输入端口信号或软件设定的一些控制位》。
实习步骤:
(1)输入所编程序。
MOVC,01H
ORLC,02H
ANLC,00H
MOVF0,C;
暂存U*(V+W)的值
MOVC,03H
ANLC,/04H
ORLC,F0
ORLC,/05H
MOV07H,C;
保存结果
(2)部RAM20H单元(位地址00H~07H的位在20H单元)输入某个数据(注意此时各位的状态并做好记录)。
(3)单步或断点运行所编程序,逐步检查Cy及个数据的变化情况(注意检查时也按字节读出,再观察其相应位)。
(4)验证运行结果
(5)改变20H单元的置数,