考试样卷1.docx
《考试样卷1.docx》由会员分享,可在线阅读,更多相关《考试样卷1.docx(15页珍藏版)》请在冰豆网上搜索。
![考试样卷1.docx](https://file1.bdocx.com/fileroot1/2023-2/3/b989badd-a709-4838-88a0-51ba831965ea/b989badd-a709-4838-88a0-51ba831965ea1.gif)
考试样卷1
南方医科大学
生物医学工程学院xxxx学年(春季)学期考试
xxxx年级xx工程本科
《单片机原理与应用》试卷
姓名学号专业年级
考试时间:
学时数:
答卷时间:
负责人:
题型
单选题
填空题
编程题
综合题
合计
满分
30
30
20
20
100
得分
评卷人
得分数:
每道题下面有A、B、C、D四个答案,其中只有一个正确答案,答题时从中选择一个你认为最合适的答案,并将答题填写在题目中下画线上面,以示你的选择,每小题1分,共30分。
一、单选题
题干:
1-30
1.8位二进制数所能表示的最大无符号数是
(A)255(B)127
(C)256(D)128
2.存储器中,每个存储单元都被赋予唯一的编号,这个编号称为
(A)地址(B)字节
(C)列号(D)容量
3.取指操作后,PC的值是
(A)当前指令的前一条指令的地址(B)当前正在执行指令的地址
(C)下一条指令的地址(D)控制器中指令寄存器的地址
4.下列概念叙述正确的是
(A)80C51中共有5个中断源,因此在芯片上相应地有5个中断请求输入引脚
(B)特殊的存取规则使得堆栈已不是数据存储区的一部分
(C)可以把PC看成是数据存储空间的地址指针
(D)CPU中反映程序运行状态和运算结果特征的寄存器是PSW
5.MCS-51中的位地址30H~37H位于下列单元地址范围中。
(A)片内RAM00H~1FH(B)片内RAM30H~37H
(C)片内RAM20H~2FH(D)片外RAM0020H~002FH
6.设置堆栈指针SP=30H后,进行一系列的堆栈操作。
当进栈数据全部弹出后,SP应
指向
(A)30H(B)07H(C)31H(D)2FH
7.在单片机芯片内设置通用寄存器的好处不包括
(A)提高程序运行速度(B)提高程序运行的可靠性
(C)减小程序长度(D)为程序设计提供方便
8.下列叙述中正确的是
(A)SP内装的是堆栈栈顶单元的内容
(B)中断服务程序中没有PUSH和POP指令,说明此次中断操作与堆栈无关
(C)在单片机中配合实现“程序存储自动执行”的寄存器是累加器
(D)在中断响应时,断点地址自动进栈
9.8051单片机的片内有个16位的特殊功能寄存器
(A)1(B)2(C)3(D)4
10.80C51单片机的堆栈区建立在
(A)片内数据存储区的低128字节单元(B)片内程序存储区
(C)片内数据存储区的高128字节单元(D)片外程序存储区
11.指令AJMP的跳转范围是
(A)256 (B)1KB (C)2KB (D)64KB
12.执行下列程序段后,实现的功能是
MOVR0,#DATA
MOVA,@R0
RLA
MOVR1,A
RLA
RLA
ADDA,R1
MOV@R0,A
(A)把立即数DATA循环左移3次(B)把立即数DATA乘以10
(C)把DATA单元的内容循环左移3次(D)把DATA单元的内容乘以10
13.以下各项中不能用来对内部数据存储器访问的是。
(A)数据指针DPTR(B)按存储单元地址或名称
(C)堆栈指针SP(D)由R0或R1作间址寄存器
14.在寄存器间接寻址方式中,指定寄存器中存放的是。
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量
15.下列指令或指令序列中,能将外部数据存储器3355H单元内容传送到A的是。
(A)MOVXA,3355H(B)MOVDPTR,#3355H
MOVXA,@DPTR
(C)MOVP0,#33H(D)MOVP2,#33H
MOVR0,#55HMOVR2,#55H
MOVXA,@R0MOVXA,@R2
16.对程序存储器的读操作,只能使用
(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令
17.执行中断返回指令后,返回的断点是
(A)调用指令的首地址(B)调用指令的末地址
(C)调用指令的下一条指令的首地址(D)返回指令的末地址
18.在中断流程中,有“关中断”的操作,对外部中断0,要关中断应复位中断允许寄存器的。
(A)EA位和ET0位(B)EA位和EX0位(C)EA位和ES位(D)EA位和EX1位
19.80C51单片机的定时器/计数器0的中断向量为。
(A)001BH(B)0003H(C)000BH(D)0013H
20.在工作方式0下,计数器由TH的全部和TL的低五位组成,因此,其计数范围是
(A)1-8192(B)0-8191(C)0-8192(D)1-4096
21.对于由80C51构成的单片机应用系统,中断响应并自动生成长调用指令LCALL后,应。
(A)转向外部数据存储器去执行中断服务程序
(B)转向内部数据存储器去执行中断服务程序
(C)转向外部程序存储器去执行中断服务程序
(D)转向内部程序存储器去执行中断服务程序
22.下列有关80C51中断优先级控制的叙述中,正确的是。
(A)低优先级在一定情况下可以中断高优先级
(B)同级中断在一定的条件可以嵌套
(C)同级中断请求按时间的先后顺序响应
(D)同一时刻,同级的多中断请求,将形成阻塞,系统无法响应
23.各中断源发出的中断请求信号,都会标记在80C51系统中的。
(A)TMOD (B)TCON/SCON (C)IE (D)IP
24.80C51单片机定时器工作方式2是指的工作方式。
(A)不确定(B)8位自动重装(C)13位(D)16位
25.下列信号中,不是给数据存储器扩展使用的是A
(A)
(B)
(C)
(D)ALE
26.在80C51单片机系统中,为解决内外程序存储器衔接问题所使用的信号是
(A)
(B)
(C)
(D)ALE
27.RAM是随机存储器的意思,随机存储器的准确含义是
(A)存储器内各存储单元的存取时间相等
(B)可以在任何时刻随机读/写存储器内各存储单元
(C)随机表示既可读又可写
(D)随机是易失的意思,因为随机存储器具有易失的特点
28.在单片机扩展系统中,区分片外程序存储器和数据存储器的最可靠方法是
(A)看其芯片型号是RAM还是ROM
(B)看其位于地址范围的低端还是高端
(C)看其离MCS-51芯片的远近
(D)看其是被RD还是PSEN信号连接
29.80C51单片机外扩存储器芯片时,4个I/O口中作为数据总线的是
(A)P0口和P2口 (B)P0口
(C)P2口和P3口 (D)P2口
30.当需要从80C51单片机数据存储器取数据时,不能采用的指令为
(A)MOVA,@R1(B)MOVCA,@A+DPTR
(C)MOVXA,@R0(D)MOVXA,@DPTR
得分数:
根据题意在每道题的空白处填写答案,填写时字迹要清楚。
每空1分,共20分。
二、填空题
题干:
31-60
31.通过堆栈操作实现子程序调用,首先要把PC的内容入栈,以进行断点保护。
32-34.80C51单片机中,一个机器周期包含6个状态周期,一个状态周期可划分2个拍节,一个拍节为1个振荡脉冲周期。
因此,一个机器周期应包含12个振荡脉冲周期。
35-36.80C51单片机内部RAM的低128个单元是可供用户使用,按用途可分为通用寄存器区、位寻址区和用户RAM区。
37-38.80C51单片机的时钟电路包括两部分内容,即芯片内的高增益反相器和芯片外跨接的石英晶体和两个电容。
39-42.假定(A)=85H,(R0)=30H,(30H)=0AFH,执行指令“ADDA,@R0”后,累加器A的内容为34H,CY的内容为1,AC的内容为1,OV的内容为1。
43-45.已知(40H)=98H,(41H)=AFH,写出涉及的片内RAM单元的最后结果:
(42H)=47H,(43H)=01H,(R0)=43H
MOVR0,#40H
MOVA,@R0
INCR0
ADDA,@R0
INCR0
MOV@R0,A
CLRA
ADDCA,#0
INCR0
MOV@R0,A
46-48.假定(A)=40H,(R1)=23H,(40H)=05H。
执行以下两条指令后,
(A)=25H,(R1)=40H,(40H)=03H
XCHA,R1
XCHDA,@R1
49-53.80C51类单片机的中断源共有五个,分别为外部中断0、定时器0中断、
外部中断1、定时器1中断、串行中断。
54-55.80C51单片机为外扩展存储器准备了16条地址线,其中低位地址线由P0提供,高位地址线由P2提供。
56-58.80C51单片机I/O扩展占据的是程序存储器的地址空间,因此,其扩展连接只涉及
、WR和RD3个控制信号。
59-60.接口一个36键的行列式键盘,最少需要12条I/O线。
接口4位8段LED显示器,最少需要12条I/O线。
得分数:
根据题意编写程序,解题时要有解题思路,并加上注释和必要的伪指令。
共20分。
三、编程题
题干:
61-64
61.请编写一子程序TOASCII,把A中的十六进制数转换为ASCII码。
出口为R1(高位)、R2(低位)。
例:
若(A)=4AH,则(R1)=34H,(R2)=41H。
(5分)
十六进制数
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
ASCII码
30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46
ORG0000H
MOVR3,A
ANLA,#0F0H
SWAPA
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVR1,A
MOVA,R3
ANLA,#0FH
MOVCA,@A+DPTR
MOVR2,A
TAB:
DB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H
DB45H,46H
END
62.设单片机的晶振频率f=6MHz,选用定时器T0,编程实现使P1.2和P1.3引脚上分别输出周期为0.2s和2s的方波,要求以中断方式完成编程,加上必要的伪指令和注释。
(注15536=3CB0H)。
(5分)
T1方式字段 T0方式字段
GATE
M1
M0
GATE
M1
M0
TMOD寄存器格式
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TCON寄存器格式
EA
-
-
ES
ET1
EX1
ET0
EX0
IE寄存器格式
ORG0000H
LJMPMAIN
ORG000BH
LJMPTIMER
ORG1000H
MAIN:
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,,#0B0H
MOVR2,#0AH
SETBP1.2
SETBP1.3
SETBEA
SETBET0
SETBTR0
HERE:
AJMPHERE
TIMER:
TH0,#3CH
TL0,#0B0H
CPLP1.2
DJNZR2,LOOP
CPLP1,.3
MOVR2.#0AH
LOOP:
RETI
END
63.
下图中使用8255作6位共阴LED显示器接口的接口电路。
其中PC口为位码输出口,以PC5-0输出位控信号,由于位控线的驱动电流较大,因此,PC口输出加接74LS06进行反相并提高驱动能力。
PA为段码输出口,为提高显示亮度,加接74LS244进行段控输出驱动。
8255各端口的地址为:
PA:
FFFCH,PB:
0FFFDH,PC:
0FFFEH,控制字寄存器:
0FFFFH。
请编写汇编语言源程序,对于8255进行初始化。
(5分)
MOVDPTR,#0FFFFH
MOVA,#0A8H
MOVX@DPTR,A
64.基于63题的接口图,请编写一汇编语言子程序DISPLAY,进行6位LED显示器的动态显示。
(5分)
数字
共阳极段码
共阴极段码
数字
共阳极段码
共阴极段码
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
8EH
71H
7
F8H
07H
灭
FFH
00H
8
80H
7FH
DEPLAY:
MOVR0,#79H
MOVR3,#01H
MOVA,R3
LD0:
MOVDPTR,#0FFFEH
MOVX@DPTR,A
MOVA,@R0
DTR0:
MOVDPTR,#TAB
MOVCA,@A+DPTR
DTR1:
MOVDPTR,#0FFFCH
MOVX@DPTR,A
ACALLDELAY
INCR0
MOVA,R3
JBACC.5,LD1
RLA
MOVR3,A
AJMPLD0
LD1:
RET
DELAY:
MOVR6,#00H
MOVR7,#00H
DELAYLOOP:
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H
DB….
得分数:
认真审题,解题时要有解题思路,并加上注释和必要的伪指令。
共20分。
四、综合题
右图为一种常见的单片机与A/D转换器ADC0809接口电路图,请仔细阅读分析电路原理,并回答下列问题:
65.简述锁存器74LS373在电路中所起的作用。
(5分)
66.计算A/D转换器ADC0809八个模拟通道IN0~IN7的地址。
(5分)
67.编写单片机汇编语言源程序,实现对通道IN0采样,把结果存放在内部数据存储区的存储单元80H中,要求采用查询方式。
(5分)
68.编写单片机汇编语言源程序,实现对八路模拟信号分别采样一次,并依次把结果存放在60H开始的内部数据存储区中,要求采用中断方式。
(5分)
65、74LS373:
地址锁存
66、要启动AD0809,则:
P2.7=0,P2.4~P2.0P0.7~P0.3可取任意值,P0.2~P0.0由所选通道决定。
假设P2.4~P2.0P0.7~P0.3均取1,则各通道地址为:
IN0:
0111111111111000=7FF8H
IN1:
7FF9H
IN2:
7FFAH
IN3:
7FFBH
IN4:
7FFCH
IN5:
7FFDH
IN6:
7FFEH
IN7:
7FFFH
67、ORG0000H
MOVR1,#80H
MOVDPTR,#7FF8H
MOVX@DPTR,A;启动A\D转换
WAIT:
JBP3.3,WAIT;等待转换结束
MOVXA,@DPTR
MOV@R1,A
END
68:
ORG0000H
AJMPMAIN
ORG0013H
AJMPCAIYANG
ORG1000H
MAIN:
MOVR0,#60H
MOVR2,#08H
SETBIT1
SETBEA
SETBEX1
MOVDPTR,#7FF8H
LOOP:
MOVX@DPTR,A
WAIT:
AJMPWAIT
CAIYANG:
MOVXA,@DPTR
MOV@R0,A
INCR0
INCDPTR
DJNZR2,NEXT
DONE:
AJMPDONE
NEXT:
RETI
END