内容发布更新时间 : 2024/12/26 21:12:40星期一 下面是文章的全部内容请认真阅读。
2017年单片机原理及应用期末考试题试卷及答案
一、填空题(每空格1分,共10分)
1.MCS—51布尔处理机的存储空间是_______。
2.P2口通常用作_______,也可以作通用的I/O口使用。
3.若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为______。 4.8051的堆栈区一般开辟在_______。
5.所谓寻址,其实质就是_.如何确定操作数的单元地址______。 6.存储器映象是_存储器在整个存储空间的地址范围______。 7.定时器中断请求发生在_.定时时间到 ______。
8.中断响应时间是指_____从查询中断请求标志位到转向中断区入口地址所需的机器周期数_。
9.通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方式称为程序查询方式 _______。
10.在中断服务程序中现场保护和现场恢复期间,中断系统应处在_关中断___状态。
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填
在题干的括号内。每小题1分,共10分)
1.MCS-51单片机复位操作的主要功能是把PC初始化为( )。
A.0100H B.2080H C.0000H D.8000H
2.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( )。
A.500 B.1000 C.216-500 D.216-1000
3.定时器1工作在计数方式时 ,其外加的计数脉冲信号应连接到( )引脚。 A.P3.2 B.P3.3 C.P3.4 D.P3.5
4.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( A )。
A.1个机器周期 B.2个机器周期 C.4个机器周期 D.10个晶振周期
5.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。 A.外部中断0 B.外部中断1 C.定时器0中断 D.定时器1中断
6.定时器若工作在循环定时或循环计数场合,应选用( C )。
A.工作方式0 B.工作方式1 C.工作方式2 D.工作方式3 7.MCS-51单片机的外部中断1的中断请求标志是( D )。 A.ET 1 B.TF1 C.IT1 D.IE1 8.下列标号中,正确的标号是( D )。
A.1BT: B.BEGIN: C.ADD: D.STAB31: 9.串行口每一次传送( A )字符。
A.1个 B.1串 C.1帧 D.1波特
10.要想把数字送入DAC0832的输入缓冲器,其控制信号应满足( B )。 A.ILE=1,CS=1,WR1=0
B.ILE=1, CS=0, WR1=0 C.ILE=0, CS=1, WR1=0 D.ILE=0,CS=0, WR1=0
三、简答题(每小题4分,共20分) 1.如何正确使用P3口? 1.要点:
(1)说明P3口有第一功能和第二功能的使用。 (2)P3口的第二功能各位线的含义。
(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。 (4)读引脚数据时,必需先给锁存器输出“1”。
2.简述累加器的ACC的作用。 (1)8位专用寄存器。
(2)运算时存放一个操作数。
(3)运算后存放运算结果,所以称它为累加器。
3.简述寄存器间接寻址方式及其寻址范围。
.(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄
存器间接寻址方式。
(2)寻址范围:
①内部RAM低128单位,形式@Ri(i=0,1)。
②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。
4.简述MCS-51单片机的中断入口地址。 5.简述串行数据传送的特点。
四、读程序题(每小题4分,共20分) 1.执行下列程序段后,(P1)=_______。 MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.7
2.执行下列程序段后,(A)=_______,(CY)=____。 MOV A,#C5H RL A
3.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H 1NC @R0 1NC R0
1NC @R0 4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。 5.阅读下列程序,说明其功能。 MOV R0,#data MOV A,@R0 RL A
MOV R1,A RL A RL A
ADD A,R1 MOV @R0,A RET
五、编程题(每小题4分,共20分)
1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序 。 2.请使用位操作指令实现下列逻辑操作: BIT=(10H∨P1.0)∧(11H∨CY)
3.已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。 ?1x?0?0x?0???1x?0 Y=?4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。 MOV R0,#SUM MOV A,R2 ANL A,#OFH
MOV @R0,A ;存低字节BCD MOV A,R2 ANL A,#0F0H SWAP A 1NC R0
MOV @R0,A ;存高字节BCD
5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现 MOV DPTR,#8000H
MOV R0,#10H MOV R2,#50H
LOOP:MOVX A,@DPTR ;取数 MOVX @R0,A ;存数 1NC DPTR 1NC R0
DJNZ R2,LOOP RET