武汉理工大学单片机简答题.docx
《武汉理工大学单片机简答题.docx》由会员分享,可在线阅读,更多相关《武汉理工大学单片机简答题.docx(17页珍藏版)》请在冰豆网上搜索。
武汉理工大学单片机简答题
单片机简答题
2014.6.6
1.MCS51的中断系统有几个中断源?
几个中断优先级?
中断优先级是如何控制的?
在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?
各个中断源的入口地址是多少?
答:
MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:
INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。
2.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?
TMOD的值是多少?
TH0=?
TL0=?
(写出步骤)
答:
定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是1388H
TMOD的值是00000001B,TH0=13H;TL0=88H。
3.MCS51系列单片机的内部资源有哪些?
说出8031、8051和8751的区别。
答:
MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。
8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。
1.如何正确使用P3口?
2.简述累加器的ACC的作用。
3.简述寄存器间接寻址方式及其寻址范围。
4.简述MCS-51单片机的中断入口地址。
5.简述串行数据传送的特点。
1.要点:
(1)说明P3口有第一功能和第二功能的使用。
(2)P3口的第二功能各位线的含义。
(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。
(4)读引脚数据时,必需先给锁存器输出“1”。
2.
(1)8位专用寄存器。
(2)运算时存放一个操作数。
(3)运算后存放运算结果,所以称它为累加器。
3.
(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。
(2)寻址范围:
①内部RAM低128单位,形式@Ri(i=0,1)。
②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。
4.中断入口地址为中断响应后PC的内容即中断服务的入口地址。
它们是:
外部中断00003H
定时器T0中断000BH
外部中断10013H
定时器T1中断001BH
串行口中断0023H
5.
(1)传送按位顺序进行,速度慢。
(2)传输线少,成本低。
(3)传送距离远,可达几公尺到几千公里。
1.51系列单片机具有几个中断源,分别是如何定义的?
其中哪些中断源可以被定义为高优先级中断,如何定义?
2.各中断源对应的中断服务程序的入口地址是否能任意设定?
3.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?
请举例加以说明。
1.具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。
通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。
(6分)
2.各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。
(3分)
3.如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。
例如:
外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:
(4分)
ORGO003H(2分)
JMPINTOP
列举其他中断跳转的例子也可,但叙述的中断源要与中断地址相对应才可得分,如外中断0对应0003H地址。
1.单片机的特性主要有哪些?
2.8031、8051、8751有何异同?
3.MCS-51的位存储区在哪里?
寻址范围是多少?
4.8051的定时器/计数器有几个?
是多少位的?
有几种工作方式?
其工作原理如何?
5.8051有哪几个中断源?
哪些是内部中断源?
哪些是外部中断源?
1.单片机具有体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点。
2.8051、8751和8031均为8位单片机,其内部结构是基本相同的。
不同点为:
8051内部有4KBROM,8751内部有4KBEPROM,而8031内部无程序存储器。
3.内部RAM的20~2FH为位寻址区域,位地址范围00~7FH;特殊功能寄存器中地址能被8整除的字节地址单元也可以位寻址,位地址范围80~FFH;位存储区共256个位。
4.8051有2个16位的定时器/计数器,有4种工作方式。
定时器与计数器的工作原理是相同的,8051的定时器/计数器是根据输入的脉冲进行加1计数,当计数器溢出时,将溢出标志位置1,表示计数到预定值。
5.8051有5个中断源,分别是定时器/计数器T0、T1的溢出中断TF0、TF1,串行口的收/发中断RI/TI,外部中断
、
;其中定时器/计数器T0、T1的溢出中断TF0、TF1、串行口的收/发中断RI/TI是内部中断源,外部中断
、
是外部中断源。
简述子程序调用和执行中断服务程序的异同点。
(8分)
相同点:
均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。
不同点:
(1)中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。
(2)中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。
(3)中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。
1.用图示形式画出MCS—51内部数据存储器(即内RAM含特殊功能寄存器)的组成结构,并简单说明各部分对应用途。
21个SFR
堆栈及数据缓冲区
128个位寻址区
工作寄存器
要在8051单片机片外扩展16K数据存储器,选择其地址为0000H~3FFFH。
如果选用6264芯片为存储芯片,74LS138为译码器,试画出它的硬件连接图。
1.MCS-51指令系统主要有哪几种寻址方式?
试举例说明。
(8分)
2定时器T0和T1各有几种工作方式?
(8分)
3.8031单片机需要外接程序存储器,实际上它还有多少条I/O线可以用?
当使用外部存储器时,还剩下多少条I/O线可用?
(7分)
4.8051的振荡周期、机器周期、指令周期是如何分配的?
当晶振频率为6MHz时,一个机器周期为多少微秒?
(7分)
1.MCS-51指令系统主要有哪几种寻址方式?
试举例说明。
(8分)
答:
MCS-51指令操作数主要有以下7种寻址方式:
寻址方式举例
立即寻址MOVA,#16
直接寻址MOV20H,P1
寄存器寻址MOVA,R0
寄存器间接寻址MOVXA,@DPTR
变址寻址MOVCA,@A+DPRT
相对寻址SJMPLOOP
位寻址ANLC,70H
2定时器T0和T1各有几种工作方式?
(8分)
答:
T0有4种工作方式,T1有3种工作方式,见表面4.4所述。
表4.4定时器的工作方式
工作方式
适用定时器
功能说明
方式0
方式1
方式2
方式3
T0、T1
T0、T1
T0、T1
T0
13位的定时器/计数器
16位的定时器/计数器
自动重新装入计数初值的8位的定时器/计数器
分为两个8位计数器TL0和TH0。
TL0可工作于定时或计数状态,TH0则固定为定时状态。
方式3对T1则停止计数
3.8031单片机需要外接程序存储器,实际上它还有多少条I/O线可以用?
当使用外部存储器时,还剩下多少条I/O线可用?
(7分)
答:
8031系统必须外接程序促成器,原则上说,P0和P2口要用作数据和地址总线,所以只有P1和P3口可用作I/O口,共16条I/O线。
在使用外部存储器时,除了占用P0和P2口外,还需要用P3口RD(P3.7)和WR(P3.6)两条控制线,所以这种情况下就只剩下14条I/O线可用了。
4.8051的振荡周期、机器周期、指令周期是如何分配的?
当晶振频率为6MHz时,一个机器周期为多少微秒?
(7分)
答:
8051单片机每条指令的执行时间(即指令周期)为1~4个机器周期,有单字节单周期指令、两字节单周期指令、单字节两周期指令、两字节两周期指令、三字节两周期指令以及单字节四周期指令。
一个机器周期有6个状态:
S1~S6每个状态又包含两个振荡周期,分为两拍:
P1和P2。
因此,一个机器周期包含12个振荡周期,表示为:
S1P1、S1P2、S2P1、……S6P1、S6P2。
当FOSC=MHz时,机器周期为:
(1/6)×12=2(µs)
1、8051单片机的片内并行接口的作用(6分)
答:
1。
连接负载
2、做通用i/o口
3、做数据/地址总线使用
4、对冰口进行位操作
5.P3口作第二功能使用
2、单片机中断方式的流程图(6分)
答:
主程序中断服务程序
设置中断入口保护现场
中断优先级恢复现场
执行主程序返回
3、写出下列特殊功能寄存器的名称(5分)
TCON定时/计数器控制寄存器
TM0D定时/计数器方式控制寄存
SCON串行通信控制寄存器
PSW程序状态字寄存器
IE中断允许寄存器
4、简述8051单片机的内部组成结构(9分)
答:
8051单片机是个完整的单片微型计算机。
芯片内部包括下列硬件资源:
8位CPU;
4KB的片内程序存储器ROM。
可寻址64KB程序存储器和64KB外部数据存储器;
128B内部RAM;
21个SFR;
4个8位并行I/O口(共32位I/O线);
一个全双工的异步串行口;
两个16位定时器/计数器;
5个中断源,两个中断优先级;
内部时钟发生器。
5、单片机的内部存储器的种类,并写出各自的寻址范围和容量?
单片机外部RAM的分类又哪几种?
外部ROM的分类有哪几种?
(9分)
答:
各种类型的单片机片内程序存储器的配置形式主要有以下几种形式:
掩膜(Msak)ROM型单片机:
内部具有工厂掩膜编程的ROM,ROM中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序。
例如:
MCS—51系列的8051。
EPROM型单片机:
内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除。
擦去信息的芯片还可以再次写入新的程序,允许反复改写。
例如:
MCS—51系列的8751。
EPROM型单片机使用比较方便,但价格较高,适合于研制产品或结构要求简单的小批量产品。
无ROM型单片机:
内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。
例如:
MCS—51系列的8031。
无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。
这种单片机扩展灵活,但系统结构较复杂。
E2ROM型单片机:
内部具有电可擦除叫可编程的程序存储器,使用更为方便。
例如:
MCS—51的派生型89C51单片机。
OTP(OneTimeProgrammable)ROM单片机:
内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。
例如:
NEC公司的μPD75P308GF—3B9。
这种芯片的价格也较低。
1.MCS-51单片机有哪几个并行I/O端口?
各I/O口有什么特性?
(10分)
答:
MCS-51单片机有4个8位双向的并行I/O口P0~P3,每一个口都由口锁存器(D触发器)、输出驱动器(FET)和输入缓冲器(3态门)组成。
各口每一位I/O线都能独立地用作输入或输出,CPU对口的读操作有两种,一种是读取口锁存器的状态,另一种是读取口引脚状态。
但这4个并行I/O口的结构和功能却完全不同,它们各自的特性如下:
P0口为三态双向I/O口(开漏输出,内部无上拉电阻)。
对于8051/8751/8052,P0口可以作为一般I/O口,也可作为系统扩展的地址/数据总线口。
P0口用作外部引脚输入时,口锁存器必须为“1”,关断输出驱动器的FET;作总线口时,分时用作输出外部存储器的低8为地址A0~A7和传送数据D0~D7。
对于8032/8052,P1.0和P1.1还有另一种功能:
P1.0—定时器T2的外部计数脉冲输入端,P1.1—定时器T2的捕捉/重装触发脉冲输入端。
对于8031,P0口只能用作地址/数据总线口。
P1口为准双向I/O口(内部有上拉电阻)。
用作外部引脚输入时,相应位的口锁存器必须为“1”,使输出驱动器FET截止。
P2口为准双向I/O口(内部有上拉电阻)。
对于8051/8751/8052,P2口可以像P1口一样用作一般I/O口使用,也可以作为系统扩展的地址总线口,输出高8位地址A8~A15。
对于8031,P2口只能用作地址总线口。
P3口也是准双向I/O口(内部有上拉电阻),且具有两个功能。
作为第一功能使用时,与P1口一样用作一般I/O口。
P3口的第二功能定义如下:
2.(15分)8051单片机提供了几个中断源?
有几级中断优先级别?
各中断标志是如何产生的?
又如何清除这些中断标志?
各中断源所对应的中断矢量地址是多少?
答:
8051单片机提供了5个中断源:
两个外部INTO和INT1中断源,两个定时片内定时器T0和T1溢出中断源,一个片内全双工串行口中断源.提供了高、低两个中断优先级、能实现两级中断服务程序嵌套,同一个优先级里,由硬件查询来确定优先序列。
各中断源请求中断的标志分别由特殊功能寄存器TCON、SCON的相应位锁存,这些标志位的产生和清除方式如下:
IE0(TCON.1)外部中断0请求标志.当INTO出现有效的中断请求信号时,硬件使IE0置位.在边沿触发方式时,当CPU响应IE0中断后,由硬件清除IE0。
IE1(TCON.3)外部中断1请求标志.置位复位方式与IE0相同。
TF0(TCON.5)T0溢出中断请求标志。
每当T0计数器加1计数到溢出时,TF0=1。
CPU响应TF0中断,硬件清除TF0。
也可以由查询软件清除TF0。
TF1(TCON.7)T1溢出中断请求标志。
置位复位方式与TF0相同。
R1(SCON.0)串行口接收中断请求标志。
当串行口接收器收到一个串行帧,R1=1。
CPU响应R1中断,硬件并不清除R1,R1必须由软件清0。
T1(SCON.1)串行口发送中断请求标志.将8位数据写入SBUF后,发送完一个串行帧,T1=1.CPU响应T1中断,硬件并不清除T1,T1必须由软件清0.
各中断源对应的矢量地址如下:
外部中断0:
0003H
定时器T0:
000BH
外部中断:
0013H
定时器T1:
001BH
串行口接收和发送:
001BH
38031单片机需要外接程序存储器,实际上它还有多少条I/O线可以用?
当使用外部存储器时,还剩下多少条I/O线可用?
(10分)
答:
8031系统必须外接程序促成器,原则上说,P0和P2口要用作数据和地址总线,所以只有P1和P3口可用作I/O口,共16条I/O线。
在使用外部存储器时,除了占用P0和P2口外,还需要用P3口RD(P3.7)和WR(P3.6)两条控制线,所以这种情况下就只剩下14条I/O线可用了。
1.单片机有哪几个特殊功能寄存器?
各在单片机的哪些功能部件中?
(8分)
答:
8051单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用统一的直接寻址方式来访问。
这些特殊功能寄存器颁在以下各个功能部件中:
CPU:
ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器组成);
中断系统:
IP、IE;
定时器/计数器:
TMOD、TCOM、TL0、TH0、TL1、TH1;
并行I/O口:
P0、P1、P2、P3;
串行口:
SCON、SBUF、PCON。
2.8031的扩展储存器系统中,为什么P0口要接一个8位锁存器,而P2口却不接?
(7分)
答:
这是因为P0口是扩展储存器系统的多路低8位地址和数据总线,在访问外部存储器时,P0口分时用作输出外部储存器低8位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低8位地址信号,所以P0口需要外接一个地址锁存器。
ALE信号就是用来把P0口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低8位地址。
而P2口只用作扩展存储器系统的高8位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。
1.简述8051片内RAM的空间分配情况,包括各空间的地址范围和访问特点。
答:
片内RAM共128B,可分为工作寄存器区(地址范围00H-1FH),位寻址区(地址范围20H-2FH)和数据缓冲区(地址范围30H-7FH)。
工作寄存器区只可以字节形式访问,位寻址区既可位访问也可字节访问,数据缓冲区必须以字节形式访问。
2.简述8051单片机位寻址区的空间分配。
答:
位寻址区域有两块,一是在内部RAM区,占用16个字节,字节地址是20H—2FH,共128位,位地址是00H—7FH,另一区域在特殊寄存器区,字节地址在80H—FFH之中,特点是字节地址可以被8整除的11个SFR(特殊功能寄存器),83位(有三位未定义)。
3.8051单片机内RAM低128B单元划分为哪三个主要区域?
各区域的地址范围和特点是什么?
答:
内部RAM的低128B单元划为工作寄存器区,位寻址区,数据缓冲区。
工作寄存器区:
地址从00H—1FH,共32个字节。
分成4个区,每个区由R0—R78个寄存器组成。
只可字节访问。
位寻址区:
字节地址从20H—2FH,有128位,这些单元既可按位访问也可按字节访问。
数据缓冲区:
也叫用户RAM区,地址为30H—7FH,只能按字节访问,堆栈区就设在这个区域。
4.MCS-51系列单片机中有几组工作寄存器组?
CPU如何确定和改变当前工作寄存器?
答:
有4组工作寄存器组,CPU根据PSW.4、PSW.3两位确定R0–R7
属于哪个寄存器组。
PSW.4PSW.3组别R0—R7
00000H—07H
01108—0FH
10210—17H
11318—1FH
5.什么是堆栈?
堆栈指针SP有什么作用?
答:
堆栈是存储器中划出一种特殊的区域,用来存放一些特殊数据,是一个数据暂存器。
SP是始终指向栈顶。
当压入数据时SP会自动加1,弹出数据时SP自动减1
6.MCS-51系列单片机的程序存储器中有几个具有特殊功能的单元?
各有什么功能?
答:
程序存储器中有7个地址具有特殊功能,MCS-51复位后,
(PC)=0000H,故系统程序必须从0000H单元开始,0000H是复位入口地址,是一个特殊单元,还有6个地址是5种中断源的中断入口地址,如表所示。
这些入口地址都安放一条绝对跳转指令,跳转到相应的中断程序中去。
中断源
入口地址
外部中断0(INT0)
0003H
定时器0
000BH
外部中断1
0013H
定时器1
001BH
串行口
0023H
7.简述8051单片机的存储器在物理上和逻辑上各有几种地址空间,访问不同空间的指令格式有何区别?
答:
物理上有4种地址空间:
片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器。
逻辑上有3种地址空间:
片内外统一编址的64KB程序存储器地址空间,用MOVC指令。
256B的片内存储器(包括128B的SFR)地址空间,用MOV指令。
64KB的外部数据存储器地址空间用MOVX指令。
1.什么叫波特率?
串行通信的双方波特率的大小有什么关系?
答:
波特率是串行通信传输数据的速率。
定义为每秒传输的数据位数,即1波特=1位/秒。
串行通信的双方波特率必须相同。
2.中断处理子程序和CPU调用子程序有什么不同?
答:
(1)CPU调用子程序,调用的位置是固定的,是通过LCALL,ACALL指令调用的。
中断处理子程序是根据中断请求信号的有效时间和中断响应位置而定的,在主程序中是不固定的。
(2)CPU知道何时调用普通子程序,CPU是主动的。
但CPU不知道何时执行中断子程序,中断源是主动的。
(3)中断返回,在普通子程序中是RET,中断子程序中是RETI
3.MCS-51单片机提供几种中断?
按中断优先级写出各中断源。
答:
MCS-51单片机提供五种中断:
外部中断0,T0定时器/计数器0,
外部中断1,T1定时器/计数器1,TI/RI引起的串口中断。
中断优先级,同级中断中:
→T0→
→T1→串口
高→→→→低
4.MCS-51响应中断的条件是什么?
答:
MCS-51中断响应的条件:
中断源有请求(中断允许寄存器IE相应位置1),且CPU开中断(即EA=1)。
(1)无同级或高级中断正在处理
(2)现行指令执行到最后1个机器周期且已结束。
(3)若现行指令为RETI或访问IE,IP的指令时,执行完该指令且紧随其后的另一条指令也已执行完毕。
则满足上述条件,可以响应中断。
5.什么是中断矢量?
若某个中断源的中断服务程序的字节数超出了8个单元,应如何处理?
INT1的中断矢量是多少?
答:
中断矢量表示了中断程序的入口地址。
若中断服务程序超过8个单元应在中断程序入口处用AJMP指令转移到真正中断程序入口。
的中断矢量是:
0013H
6.简述8051单片机的中断响应过程。
答:
CPU响应中断后,由硬件自动执行如下的功能操作:
(1)根据中断请求源的优先级的高低,对相应的优先级状态触发器置1
(2)保护断点,即把程序计数器PC的内容压入堆栈保存。
(3)内部硬件将中断请求标志位(IE0,IE1,TF0,TF1)清0。
(4)把被响应的中断服务入口地址送入PC,从而转入相应的中断服务程序执行
7.中断处理中保护断点和保护现场主要解决什么问题?
答:
中断中保护断点主要是保护主程序的断点,将程序计数器PC的内容压入堆栈,为中断程序结束后返回主程序做准备,保护现场是将子程序中用到的寄存器的内容,首先压入堆栈,以使后面主程序的执行不受影响。
8.MCS-51单片机的中断系统有几个优先级,如何确定?
答:
(1)有两个优先级。
由IP确定各中断的优先级。
IP低5位中为1表示对应中断源的中断优先级为高。
IP低5位中某位为0,表示中断优先级为低。
IP定义
×
×
×
串口T1
T0
(2)同优先级的中断请求,优先级有高到低为:
,T0,
,T1,串行口中断
9.用于实现串行通信中的数据传送的三种方式分别是什么?
有何特点?
答:
按数据传送的方式分有三种:
单工,半双工,全双工通信方式。
所谓单工,一方只可接受信息,一方只可发送信息,信息是单向传送的,全双工,指两方能同时既可接收又可发送信息,称为全双工串行通信。
既可接收又可发送的,但不能同时进行的称为半双工。