单片机原理复习题答案整理非电类.docx
《单片机原理复习题答案整理非电类.docx》由会员分享,可在线阅读,更多相关《单片机原理复习题答案整理非电类.docx(14页珍藏版)》请在冰豆网上搜索。
单片机原理复习题答案整理非电类
《单片机原理及接口技术》复习题
一、填空题
1.MCS-51单片机引脚信号中,信号名称带上划线的表示该信号为(低电平)有效或(下降沿)有效。
2.若想使用MCS-51单片机的片内程序存储器,引脚
必须接(低电平)。
当
信号有效时,表示CPU要从(外部)存储器读取信息。
3.MCS-51单片机访问片外存储器时,利用(ALE)信号锁存来自(P0)口的低8位地址信号。
4.MCS-51单片机内部RAM的通用寄存器区共有(32)个单元,分为(4)组工作寄存器,每组(8)个单元,以(R0-R7)作为寄存器名称。
5.使AT89C51单片机复位有(加电复位)和(手动复位)两种方法。
复位以后CPU使用第(0)组工作寄存器,它们所对应的内部RAM地址为(00)H至(07)H,若要求使用第2组工作寄存器,RS1和RS0应设置为(10)。
6.MCS-51单片机的存储器分为4个物理上相互独立的存储器空间,即(内部ROM)、(外部ROM)、(内部RAM)、(外部RAM),按其逻辑关系可分为(3)个逻辑上相互独立的存储器空间。
7.MCS-51系列单片机片内数据存储器的寻址空间为(256)B、片外数据存储器的寻址空间为(64)KB。
8.MCS-51系列单片机包括很多机型,其中8031单片机片内有(0)B的程序存储器、AT89C51单片机片内有(4)KB的程序存储器。
9.MCS-51系列单片机包括很多机型,其中AT89C51单片机片内有(128)B的数据存储器和(4K)B的程序存储器。
10.MCS-51单片机常用的晶振频率范围是(1.2)Hz至(33)Hz。
如果单片机的时钟频率为12MHz,则一个机器周期是
(1)μs。
11.CPU的指令系统就是该CPU所能执行的(指令)的集合。
12.MCS-51单片机的指令系统有(7)种寻址方式。
13.寄存器寻址方式的寄存器的内容是(操作数),可用于寄存器寻址的寄存器有R0~R7、(DPTR)、(累加器A)、(AB寄存器)等。
14.在寄存器间接寻址方式中,其“间接”体现在寄存器的内容不是(操作时),而是操作数所在RAM单元的(地址)。
可用于寄存器间接寻址的寄存器有SP、(R0)、(R1)、(DPTR)等。
15.在变址寻址方式中,可把(PC)或(DPTR)作为基址寄存器,而把(累加器A)作为变址寄存器。
变址寻址方式是专用于访问(外部RAM或ROM)的一种寻址方式。
16.MCS-51系列单片机的数据指针是(DPTR),堆栈指针是(SP),访问片外数据存储器应使(MOVX)指令。
17.指令“MOVA,48H”和“MOVA,#48H”的源操作数分别采用的是(直接)寻址和(立即数)寻址方式。
18.假定外部数据存储器1000H单元的内容为80H,A的内容为60H,执行下列指令序列后,累加器A的内容为(80H)。
MOVDPTR,#1000H
MOVXA,@DPTR
19.执行下列指令序列后,累加器A的内容为(68H)。
MOVA,#03H
MOVCA,@A+PC
DB20H,23H,26H,68H,85H
20.执行下列指令序列后,累加器A的内容为(85H)。
MOVA,#05H
MOVDPTR,#TAB
MOVCA,@A+DPTR
TAB:
DB20H,23H,26H,68H,85H
21.执行下列指令序列后,SP的内容为(62H),61H单元的内容为(68H),62H单元的内容为(36H)。
MOVSP,#60H
MOVA,#68H
MOVPSW,#36H
PUSHACC
PUSHPSW
22.执行下列指令序列后,SP的内容为(41H),A的内容为(39H),B的内容为(88H)。
MOVSP,#43H
MOVR0,#43H
MOV@R0,#39H
MOV42H,#88H
POPACC
POPB
23.执行下列指令序列后,A的内容为(BFH),CY的内容为(0),OV的内容为(0)。
MOVA,#89H
MOVR0,#30H
MOV30H,#36H
ADDA,@R0
24.假定外部数据存储器1000H单元的内容为28H,PSW的内容为82H,执行下列指令序列后,A的内容为(-D2H),CY的内容为
(1),OV的内容为(0)。
MOVDPTR,#1000H
MOVXA,@DPTR
MOVR6,#0FAH
SUBBA,R6
25.执行下列指令序列后,A的内容为(06H),20H单元的内容为(09H)。
MOVR2,#69H
MOVA,R2//A=69H=01101001B
ANLA,#0FH//A=00001001B=09H
MOV20H,A
MOVA,R2//A=69H
ANLA,#0F0H//A=60H
SWAPA
26.执行下列指令序列后,A的内容为(00H),B的内容为(96H)。
MOVR2,#69H
MOVA,R2//A=69H=01101001B
XRLA,#0FFH//A=10010110B=96H
MOVB,A//B=96H
MOVA,R2//A=69H
ANLA,#00H//A=00H
27.计算机唯一能够识别的语言是(机器语言)。
28.AT89C51单片机共有(5)个中断源,可分为
(2)个中断优先级,其中外部中断源的触发方式可采用低电平触发或(脉冲)触发。
29.以外部中断0为例,响应中断后,首先将(PC)的内容压入堆栈,以保护断点,然后把(中断入口地址)装入PC,使程序转向(中断入口区地址)。
30.某AT89C51单片机应用系统,程序已设定(IP)=00H,(IE)=9FH,当所有中断源同时申请中断时,CPU将响应(外部中断0)的中断请求。
31.外部中断有2种触发方式,当IT0等于0时,外部中断0被设置为(电平)触发方式,当IT0等于1时,外部中断0被设置为(脉冲)触发方式。
32.AT89C51单片机内部有2个(16)位的加1定时/计数器,其中T0有(4)种工作方式,T1有(4)种工作方式。
其中方式1是(16)位的定时器。
33.当计数器T0产生溢出时,TF0位被置1,在对T0溢出的处理时,若采用中断方式,TF0作为(计数)位使用,若采用查询方式,TF0作为(状态)位使用。
34.如果系统的晶振频率fosc=3MHz,T0工作于定时器方式0,则最大定时时间为(33ms)。
35.MCS-51单片机的定时/计数器T0工作于定时器方式2时,是(8)位自动重装载方式。
36.MCS-51单片机扩展数据存储器时,由(P0)口提供低8位地址总线和数据总线,由(P2)口提供高8位地址总线,P3.6和P3.7分别提供(写)和(读)控制线。
37.MCS-51单片机在扩展应用时,(P2)口用作地址总线的高8位,(P0)口用作地址总线的低8位和数据总线。
由(ALE)引脚提供地址锁存信号。
38.从单片机的角度上看,连接到数据总线上的输出接口芯片应具有(锁存)功能,连接到数据总线上的输入接口芯片应具有(三态)功能。
39.对于4位LED显示器,若采用静态显示方式,同一时刻有(4)位显示器通电发光,若采用动态显示方式,则同一时刻有
(1)位显示器通电发光。
二、选择题
1.下列说法错误的有(A)。
A、PC属于特殊功能寄存器
B、PC为不可寻址寄存器
C、单片机工作时PC的值为0000H
D、程序中断时,保护断点主要是保护断点处PC的值
2.对程序计数器PC的操作是(A)。
A、自动进行的B、通过传送进行的
C、通过加1指令进行的D通过减1指令进行的
3.单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为16位,因此其寻址范围是(B)。
A、4KBB、64KBC、8KBD、128KB
4.以下有关PC和DPTR的说法中错误的是(D)。
A、DPTR是可以访问的,PC不能访问
B、它们都是16位的寄存器
C、DPTR可以分为2个8位的寄存器使用
D、它们都具有自动加1功能
5.PC的值是(C)的地址。
A、当前指令前一条指令B、当前正在执行指令
C、当前正在执行指令的下一条指令D、控制器中指令寄存器
6.型号为AT89C51的单片机是(C)型单片机。
A、无ROMB、掩膜ROMC、EPROMD、高速存储器
7.在8051应用系统中,对外部RAM进行读操作的控制信号是由(B)引脚送出的。
A、
B、
C、ALED、
8.AT89C51(或8051)单片机片内RAM中的位寻址区共有(A)个位地址。
A、128B、256C、80D、1024
9.MCS-51单片机按字节访问特殊功能寄存器时,只能采用(A)寻址方式。
A、直接寻址B、立即寻址C、寄存器寻址D、寄存器间接寻址
10.MCS-51单片机访问内部数据存储器RAM高128位时,只能采用(A)方式。
A、直接寻址B、立即寻址C、寄存器寻址D、寄存器间接寻址
11.MCS-51单片机访问外部数据存储器时,只能采用(D)方式。
A直接寻址B立即寻址C寄存器寻址D寄存器间接寻址
12.以下选项中正确的位地址表示方法是(C)。
A、21H.2B、RS0C、PSW.0D、A.2
13.MCS-51单片机的一个机器周期是指(B)。
A、1个指令周期B、CPU访问一次存储器所需要的时间
C、1个时钟周期D、1个状态周期
14.关于数据传送类指令,下列说法正确的是(D)。
A、在内部数据存储区中,数据不能从一个地址单元直接传送到另一个地址单元
B、程序存储器中存放的数据能直接送入内部数据存储器中的任意单元
C、所有的数据传送指令都不影响PSW中的任何标志
D、只能使用寄存器间接寻址方式访问外部数据存储器
15.MCS-51单片机对外部数据存储器的读/写操作,只能使用(B)。
A、MOV指令B、MOVX指令C、MOVC指令D、PUSH指令
16.MCS-51单片机对程序存储器的读操作,只能使用(D)指令。
A、MOV指令B、PUSH指令C、MOVX指令D、MOVC指令
17.下列指令中正确的指令是(C)
A、PUSHA(direct用ACC)B、MOVCR1,@A+DPTR
C、ANL40H,#30HD、CJNE50H,#2FH,NEXT
18.要把P1口高4位变为0,低4位保持原状态不变,应使用指令(C)。
A、ORLP1,#0FHB、ORLP1,#0F0H
C、ANLP1,#0F0HD、ANLP1,#0FH
19.8051单片机的串行口的中断程序入口地址为(B)。
A、001BHB、0023HC、000BHD、0013H
20.下列有关MCS-51中断优先级控制的叙述中,错误的是(D)。
A、低优先级的中断不能打断高优先级的中断处理
B、同级中断不能嵌套
C、同级中断请求按时间先后顺序响应
D、同时同级的多中断请求将形成阻塞,系统无法响应
21.MCS-51单片机每个机器周期都要进行中断查询,查询的是(A)。
A、中断标志位B、中断允许控制位
C、中断优先级控制位D、外部中断触发方式控制位
22.外中断初始化的内容不包括(A)。
A、设置中断响应方式B、设置外中断允许
C、设置中断总允许D、设置中断请求的触发方式
23.执行中断返回指令时,将从堆栈中弹出断点地址送给(C)。
A、ACCB、CYC、PCD、DPTR
24.当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B)。
A、1个机器周期B、2个机器周期
C、4个机器周期D、8个机器周期
25.当外部中断0定义为边沿触发方式时,输入的中断请求负脉冲宽度至少要保持(D)。
A、2个振荡周期B、8个振荡周期
C、12个振荡周期D、24个振荡周期
26.在下列寄存器中,与定时/计数器无关的是(C)。
A、TCONB、TMODC、SCOND、IE
27.若欲将T0设置为定时器方式2、T1设置为计数器方式1,T0、T1均采用软件启/停控制,则方式寄存器TMOD的方式控制字为(A)。
A、00100101B、01010010C、10101101D、11011010
28.如果以查询方式进行定时应用时,应用程序中的初始化内容应包括(D)。
A、系统复位、设置工作方式、设置计数器初值
B、设置计数器初值、设置中断方式、启动定时器
C、设置工作方式、设置计数器初值、开定时中断
D、设置工作方式、设置计数器初值、关定时中断
29.当晶振频率为6MHz、定时/计数器工作于方式1,最大定时时间为(D)。
A、8.192msB、16.384msC、65.536msD、131.072ms
30.当晶振频率为6MHz,定时/计数器T0工作于定时器方式2,若要求定时值为0.2ms,则定时初值为(A)。
A、156B、56C、100D、200
31.在MCS-51中,需要双向传递信号的是(C)。
A、地址线B、数据线C、控制线D、电源线
32.在进行系统扩展时,为使P0口实现数据和低8位地址复用,应使用(A)。
A、地址锁存器B、地址寄存器C、地址缓冲器D、地址译码器
33.与访问外部程序存储器无关的信号是(B)。
A、
B、ALEC、
D、
34.与访问外部数据存储器无关的信号是(D)。
A、
B、ALEC、
D、
35.三态缓冲器的输出应具有三种状态,其中不包括(B)。
A、高阻状态B、低阻状态C、高电平状态D、低电平状态
36.与静态LED数码显示方式相比,采用动态扫描显示方式,是为了(D)。
A、减少占用CPU的时间B、提高显示亮度
C、显示程序简单D、减少占用I/O口资源
37.与动态扫描LED数码显示方式相比,采用静态显示方式,是为了(C)。
A、减少占用I/O口资源B、降低硬件成本
C、减少占用CPU的时间D、降低功耗
四、问答题
1.什么是单片机?
单片机的应用领域有哪些?
答:
单片机是集成在一个芯片上的计算机,全称单片微型计算机SCMC(SingleChipMicro-Computer)。
应用领域:
工业自动化;
智能仪器仪表;
消费类电子产品;
通讯;
武器
2.MCS-51系列单片机内部包含哪些主要逻辑功能部件?
答:
一个8位微处理器CPU。
数据存储器RAM和特殊功能寄存器SFR。
内部程序存储器ROM。
两个定时/计数器
四个8位可编程的I/O(输入/输出)并行端口
一个串行端口
3.MCS-51系列单片机的存储器可划分为几个空间?
其地址范围及容量是多少?
使用上有何不同?
答:
MCS-51的存储器有内部RAM、外部RAM和ROM三个空间。
内部RAM地址范围是00H到7FH,128字节;外部RAM的地址范围是0000H到FFFFH,容量为64KB;ROM的地址范围是0000H到FFFFH,容量为64KB。
4.位地址7CH与字节地址7CH有何区别?
位地址7CH具体在内存中什么位置?
答:
字节地址是指其中某一个字节的地址,字节地址,7CH就是指7CH这个字节。
位地址是指某个字节中的其中一位的地址,位地址7CH是指字节地址2FH中的第四位,字节地址2FH中的位地址为78H~7FH
5.试分别说明程序计数器PC和堆栈指针SP的作用。
复位后PC和SP各为何值?
答:
程序计数器PC中存放将要执行的指令地址,PC有自动加1功能,以实现程序的顺序执行。
SP是一个8位的SFR(特殊功能寄存器),它用来指示堆栈顶部在内部RAM中的位置。
复位后PC和SP的初值为00H和07H。
6.程序状态寄存器PSW的作用是什么?
常用状态标志有那几位?
作用是什么?
答:
PSW是保存数据操作的结果标志,其中状态标志有:
CY(PSW.7)进位标志;AC(PSW.6)辅助进位标志,又称半进位标志;F0、F1(PSW.5、PSW.1)用户标志;OV(PSW.2)溢出标志;P(PSW.0)奇偶标志。
7.什么是堆栈?
堆栈有何作用?
复位后,堆栈指针SP为何值?
在程序设计时,为什么要对SP重新赋值?
答:
堆栈是一种数据结构,所谓堆栈就是只允许在其一端进行数据写入和数据读出的线性表。
其主要作用有两个:
保护断点和保护现场。
复位后,SP的内容为08H。
为了避免占用寄存器区和位寻址区,程序设计时要对SP重新赋值。
8.若采用6MHz的晶振,80C51的振荡周期和机器周期分别是多少μs?
一条单字节双周期指令的指令周期为多少μs?
答:
振荡周期为
9.8051单片机有哪几个中断源?
如何设置它们的优先级?
答:
5个中断源,外部中断0、定时器0中断、外部中断1、定时器1中断、串口中断。
各中断的优先级通过中断优先级控制寄存器IP设定,PX0、PT0、PX1、PT1、PS分别代表外部中断0、定时器中断0、外部中断1、定时器中断1、串口中断的优先级控制位,当为1时是高优先级、0时为低优先级。
10.定时/计数器用作定时器时,其定时时间与哪些因素有关?
用作计数器时,对外部计数脉冲有何要求?
答:
定时时间与定时器的工作模式、初值及振荡周期有关。
作计数器时对外界计数频率要求最高为机器振荡频率的1/24。
11.定时器的工作方式2有什么特点?
适用于什么场合?
答:
工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。
12.在定时器T0的工作方式0、1和2中,如果要求对T0输入100个脉冲时,T0溢出,则3种工作方式下的计数初值分别应该是多少?
13.静态显示电路和动态扫描显示电路各有什么特点?
答:
静态驱动不需要行控制电路,成本较高、但显示效果好、稳定性好、亮度损失较小;扫描驱动需要控制电路,但成本低,显示效果差、稳定性较差、亮度损失较大。
19.计算T0方式0定时5ms的计数初值a
答:
五、编程题及综合应用题
1.请写出能完成以下操作的指令或指令序列。
1将内部RAM20H单元的内容传送到R7。
2将外部RAM1000H单元的内容传送到内部RAM30H单元。
3将外部RAM1000H单元的内容传送到R1。
4将外部RAM1000H单元的内容传送到外部RAM1100H单元
答:
MOVR7,20H
MOVDPTR,#1000H
MOVXA,@DPTR
MOV30H,A
MOVDPTR,#1000H
MOVXA,@DPTR
MOVR1,A
MOVDPTR,#1000H
MOVXA,@DPTR
MOVDPTR,#1100H
MOVX@DPTR,A
2.编写程序,将外部RAM从2000H开始存放的8个数传送到片外RAM30H开始的单元中。
答:
MOVR0,#8
MOVR1,#30H
MOVDPTR,#2000H
LOOP:
MOVXA,#DPTR
MOV@R0,A
INCR1
INCDPTR
DJNZR0,LOOP
3.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。
MOV30H,R1
MOV31H,R2
ANL30H,#0FH//30H内容高4位清零,低4位不变
ANL31H,#F0H//31H内容低4位清零,高4位不变
MOVA,31H
ORL30H,A//合并30H与31H内容
MOVR1,30H
4.试编写一段对中断初始化的程序,要求允许外部中断0(边沿触发)、T0、串行口中断,且使T0为高优先级中断。
#include
VoidMain()
{
EA=1;//中断总开关
EX0=1;//外部中断0
ET0=1;//定时器0中断
ES=1;//串口中断
ITO=1;//中断方式,置1为下降沿触发
PT0=1;//定时器0优先级设置,置1为高。
}
5.设单片机的晶振频率为6MHz,编程用定时器T0在P1.0口连续输出频率为50Hz的方波。
#include
sbitP1_0=P1^0
voidmain()
{
P1_0=0;
TMOD=0;
TH0=A3H;//每1ms求得初值应为3192,高8位为A3H,低8位为18H
TL0=18H;
IE=0;//禁止中断
TR0=1;
While
(1)
{
If(TF0==1)
P1_0=!
P1_0;
}
}
6.8个发光二极管L0~L7分别连接在单片机的输出口P1.0~P1.7,一个按钮开关连接在P2.0口。
要求每按动一次按钮,使发光二极管按照L0→L1→…→L7→L0的顺序循环移动点亮一位。
⑴画出相关的硬件逻辑图;
⑵编写相应的源程序实现上述功能。
#include"reg51.h"
#include"intrins.h"
sbitP2_0=P2^0;
voidmain(void)
{
P1=1;
while
(1)
{if(P2_0==1)
P1=_crol_(P1,1);//P1左移1位
while(P2_0==1);//按键消抖
}
}
7.外部中断0引脚P3.2接一个开关,P1.0接一个发光二极管。
开关闭合一次,发光二极管改变一次状态。
要求:
⑴画出相关的硬件逻辑图;
⑵编写相应的源程序实现上述功能。
#include"reg51.h"
sbitkey=P3^2;
sbitLED=P1^0;
voidmain(void)
{
while
(1)
{
key=1;//先为IO赋值高电平
if(!
key)//读取IO状态,判定是否按下,按下为0电平
LED=1;
else
LED=0;
}//Endofif
}
复习寄语:
希望同学们能从原理入手,灵活应用。
预祝大家取得好成绩!