51单片机考试常见试题简答题整理版Word文档格式.docx
《51单片机考试常见试题简答题整理版Word文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机考试常见试题简答题整理版Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
28、MCS-51单片机外部中断源有几种触发中断请求的方法如何实现中断请求
29、什么是中断优先级中断优先级处理的原则是什么
30、中断响应过程中,为什么通常要保护现场如何保护
31、MCS-51定时器有哪几种工作模式有何区别
32、串行数据传送的主要优点和用途是什么
33、简述串行接口接收和发送数据的过程。
34、MCS-51串行接口有几种工作方式
35、MCS-51中SCON的SM2、TB8、RB8有何作用
36、简述单片机多机通信的原理。
37、串行通信的总线标准是什么有哪些内容
38、简述单片机系统扩展的基本原则和实现方法。
39、8255有哪几种工作方式怎样选择其工作方式
40、8155有哪几种工作方式怎样进行选择
41、什么是D/A转换器简述T形电阻网络转换器的工作原理。
42、波特率、比特率和数据传送速率的含意各是什么
43.存储器的作用是什么只读存储器和随机存储器有什么不同
44.MCS-51存储器结构的主要特点是什么程序存储器和数据存储器各有何不同
45.MCS-51单片机的P0~P3四个I/O端口在结构上有何异同使用时应注意哪些事项
46.位寻址和字节寻址如何区分在使用时有何不同
47.为了提高汇编语言程序的效率,在编写时应注意哪些问题
48.在MCS-51单片机应用系统中,外接程序存储器和数据存储器的地址空间允许重叠而
49.外部存储器的片选方式有几种各有哪些特点
50.简述MCS-51单片机CPU访问外部扩展程序存储器的过程。
51.简述MCS-51单片机CPU访问外部扩展数据存储器的过程。
52、请指出程序存储器中有特殊用途的几个单元,并说明它们的作用
53、十进制调整指令DAA的功能是什么其运作过程是怎样的
54、什么叫中断CPU为什么要采用中断结构
55、单片机响应中断的条件和过程是怎样的
56.何谓单片机单片机与一般微型计算机相比,具有哪些特点
57在各种系列的单片机中,片内ROM的配置有几种形式用户应根据什么原则来选用
58SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别。
598031的扩展储存器系统中,为什么P0口要接一个8位锁存器,而P2口却不接
60在8031扩展系统中,外部程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会发生冲突
618031单片机需要外接程序存储器,实际上它还有多少条I/O线可以用当使用外部存储器时,还剩下多少条I/O线可用
答:
堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"
后进先出"
的结构方式处理的。
实质上,堆栈就是一个按照"
原则组织的一段内存区域。
两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;
若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。
单片机片内程序存储器的配置形式主要有以下几种形式:
(1)掩膜(Msak)ROM型单片机:
内部具有工厂掩膜编程的ROM,ROM中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序。
掩膜ROM单片机适合于大批量生产的产品。
用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的ROM。
(2)EPROM型单片机:
内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除。
擦去信息的芯片还可以再次写入新的程序,允许反复改写。
(3)无ROM型单片机:
内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。
无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。
这种单片机扩展灵活,但系统结构较复杂。
(4)E2ROM型单片机:
内部具有电可擦除叫可编程的程序存储器,使用更为方便。
该类型目前比较常用
(5)OTP(OneTimeProgrammable)ROM单片机:
内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。
这种芯片的价格也较低。
4、什么是单片机的机器周期、状态周期、振荡周期和指令周期它们之间是什么关系
某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称P周期)。
也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即1M=6S=12P。
51单片机通常由下列部件组成:
一个8位CPU、一个片内振荡器及时钟电路、内部FlashRom程序存储器、256B的RAM、2个16位的定时/计数器、可寻址64KB片外数据存储器和64KB片外数据存储器和64KB片外程序存储器空间的控制电路、4个8位并行I/O端口及一个可编程全双工串行接口。
MCS-51系列单片机的存储器配置从物理结构上可分为:
片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
从逻辑上可分为:
片内外统一编址的64KB的程序存储器、片内256B的数据存储器以及片外64KB的数据存储器。
MCS-51系列单片机的存储器中有6个保留特殊功能单元,其中0000H为复位入口、0003H为外部中断0入口、000BH为T0溢出中断入口、0013H为外部中断1入口、001BH为T1溢出中断入口、0023H为串行接口中断入口。
MCS-51单片机片内数据存储器可分为二个区:
00H~7FH单元组成的低128B的片内RAM区、80H~FFH单元组成的高128B的专用寄存器区。
其中低128B的RAM区又分为:
00H~1FH单元为工作寄存器区、20H~2FH单元为位寻址区、30H~7FH单元为用户RAM区。
工作寄存器区可作通用寄存器用,用户RAM区可作堆栈和数据缓冲用。
专用寄存器区又称特殊功能寄存器,使用80H~FFH单元。
MCS-51单片机的四个端口在结构上相同之处:
P0~P3都是准双向I/O口,作输入时,必须先向相应端口的锁存器写入“1”。
不同之处;
P0口的输出级与P1~P3口不相同,它无内部上拉电阻,不能提供拉电流输出,而P1~P3则带内部上拉电阻,可以提供拉电流输出。
当P0口作通用I/O口输出使用时,需外接上拉电阻才可输出高电平;
但作地址/数据总线时,不需要外接上拉电阻。
P1~P3口I/O输出时,均无需外接上拉电阻。
MCS-51存储器是采用将程序存储器和数据存储器分开寻址的结构,其存储器空间在物理结构上可划分为如下四个空间:
开机复位后,CPU使用的是第0组工作寄存器。
它们的地址是00H~07H。
CPU通过对程序状态字PSW中RS1、RS0的设置来确定和改变当前工作寄存器组。
如:
RS1、RS0为00则指向第0组;
为01则指向第1组;
为10则指向第2组;
为11则指向第3组。
MCS-51的时钟周期是最小的定时单位,也称为振荡周期或节拍。
一个机器周期包含12个时钟周期或节拍。
不同的指令其指令周期一般是不同的,可包含有1~4个机器周期。
当振荡频率为8MHz时,一个单片机时钟周期为μs。
PSW是8位寄存器,用于作为程序运行状态的标志,其格式如下:
PSW位地址D7HD6HD5HD4HD3HD2HD1HD0H
字节地址D0HCACF0RS1RS0OVF1P
当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。
这些标志的状态,可由专门的指令来测试,也可通过指令来读出。
它为计算机确定程序的下一步运行方向提供依据。
PSW寄存器中各位的名称及文职如上所示,下面说明各标志的作用。
P:
奇偶标志。
该位始终跟踪累加器A内容的奇偶性。
如果有奇数个“1”,则置P为1,否则置0。
在MCS-51的指令系统中,凡是改变累加器A中内容的指令均影响奇偶标志位P。
F1:
用户标志。
由用户置位或复位。
OV:
溢出标志。
有符号数运算时,如果发生溢出时,OV置1,否则清0。
对于一个字节的有符号数,如果用最高位表示正、负号,则只有7位有效位,能表示—128~~+127之间的数;
如果运算结果超出了这个数值范围,就会发生溢出,此时,OV=1,否则OV=0。
此外,在乘法运算中,OV=1表示乘积超过255;
在除法运算中,OV=1表示除数为0。
RS0、RS1:
工作寄存器组选择位,用以选择指令当前工作的寄存器组。
由用户用软件改变RS0和RS1的组合,以切换当前选用的工作寄存器组,其组合关系如下。
RS1RS0寄存器组片内RAM地址
00第0组00H~07H
01第1组08H~0FH
10第2组10H~17H
11第3组18H~1FH
EA/VPP是双功能引脚,功能如下:
(1)
EA接高电平时,在低4KB程序地址空间(0000H~0FFFH),CPU执行片内程序存储器的指令,当程序地址超出低4KB空间(1000H~FFFFH)时,CPU将自动执行片外程序存储器的指令。
(2)
EA接低电平时,CPU只能执行外部程序存储器的指令。
8031单片机内部无ROM,必须外接程序存储器。
因此,8031的EA引脚必须接低电平。
在对8751单片机内部的EPROM编程时,此引脚VPP外接+12V电压,用于固化EPROM程序。
MCS-51单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用统一的直接寻址方式来访问。
这些特殊功能寄存器颁在以下各个功能部件中:
(1)CPU:
ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器组成);
(2)中断系统:
IP、IE;
(3)定时器/计数器:
TMOD、TCOM、TL0、TH0、TL1、TH1;
(4)并行I/O口:
P0、P1、P2、P3;
(5)串行口:
SCON、SBUF、PCON。
答:
指令是控制计算机进行某种指令的命令。
CPU就是根据指令来指挥和控制计算机各部分协调地动作,完成规定的操作。
指令是由二进制代码表示的。
通常指令氛围操作码和操作数两部分:
操作码规定操作的类型,操作数给出参加操作的数据或存放数据的地址。
为完成某项规定任务,把计算机指令按一定次序进行编排组合所行成的指令集称为程序。
程序在计算机中的执行过程实质就是执行人们所编制程序的过程,即逐条执行指令的过程。
计算机每执行一条指令都可氛围三个简短进行,即取指令,分析指令和执行指令。
取指令简短的任务是:
根据程序计数器PC中的植从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:
将指令操作码取出后进行译码,分析其指令性质。
如指令要求操作数,则寻找操作数地址。
执行指令阶段的任务是:
取出操作数,然后按照操作码的性质对操作数进行操作,即执行指令。
计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至停机指令或循环等待指令。
寻址方式:
寻址方式就是寻找指令中操作数或操作数所在地址的方式。
也就是如何找到存放操作数的地址,把操作数提取出来的方法。
MCS51的寻址方式有:
立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对对址、位寻址。
SJMP提供了以SJMP的下一条指令的起始地址为中心的256字节范围的转移(-128~+127),AJMP的转移目标地址必须在与AJMP的下一条指令的第一字节相同的2KB区的程序储存器中。
短转移方便了可重定位编码。
SJMP方便了PC可重定位编码,但转移范围小。
而ASJMP转移范围大,但存在跳区的限制,AJMP指令只能位于2KB区的最后2个字节处时,才可跳到下一个区去。
因此用AJMP指令来代替SJMP指令是有条件的,也就是目标地址必须与它下面的指令存放地址在同一个2KB区域内。
相同点:
都是让CPU从主程序转去实行子程序,执行完毕后又返回主程序。
不同点:
中断服务子程序是随机执行的,而普通子程序是预先安排好的;
中断服务子程序以RETI结束,而一般子程序以RET结束。
RETI除了将短点弹回PC动作之外,还要清除对应的中断优先标志位(片内不可寻址的触发器),以便新的中断请求能被响应。
CPU响应中断的条件如下:
①首先要有中断源发出有效的中断申请;
②CPU中断是开放的,即中断总允许位EA=1,允许所有中断源申请中断。
③申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。
以上是CPU响应中断的基本条件。
如果上述条件不足,则CPU一般会影响中断。
但是,若有下列任何一种情况存在,则中断响应会被阻止。
①CPU正处在为一个同级或高级的中断服务中。
②现行机器周期不所执行的指令的最后一个机器周期。
作此限制的目的在与使当前指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。
③当前指令是返回指令(RET、RETI)或访问IE、IP的指令。
因为按MCS-51中断系统的特性规定,在执行完这些指令之后,还应在继续执行一条指令,然后才能影响中断。
若存在任何一种情况,CPU将丢弃中断查询结果;
否则,将在紧接着的下一个机器周期内执行中断查询结果,响应中断。
CPU响应中断后,保护断点,硬件自动将(PC)→堆栈,寻找中断源,中断矢量→PC,程序转向中断服务程序入口地址。
其中,INT0=0003H,T0=000BH,INT1=0013H,T1=001BH,串行接口=0023H。
⑴低级不能打断高级,高级能够打断低级;
⑵一个中断以被响应,同级的被禁止;
⑶同级,按查询顺序,INT0→T0→INT1→T1→串行接口
有电平触发和脉冲触发。
电平方式是低电平有效。
只要单片机在中断要求引入端INT0和INT1上采样到低电平时,就激活外部中断。
脉冲方式则是脉冲的下条沿有效。
这种方式下,在两个相邻机器周期对中断请求引入端进行采样中,如前一次为高,后一次为低,即为有效中断请求。
因此在这两种中断请求信号方式下,中断请求信号的高电平状态和低电平状态都应至少维持一个周期以保电平变化能被单片机采样用。
当CPU正在处理某件事情的时候,外部发生的某一件事情请求CPU迅速去处理,于是,CPU暂时终止当前的工作,转去处理发生的事情,中断处理完该事件以后,再回到原来被终止的地方,继续原来的工作。
这种过程称为中断,实现这种功能的部件称为中断系统。
功能:
(1)使计算机具有实时处理功能,能对外界异步发生的事件作出及时的处理。
(2)完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。
(3)实现实时控制。
MCS-51有如下中断源:
INTO:
外部中断0请求,低电平有效(由输入);
INT1:
外部中断1请求,低点平有效(由输入);
TO:
定时器/计数器0溢出中断请求;
T1:
定时器/计数器1溢出中断请求;
TX/RX:
串行借口中断请求。
通过对特殊功能积存器TCON、SCON、IE、IP的个位进行置位或复位等操作,可实现各种中断控制功能。
24、说明外部中断请求的查询和响应过程。
当CPU执行主程序第K条指令时,外设向CPU发出中断请求,CPU接到中断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,然后转去响应中断。
CPU在每一个S5P2期间顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标记为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。
中断服务完毕后,CPU返回到主程序第K+1条指令继续执行。
25、MCS-51响应中断的条件
(1)有中断源发出中断请求。
(2)中断总允许位EA=1,即CPU开中断。
(3)申请中断的中断源的中断允许位为1,即中断没有被屏蔽。
(4)无同级或更高级中断正在服务。
(5)当前指令周期已经结束。
(6)若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完毕。
CPU在每个机器周期S5P2期间顺序采用每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。
一旦响应中断,MCS-51首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。
对于有些中断源,CPU在响应中断后会自动清除中断标志。
符合以下6个条件可响应新的中断请求:
有中断源发出中断请求、中断总允许位EA=1,即CPU开中断、申请中断的中断源的中断允许位为1,即中断没有被屏蔽、无同级或更高级中断正在被服务、当前的指令周期已结束、若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完。
如果新的中断请求“优先级”低于正在执行的中断请求或与其同级,则不能被响应。
有两种方式:
电平触发和沿触发。
电平触发方式:
CPU在每个机器周期的S5P2期间采样外部中断引脚的输入电平。
若为低电平,使IE1(IE0)置“1”,申请中断;
若为高电平,则IE1(IE0)清零。
边沿触发方式:
CPU在每个机器周期的S5P2期间采样外部中断请求引脚的输入电平。
如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高水平,接着下一个机器周期采样到外部中断请求为低水平,则使IE1(IE0)置1,申请中断;
否则,IE1(IE0)置0。
通常,在系统中有多个中断源,有时会出现两个或更多个中断源同时提出中断请求的情况。
这就要求计算机既能区分各个中断源的请求,又能确定首先为哪一个中断源服务。
为了解决这一问题,通常给各中断源规定了优先级别,称为优先权或中断优先级。
中断优先级处理的原则是:
当两个或者两个以上的中断源同时提出中断请求时,计算机首先为优先权最高的中断源服务,服务结束后,再响应级别较低的中断源。
因为一般主程序和中断服务程序都可能会用到累加器、PSW寄存器和其他一些寄存器。
CPU在进入中断服务程序后,用到上述寄存器时,就会破坏它原来存在寄存器中的内容;
一旦中断返回,将会造成主程序的混乱。
因而在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序前再恢复现场。
保护现场的一般方法是把累加器、PSW寄存器及其他一些与主程序有关的寄存器压入堆栈。
在保护现场和恢复现场时,为了不使现场数据受到破坏或者造成混乱,一般规定此时CPU不响应新的中断请求。
这就要求在编写中断服务程序时,注意在保护现场前要关中断,在恢复现场后要开中断。
如果在中断处理时允许有更高级的中断打断它,在保护现场之后要再开中断,恢复现场之前关中断。
有模式0,模式1,模式2,模式3。
(1)模式0:
选择定时器(T0或T1)的高8位和低5位组成的一个13位定时器/计数器。
TL低5位溢出时向TH进位,TH溢出时向中断标志位TF0进位,并申请中断。
定时时间t=(213-初值)*振荡周期*12;
计数长度为213=8192个外部脉冲。
(2)