单片机开卷考试整理.docx
《单片机开卷考试整理.docx》由会员分享,可在线阅读,更多相关《单片机开卷考试整理.docx(18页珍藏版)》请在冰豆网上搜索。
单片机开卷考试整理
微型计算机:
微处理器(CPU).存储器,接口适配器(输入输出接口电路),输入/输出(I/O)设备。
单片机:
微处理器,RAM,ROM,I/O口,定时器
运算器:
算术逻辑单元(简称ALU),累加器,寄存器.作用:
是把传送到微处理器的数据进行运算或逻辑运算。
ALU可对两个操作数进行加、减、与、或、比较大小等操作,最后将结果存入累加器。
ALU执行不同的运算操作是由不同控制线上的信息所确定的。
来源:
累加器
数据寄存器功能:
执行各种算术运算执行各种逻辑运算,并进行逻辑测试。
如零值测试或两个值的比较。
控制器:
程序计数器,指令寄存器,指令译码器时序产生器,操作控制器。
作用:
发布命令的“决策机构”,即协调和指挥整个计算机系统的操作。
功能:
从内存中取出一条指令,并指出下一条指令在内存中的位置。
对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。
指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。
CPU中的主要寄存器:
累加器(A),数据寄存器(DR),指令寄存器(IR),指令译码器(ID),程序计数器(PC),地址寄存器(AR)
计算机中常用编码:
BCD码,ASCII码
v80C31片内没有程序存储器,
v80C51内部设有4KB的掩膜ROM程序存储器。
v87C51是将80C51片内的ROM换成EPROM,
v89C51则换成4KB的闪速E2PROM。
89C51单片机的基本组成:
1、一个8位的微处理器CPU。
2、片内数据存储器(RAM128B/256B)3、片内4kB程序存储器FlashROM(4KB)片外最多可扩至64KBROM/EPROM,地址为1000H~FFFFH。
4、四个8位并行I/O(输入/输出)接口P0~P3:
5、两个或三个定时/计数器:
6、一个全双工UART的串行I/O口:
7、片内振荡器和时钟产生电路:
8、五个中断源的中断控制系统。
9、具有节电工作方式
单片机中运算器
(1)8位的ALU:
(2)8位累加器ACC(A)(3)8位程序状态字寄存器PSW(4)8位寄存器B(5)布尔处理器(6)2个8位暂存器
单片机中控制器
(1)程序计数器PC(16位)
(2)指令寄存器IR及指令译码器ID(3)振荡器和定时电路
存储器1)程序存储器(ROM)89C51片内为4KBFlashROM。
地址0000H~0FFFH。
用于存放程序和表格常数
2)数据存储器(RAM)89C51RAM均为128B,地址为00H~7FH。
还有32个字节单元可指定为工作寄存器。
片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80H~FFH。
I/O接口:
四个8位并行I/O接口P0~P3,都是双向端口,每个端口各有8条I/O线。
P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。
P0口:
漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。
P0口可作为一个数据输入/输出口;
在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。
P0口作一般I/O口使用时,应外接上拉电阻,才能输出高电平
P1口:
带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。
P2口:
带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。
在CPU访问片外存储器时,它输出高8位地址
P3口:
带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。
P3口除作为一般I/O口外,每个引脚都有第二功能。
微机的存贮器结构分为普林斯顿结构和哈佛结构两类
堆栈指针SP:
系统复位时,SP初始化为07H。
数据指针DPTR:
一个16位的特殊功能寄存器,由DPH(83H),DPL(82H)组成
下面是单片机外接晶振频率12MHz时的各种时序单位的大小。
振荡周期=1/fOSC=1/12MHz=0.0833μs
状态周期=2/fOSC=2/12MHz=0.167μs
机器周期=12/fOSC=12/12MHz=1μs
指令周期=(1~4)机器周期=1~4μs
复位:
1、上电自动复位:
通过外部复位电路的电容充电实现
2、手动复位:
按键电平复位,按键脉冲复位
1·可编程接口:
可用软件选择其功能的接口。
2·控制器:
由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成。
用来协调指挥计算机系统的操作。
3·机器数与真值:
计算机中的数称为机器数,它的实际值叫真值。
4·累加器:
既存操作数又存操作结果的寄存器。
5·微型计算机:
由微处理器(CPU)、存储器、接口适配器(I/O接口电路)及输人/输出设
备组成。
通过系统总线将它们连接起来,以完成某些特定的运算与控制。
6·指令系统:
一台计算机所能执行的全部指令的集合称为这个CPU的指令系统。
7·总线:
所谓总线,是连接系统中各扩展部件的一组公共信号线。
8·运算器:
由算术逻辑单元ALU、累加器A和寄存器等几部分组成,用来执行各种算术运算和逻辑运算。
9·微处理器:
微处理器本身不是计算机,它是微型计算机的核心部件,又称它为中央处理单元CPU。
它包括两个主要部分:
运算器、控制器。
10·指令:
指令是CPU根据人的意图来执行某种操作的命令。
11·汇编语言:
汇编语言是一种用指令的助记符、符号地址、标号等编写程序的语言,又称符号语言。
12·寻址方式:
寻址方式就是寻找指令申操作数或操作数所在地址的方式。
也就是如何
找到存放操作数的地址,把操作数提取出来的方法。
13·堆栈:
堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"
的结构方式处理的。
实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。
14·高级语言:
高级语言是完全独立于机器的通用语言。
15·汇编:
汇编语言源程序在交付计算机执行之前,需要先翻译成目标程序,这个翻译过程叫汇编。
16·指令周期:
指执行一条指令所占用的全部时间。
通常一个指令周期含1~4个机器
周期。
17·进位和溢出:
两数运算的结果若没有超出字长的表示范围,则由此产生的迸位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。
例如将正数3FH和负数D0H
相加,其结果不会超出8位字长的表示范围,所以其结果10FH中的进位是正常进位(也就是
模)。
但是,若正数3FH与正数70H相加,其结果为AFH,最高位为"1",成了负数的含义,这就不合理了,这种情况称为溢出。
18·单片机用于外界过程控制中,为何要进行A/D、D/A转换?
答:
单片机只能处理数字形式的信息,但是在实际工程中大量遇到的是连续变化的物理量,如温度、压力、流量、光通量、位移量以及连续变化的电压、电流等。
对于非电信号的物理量,必须先由传感器进行检测,并且转换为电信号,然后经过放大器放大为0V~5V电平的模拟量。
所以必须加接模拟通道接口,以实现模拟量和数字量之间的转换。
A/D(模/数)转换就是把输入的模拟量变为数字量,供单片机处理;而D/A(数/模)转换就是将单片机处理后的数字量转换为模拟量输出。
19·具有8位分辨率的A/D转换器,当输入0V~5V电压时,其最大量化误差是多少?
答:
对于8位A/D转换器,实际满量程电压为5V,则其量化单位lLSB=5V/255≈0.0196V,考虑到A/D转换时会进行4舍5入处理,所以最大量化误差为±(1/2)LSB,即±0.0098V或±9.8mV。
20.A/D转换芯片中采样保持电路的作用是什么?
省略采样保持电路的前提条件是什么?
答:
A/D转换芯片中采样保持电路的作用是:
能把一个时间连续的信号变换为时间离散
的信号,并将采样信号保持一段时间。
当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间内可视为直流信号的情况下,可以省略采样保持电路。
21·串行数据传送的主要优点和用途是什么?
答:
串行数据传送是将数据按位进行传送的方式。
其主要优点是所需的传送线根数少
(单向传送只需一根数据线、双向仅需两根),对于远距离数据传送的情况,采用串行方式是比较经挤的。
·所以串行方式主要用于计算机与远程终端之间的数据传送。
22.MCS-51指令集中有无"程序结束"指令?
上机调试时怎样实现“程序结束”功能。
答:
没有这样的指令。
但实现"程序结束"至少可以借助4种办法:
用原地踏步指令SJMP$死循环;
在最后一条指令后面设断点,用断点执行方式运行程序;
用单步方式执行程序;
在末条指令之后附加一条LJMP0000H,由软件返回监控状态。
23·中断服务子程序与普通子程序有哪些异同之处?
答:
相同点:
都是让CPU从主程序转去执行子程序,执行完毕后又返回主程序。
不同
点:
中断服务子程序是随机执行的,而普通子程序是预先安排好的;中断服务子程序以RETI
结束,而一般子程序以RET结束。
RETI除了将断点弹回PC动作之外,还要清除对应的中断优先标志位(片内不可寻址的触发器),以便新的中断请求能被响应。
24·说明DAA指令的用法。
答:
DAA为十进制调整指令。
在进行BCD数加法运算时,该指令要跟在加法指令后面,对A的内容进行十进制调整。
25.80C51有几种寻址方式?
各涉及哪些存储器空间?
答:
表12-1概括了每种寻址方式可涉及的存储器空间。
26.80C51晌应中断的条件是什么?
CPU响应中断后,CPU要进行哪些操作?
不同的中
断源的中断入口地址是多少?
答:
(l)CPU响应中断的条件如下:
首先要有中断源发出有效的中断申请;
CPU中断是开放的,即中断总允许位EA=l,CPU允许所有中断源申请中断;
申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。
以上是CPU响应中断的基本条件。
如果上述条件满足,则CPU一般会响应中断。
但
是,若有下列任何一种情况存在,则中断响应会被阻止。
CPU正处在为一个同级或高级的中断服务中。
现行机器周期不是所执行的指令的最后一个机器周期。
作此限制的目的在于便当前
指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。
当前指令是返回指令(RET、RETI)或访问IE、IP的指令。
因为按MCS-51中断系统
的特性规定,在执行完这些指令之后,还应再继续执行一条指令,然后才能响应中断。
若存在上述任何一种情况,CPU将丢弃中断查询结果;否则,将在紧接着的下一个机器周期内执行中断查询结果,响应中断。
(2)CPU响应中断后,保护断点,硬件自动将(PC)→堆栈,寻找申断源,中断矢量→PC,
程序转向中断服务程序入口地址。
(3)INT0=0003H,T0=000BH,INT1=0013H,Tl=00lBH,串行接口=0023H。
27·单片机对中断优先级的处理原则是什么?
答:
(1)低级不能打断高级,高级能够打断低级;
(2)一个中断已被响应,同级的被禁止;
(3)同级,按查询顺序,INT0→T0→INT1→Tl→串行接口。
28.80C51的外部中断有哪两种触发方式?
它们对触发脉冲或电平有什么要求?
答:
(1)有电平触发和脉冲触发。
(2)电平方式是低电平有效。
只要单片机在中断请求引入端INT0和INT1上采样到低电
平时,就激活外部中断。
脉冲方式则是脉冲的下跳G有效。
这种方式下,在两个相邻机器周期对中断请求引入端进行采样中,如前一次为高,后一次为低,即为有效中断请求。
因此在这种中断请求信号方式下,中断请求信号的高电平状态和低电平状态都应至少维持一个周期以确保电平变化能被单片机采样到。
29·单片机怎样管理中断?
怎样开放和禁止中断?
怎样设置优先级?
答:
(1)由中断源提出中断,再由中断控制端决定是否中断,再按设定好的优先级的顺序响应中断。
如同一级优先级的中断按:
外部中断0,定时中断0,外部中断1,定时中断1,串行中断。
中断后如果是:
脉冲触发,TEl(0)被清0;电平触发,IEl(0)不被清零,要用软件清0。
(2)它由中断允许寄存器IE控制:
如开放中断EA必须为1,再使要求中断的申断源的中
断允许位为1:
要禁止中断,EA=0即可。
(3)由IP控制,1为高级,0为低级,PS为串行中断优先级,PTl(0)为定时中断1(0)优先
级,PXl(0)外部中断1(0)优先级。
使哪个中断源为优先级,就置哪个优先设定位为1。
30.80C51单片机定时器/计数器作定时和计数用时,其计数脉冲分别由谁提供?
答:
作定时器时:
计数脉冲来自单片机内部,其频率为振荡频率的1/12。
作计数器时:
计数脉冲来自单片机的外部,即P3.4(T0)和P3.5(Tl)两个引脚的输入脉冲。
31.80C51单片机定时器/计数器的门控信号GATE设置为1时,定时器如何启动?
答:
80C51单片机定时器/计数器的门控信号GATE设置为1时,定时器的启动受外部
INT0(INTl)引脚的输人电平控制:
当INT0(INTl)引脚为高电平时,置TR0(TRl)为1时启动定时器/计数器0
(1)工作。
32.80C51单片机片内设有几个定时器/计数器?
它们是由哪些特殊功能寄存器组成?
答:
80C51单片机片内设有2个定时器/计数器:
定时器/计数器0和定时器/计数器1,由
TH0、TL0、THl、TLl、TMOD、TCON特殊功能寄存器组成。
33·定时器/计数器作定时器用时,其定时时间与哪些因素有关?
作计数器时,对外界计
数频率有何限制?
答:
定时器/计数器作定时器用时,其定时时间与以下因素有关:
定时器的工作模式,定时器的计数初值以及单片机的晶振频率。
作计数器时,外界计数脉冲的频率不能高于振荡脉冲频率的1/24。
34·什么是单片机的机器周期、状态周期、振荡周期和指令周期?
它们之间是什么关系?
答:
某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称p周期)。
也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即lM=6S=l2P。
请见《教材》P28图。
35·当定时器T0工作于模式3时,如何使运行中的定时器Tl停止下来?
答:
TRl为定时器Tl的运行控制位,通常将该位置1就可启动定时器Tl使之运行起
来;把TRl清0便停止定时器Tl的运行。
但在定时器T0被设定为模式3运行时,就不能再
用这种方法来控制定时器Tl的启停了。
因为在这种情况下,如《教材》Pl06图6-11所示,
TRl借给定时器T0作为8位定时器TH0的运行控制位了。
当定时器T0在模式3下运行时,若把定时器1设定为模式3,即将TMOD寄存器的位5(Ml)和位4(M0)写成llB,则定时器Tl便停止运行;若此后将其从模式3中切换出来,例如,
把这两位再次写成0lB,则定时器Tl将按模式1运行起来。
36·若80C51的片内ROM内容已不符合要求,那么片内硬件如何继续使用?
答:
把80C51的EA引脚接地,片外扩接EPROM芯片,就等于宣布片内ROM作废,完全执行片外EPROM中的程序。
这样,片内硬件资源不受影响,可继续使用。
37·波特率、比特率和数据传送速率的含意各是什么?
答:
在数据通信申,描述数据传送速度的方式有3种:
波特率:
每秒传送多少个信号码元(或每秒信号码元变换的总个数),单位是波特(Bd)。
比特率:
每秒传送多少个二进制位(或每秒传送二进制码元的个数),单位是b/s。
数据传送速率(或字符传送速率):
每秒传送多少个字符(或单位时间内平均数据传移速率),单位是字符/秒。
当传输的信号是二进制数位时,波特率和比特率就变成了一回事,尤其是计算机通信中,
信号码元常与二进制码元相同,此时可以统一起来。
例如,甲乙双方传送二进制数据的速度是每秒传送300个字符,每个字符附加了起始、停止和校验各一位,此时描述该速度有3种方式:
数据字符传送速率是300字符/秒。
忍比特率300×(8+1+1+l)b/s=300×llb/s=3300b/s。
波特率与比特率相同,亦为300×llRd=3300Bd。
38·开机复位后,CPU使用的是哪组工作寄存器?
它们的地址是什么?
CPU如何确定和
改变当前工作寄存器组?
答:
系统复位后,CPU选用第0组工作寄存器即地址分别为00H~07H。
如需改变当前
工作寄存器,可设置PSW状态字中的RSl、RS0。
如RSl、RS0为00则指向第0组;为01则指向第1组;为10则指向第2组;为ll则指向第3组。
39·程序状态寄存器PSW的作用是什么?
常用状态有哪些位?
作用是什么?
答:
程序状态字寄存器PSW主要用于保存程序运行中的各种状态信息。
各位功能
如下:
CY(PSW·7)为进位标志。
在进行加或减运算中,表示有无进位或借位。
位操作时,又
可认为是位累加器。
AC(PSW·6)为辅助进位标志。
加或减操作中,表示低4位数向高4位有无进位或借位,
以用作BCD码调整的判断位。
F0(PSW·5)为用户标志位。
用户可自行定义的一个状态标记。
RSl、RS0(PSW·4PSW·3)为工作寄存器组指针。
用以选择CPU当前工作寄存器组。
OV(PSW·2)为溢出标志。
算术运算时,表示是否溢出。
Fl(PSW·l)为用户标志位。
同F0。
P(PSW·0)为奇偶标志位。
表示累加器A中"1"的位数的奇偶数。
该位多用作串行通信
中的奇偶检验。
40·位地址7CH与字节地址7CH如何区别?
位地址7CH具体在片内RAM中什么位置?
答:
字节地址是片内RAM的单元地址,而位地址是片内RAM单元申的某一位。
7CH
字节地址为RAM的7CH单元,而7CH位地址是RAM2FH单元中的D4位。
41·Mcs-51单片机的时钟周期与振荡周期之间有什么关系?
一个机器周期的时序如何
划分?
答:
时钟周期为最基本的时间单位。
机器周期则是完成某一个规定操作所需的时间。
一
个机器周期为6个时钟周期,共19个振荡周期,依次可表示为SlPl、SlP2、…、S6Pl、S6P2,即一个时钟周期包含有二个振荡周期。
42·MCS-51单片机有几种复位方法?
应注意的事项?
答:
单片机的复位有上电自动复位和按钮手动复位两种。
使用时应注意:
上电复位的最
短时间应保证为振荡周期建立时间加上两个机器周期的时间。
当单片机运行程序出错或进入
死循环时,可用按钮复位来重新启动。
43.MCS-51单片机内部包含哪些主要逻辑功能部件?
答:
89C51单片机主要由下列部件组成:
一个8位CPU、一个片内振荡器及时钟电路、4
KBFlashROM程序存储器、256B的RAM、2个16位的定时/计数器、可寻址64KB片外数
据存储器和64KB片外程序存储器空间的控制电路、4个8位并行I/O端口及一个可编程全
双工串行接口。
44·MCS-51单片机的存储器从物理结构上和逻辑上分别可划分几个空间?
答:
MCS-51系列单片机的存储器配置从物理结构上可分为:
片内程序存储器、片外程
序存储器、片内数据存储器、片外数据存储器。
从逻辑上可分为:
片内外统一编址的64KB的程序存储器、片内256B的数据存储器以及片外64KB的数据存储器。
45·存储器中有几个具有特殊功能的单元?
分别作什么用?
答:
MCS-51系列单片机的存储器中有6个保留特殊功能单元,其中0000H为复位入
□)0003H为外部中断0矢量入口、000BH为T0溢出中断人口、0013H为外部中断1矢量入
口、00lBH为Tl溢出中断入口、0093H为串行接口中断入口。
46.MCS-51单片机片内256B的数据存储器可分为几个区?
分别作什么用?
答:
MCS-51单片机片内数据存储器可分为二个区:
00H~7FH单元组成的低128B的片内RAM区、80H~FFH单元组成的高128B的专用寄存器区。
其中低128B的RAM区又分为:
00H~lFH单元为工作寄存器区、20H~2FH单元为位寻址区以及30H~7FH单元为用户RAM区。
工作寄存器区可作通用寄存器用,用户RAM区可作堆栈和数据缓冲用。
专用寄存器区又称特殊功能寄存器。
47·MCS-51单片机的程序存储器和数据存储器共处同一地址空间为什么不会发生总线
冲突?
答:
访问不同存储器,使用不同的指令。
如访问ROM用MOVC,访问片内RAM则用
MOV,片外RAM用MOVX。
不同的指令控制信号有所不同,故可避免总线冲突。
48·MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?
使用时应注意的事项?
答:
MCS-51单片机的四个端口在结构上相同之处,P0~P3都是准双向I/O口,作输入
时,必须先向相应端口的锁存器写入"1"。
不同之处:
P0口的输出级与Pl~P3口不相同,它
无内部上拉电阻,不能提供拉电流输出,而Pl~P3则带内部上拉电阻,可以提供拉电流输出。
当P0口作通用I/O口输出使用时,需外接上拉电阻才可输出高电平;但作地址/数据总线时,不需要外接上拉电阻。
Pl~P3作I/O输出时,均不需外接上拉电阻。
49.MCS-51单片机有几种低功耗方式?
如何实现?
答:
MCS-51单片机有两种低功耗方式,分别为待机(休闲)方式和掉电方式。
置PCON中的D0位即IDL为"1",单片机即迸人待机方式;置Dl位即PD为"1",则进入掉电方式。
50·试说明指令CJNE@Rl,#7AH,l0H的作用。
若本指令地址为8100H,其转移地址是多少?
答:
CJNE@Rl,#7AH,l0H指令是进行以Rl间址单元的内容与一个立即数进行比较。
当((Rl))=7AH时:
(PC)+3→PC,0→CY
当((Rl))>7AH时:
(PC)+3+10H→PC,0→CY
当((Rl)﹤7AH时:
(PC)+3+10H→PC,l→CY
若本指令地址为8100H,其转移地址为:
目的地址=8100H十3十10H=8113H。
51·如何将80C51当80C31使用?
答:
把80C51的EA引脚接地,片外扩接EPROM芯片,就等于宣布片内ROM作废,完全执行片外EPROM中的程序。
这样,80C51就可当80C31使用。
52·程序存储器的0543H和0544H两单元中存有一条AJMP指令。
若其代码为E165H.
则目的地址等于什么?
答:
AJMP指令之目的地址的高5位来自程序计数器PC的高5位。
在把这条指令的两
个字节从程序存储器取出并送入指令寄存器IR中去之后,Pr内容加2,由原来的0543H变
成了0545H。
其高5位为00000B,目的地址的低11位为操作码高3位与指令第二个字节的
有序组合。
指令代码第一个字节是ElH,其最高3位等于1llB:
第二个字节为65H。
因此这
条AJMP指令的目的地址等于0765H。
53·某CJNE指令代码的第一个字节位于0800H单元,其跳转目的地址为07E2H,试问(0802H)=?
答:
CJNE指令代码含3B,其中第3个字节为偏移量,这题的意思就是要求算出偏移量来。
执行此指令时(PC)=0803H,目的地址为07E2H,故偏移量等于07E2H-0803H=FFDFH,8位偏移量为DFH,即(08