单片机考试重点.docx
《单片机考试重点.docx》由会员分享,可在线阅读,更多相关《单片机考试重点.docx(35页珍藏版)》请在冰豆网上搜索。
单片机考试重点
一、填空题:
1、若外接晶振为6MHz;则8031单片机的振荡周期为1/6μs,机器周期为2μs,指令周期最短为2μs,最长为8μs。
2、8031单片机的片内外最大存储容量可达128(1/4)KB,其中程序存储器最大容量为64Kb,数据存储器最大容量为64KB+(1/4)KB。
3、8031单片机的中断源共有5个,它们分别是外部中断0,外部中断1,定时器/计数器0,定肘器/计数器1,串行口;各中断矢量地址分别对应为0003H,0000BH,0013H,001BH,0023H.
4、8031单片机串行口共有4种工作方式,它们的波特率分别为fosc/12、可变,fosc/32或fosc/64,可变。
5、D/A转换器是将数字量转换为模拟量,DAC0832具有直通,单缓冲,双缓冲三种工作方式,其主要技术性能有分辨率,转换速率,转换精度。
二、简答题:
1..8031单片机MOV、MOVC、MOVX指令有什么区别?
分别用于哪些场合?
由它们分别可以产生一些什么信号?
答:
①MOV指令用于对内部RAM的访问。
②MOVC指令用于访问程序存储器,从程序存储器中读取数据(如表格、常数等),它有效时将产生PSEN信号。
③MOVX指令用于访问外部数据存储器。
要注意:
执行MOVX指令时,在P3.7引脚上同时输出RD有效信号,或在P3.6引脚上输出WR有效信号,可以用做外部数据存储器或I/O的读/写选通控制信号。
2、请简述80C51单片机的中断与子程序调用的异同点,并举例加以说明。
【答】中断与子程序调用的相似点如下:
·都是中断当前正在执行的程序,转去执行子程序或中断服务子程序。
·都是由硬件自动把断点地址压入堆栈,然后通过软件完成现场保护。
·执行完子程序或中断服务子程序后,都要通过软件完成现场恢复,并通过执行返回指令,重新返回到断点处,继续执行程序。
·两者都可以实现嵌套,如中断嵌套和子程序嵌套。
中断与子程序调用的不同点如下:
·中断请求信号可以由外部设备发出,是随机的,比如故障产生的中断请求、按键中断等;子程序调用却是由软件编排好的。
·中断响应后由固定的矢量地址转入中断服务程序;子程序地址由软件设定。
·中断响应是受控的,其响应时间会受一些因素影响;子程序响应时间是固定的。
3.80C51单片机的EA信号有什么功能?
在使用80C51时,EA信号引脚应如何处理?
程序在何处从什么地址开始执行?
在使用80C31时,EA信号引脚应如何处理?
程序又在何处从什么地址开始执行?
答:
80C51单片机的EA信号被称为“片外程序存储器访问允许信号”。
CPU访问片内还是片外程序存储器,可由EA引脚所接的电平来确定:
EA引脚接高电平时,程序从片内程序存储器地址为0000H开始执行,即访问片内存储器;当PC值超出片内ROM容量时,程序会自动转向片外程序存储器空间执行。
片内和片外的程序存储器地址空间是连续的。
EA引脚接低电平时,迫使系统全部执行片外程序存储器0000H开始存放的程序。
对于有片内ROM的80C51/87C51单片机,应将EA引脚接高电平。
在使用80C31单片机时,EA信号引脚应接低电平,即此时程序存储器全部为外部扩展。
4,8031单片机引脚有哪些第二功能?
答:
8031单片机的P0、P2和P3引脚都具有第二功能。
第一功能第二变异功能
P0.0~P0.7地址总线Ao~A7/数据总线D0~D7
P2.0~P2.7地址总线A8~A15
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INT0(外部中断0)
P3.3IINT1(外部中断1)
P3.4T0(定时器/计数器0的外部输入)
P3.5T1(定时器/计数器0的外部输出)
P3.6WR(外部数据存储器或I/O的写选通)
P3.7RD(外部数据存储器或I/O的读选通)
5、8031单片机片内RAM低128个存储单元划分为哪3个主要部分?
各部分主要功能是什么?
答:
8031片内RAM的低128个存储单元划分为3个主要部分:
·寄存器区。
共4组寄存器,每组8个存储单元,各组以R0~R7作为单元编号。
常用于保存操作数及中间结果等。
:
R0~R7也称为“通用工作寄存器”,占用00H~1FH共32个单元地址。
·位寻址区。
单元地址为20H~2FH,既可作为一般RAM单元使用,按字节进行操作,也可对单元中的每一位进行位操作。
因此,称为“位寻址区”。
寻址区共有16个RAM单元,共计128位,位地址为00H~7FH。
·用户RAM区。
在内部RAM低128单元中,除去前面两个区,剩下80个单元,单元地址为30H~7FH。
在用户RAM区内可以设置堆栈区。
6、什么是堆栈?
堆栈有哪些功能?
设计时,为什么还要对SP重新赋值?
堆栈指针SP的作用是什么?
答:
堆栈是在片内数据RAM区中,数据按照“先进后出”或“后进先出”原则进行管理的区域。
堆栈功能有两个:
保护断点和保护数据。
在子程序调用和中断操作时这两个功能特别有用。
在8031单片机中,堆栈在子程序调用和中断时会把断点地址自动进栈和出栈。
进栈和出栈的指令(PUSH、POP)操作可用于保护现场和恢复现场。
由于子程序调用和中断都允许嵌套,并可以多级嵌套,而现场的保护也往往使用堆栈,所以一定要注意给堆栈以一定的深度,以免造成堆栈内容的破坏而引起程序执行的“跑飞”。
堆栈指针SP在8031中存放当前的堆栈栈顶所指存储单元地址的一个8位寄存器。
8031单片机的堆栈是向上生成的,即进栈时SP的内容是增加的;出栈时SP的内容是减少的。
系统复位后。
8031的SP内容为07H。
若不重新定义,则以07H为栈底,压栈的内容从08H单元开始存放。
但工作寄存器R0~R7有4组,占有内部RAM地址为00H~1FH,位寻址区占有内部RAM地址为20H~2FH。
若程序中使用了工作寄存器1~3组或位寻址区,则必须通过软件对SP的内容重新定义,使堆栈区设定在片内数据RAM区中的某一区域内(如30H),堆栈深度不能超过片内RAM空间。
7、803l单片机的节拍、状态、机器周期、指令周期是如何设置的?
当主频为12MHz时,各种周期等于多少微秒?
答:
把单片机振荡脉冲的周期定义为节拍。
节拍经过二分频后,就是单片机的时钟信号。
时钟信号周期定义为状态S,其前半周期对应的节拍叫P1,后半周期对应的节拍叫P2。
一个机器周期宽度为6个状态,并依次表示为S1~S6。
由于一个机器周期共有12个振荡脉冲周期,因此,机器周期就是振荡频率的1/12。
机器周期是8031单片机的最小时间单位。
执行一条指令的时间被称为“指令周期”,8031单片机执行一条指令的时间包含有1个、2个或4个机器周期。
当主频为12MHz时,振荡脉冲的周期为1/12μs,状态周期为1/6μs,机器周期为1μs,指令周期为1~4μs
8、8031单片机的4个I/O口在使用上有哪些分工和特点?
答:
4个I/O口的分工和特点如下:
P0口是一个多功能的8位口,可按字节访问也可按位访问。
用作I/0口。
相当于一个真正的双向口:
输出锁存,输入缓冲,但输入时须先将口置l;每根口线可以独立定义为输入或输出。
作输出时要加上拉电阻。
用作地址/数据复用总线。
作数据总线使用时,输入/输出8位数据D0~D7;作地址总线用时,输出低8位地址A0~A7。
②P1口是一个8位口,可按字节访问也可按位访问,因此,P1口不仅可以8位一组进行输入、输出操作,还可以逐位分别定义各口线为输入线或输出线。
输入时有条件,即需要先输出1,将该口设为输入状态。
一般作I/O口用。
③P2口是一个多功能的8位口,可按字节访问也可按位访问。
在单片机采用并行扩展方式时,P2口作为地址总线的高8位A8~A15。
④P3口是一个多功能的8位口,可按字节访问,也可按位访问。
可作为I/O口使用,为准双向口。
既可以字节操作,也可以位操作;既可以8位口操作,也可以逐位定义口线为输入线或输出线。
9、TranslatingfollowingparagraphintoChinese:
Amicrocontrollerisanentirecomputermanufacturedonasinglechip,ithasahighconcentrationofon-chipfacilitiessuchasserialports,parallelinput-outputports,timers,counters,interruptcontrol,analog-to-digitalconverters,randomaccessmemory,readonlymemory,etc.
【答】微控制器是一个制作在单块芯片上的一个完整的计算机,它将各种装置高度地集成到一块芯片上,例如串口、并行输入输出口、定时器、计数器、中断控制、A/D转换、随机存储器等等。
10、80C51单片机的特殊功能寄存器SFR区有哪些特点?
【答】特殊功能寄存器SFR区是80C51单片机中各功能部件所对应的寄存器区,用来存放相应功能部件的控制命令寄存器、状态寄存器或数据寄存器的区域。
这是80C51系列单片机中最有特色的部分。
80C51系列单片机设有128字节片内数据RAM结构的特殊功能寄存器区。
除程序计数器PC和4个通用工作寄存器组外,其余所有的寄存器都在这个地址空间之内。
特殊功能寄存器在128字节空间中只分布了很小部分,这为80C51单片机系列功能的增加提供了极大的可能性。
所有80C51单片机系列功能部件的增加和扩展几乎都是通过增加特殊功能寄存器来达到的。
在80C51的21个特殊功能寄存器中,字节地址中低位地址为0H或8H的特殊功能寄存器,除有字节寻址能力外,还有位寻址能力。
其中对于P0~P1口4个特殊功能寄存器的位寻址使I/O的控制功能得到了增强。
11、在单片机领域,目前最广泛使用的是哪几种语言?
有哪些优越性?
单片机能否直接执行这几种语言?
【答】在单片机领域,目前最广泛使用的是汇编语言和高级语言。
汇编语言编写的程序效率高,占用存储空间小,运行速度快,而且能反映单片机的实际运行情况。
但编程比使用高级语言困难,通用性差。
单片机不能直接执行汇编语言程序,必须通过人工(或机器)汇编把汇编语言程序转换为机器语言程序。
高级语言不受具体机器的限制,而且使用了许多数学公式和习惯用语,从而简化了程序设计的过程,通用性强,易于移植到不同类型的单片机中。
单片机不能直接识别和执行高级语言,需要将其转换为机器语言程序才能识别和执行。
对于高级语言,这一转换工作通常称为“编译”或者“解释”。
进行编译或者解释的专用程序称为“编译程序”或者“解释程序”。
12、80C51单片机有哪些中断源?
并给出对应的中断入口地址。
为什么中断入口处常常加一条跳转指令?
【答】1.中断源:
8051单片机中有5个中断源每一个中断源都能被单片机程控为高优先级或低优先级。
8051单片机的5个中断源包括2个外部中断源和3个内部中断源。
2个外部中断源为INT0(入口地址0003H)和INT1(入口地址0013H),外部设备的中断请求信号、掉电等故障信号都可以从INT0或INT1引脚输入。
3个内部中断源为定时器/计数器T0(入口地址000BH)、T1(入口地址001B)的定时/计数溢出中断源和串行口发送或接收中断源TI(入口地址0023H)。
。
由于每个入口只相隔8个字节,空间很小,常常放不下一个中断服务子程,所以一般都在这里加一条跳转指令转到其他地方运行
13、80C51单片机在片内集成了哪些主要逻辑功能部件?
各个逻辑部件的最主要功能是什么?
【答】80C51单片机在片内主要包含中央处理器CPU(算术逻辑单元ALU及控制器等)、只读存储器ROM(存储程序)、读/写存储器RAM(存储数据)、定时器/计数器(完成定时和计数)、并行I/O口P0~P3(完成并行数据的输入输出)、串行口(完成串行数据的输入输出)、中断系统(中断的管理)以及定时控制逻辑电路等。
14、请说出8051单片机40个引脚的功能?
【答】80C51单片机的40个中,P0、P1、P2和P3作为I/O端口已经占了32个,然后2个用于电源,2个用于晶振,还剩下4个,分别是RST,用于复位;ALE用于锁存;PSEN#用于外部程序存储器的读信号;EA#用于控制是否访问片内程序存储器。
15、80C51单片机的片内外最大存储容量可达多大?
【答】80C51单片机存储容量应包括程序存储器和数据存储器两部分。
80C51具有16条地址线,PC指针为16位,因此,程序存储器最大容量为64KB。
数据指针DPTR为16位,因此,外扩数据存储器最大容量为64KB,再加上片内具有的256个存储单元,80C51单片机的片内外最大存储容量可达128.256KB。
采用其他地址译码方法,80C51单片机存储容量会得到更大的扩展。
16、请说明80C51单片机ALE引脚的时序功能,并举例说明其在系统中有哪些应用?
【答】80C51单片机ALE引脚是地址锁存允许信号。
在系统中主要有两种应用:
①在访问片外存储器或I/O时,用于锁存低8位地址,以实现低8位地址A0~A7与数据D0~D7的隔离。
在ALE的下降沿将P0口输出的地址A0~A7通过锁存器锁存,然后在PO口上出现D0~D7。
②由于ALE以1/6振荡频率的固定速率输出,因此,可以作为对外输出的时钟或外部定时脉冲,比如ALE信号可以做ADC0809的时钟。
18、80C51单片机片外数据存储器与片内数据存储器地址允许重复,并与程序存储器地址也允许重复,如何区分?
【答】80C5l单片机对片外数据存储器、片内数据存储器及程序存储器采用不同的指令,会产生不同的控制信号。
片外数据存储器有读RD和写WR控制信号,程序存储器有读PSEN控制信号,因此,扩展时虽然数据线和地址线重复,但由不同的控制信号加以区别。
片内数据存储器地址采用MOV指令,不会产生读RD和写WR控制信号。
19、8051自身有几个定时计数器?
它们主要有几种不同的工作方式?
如果选16位的计数方式,计算出来的计数初值是156H,请给出实际的设定值。
答:
有两个定时计数器,分别是T0和T1。
它们有4种工作方式,分别是方式0,13位计数方式;方式1,16位计数方式;方式2,8位自动重装方式;方式3,2个8位计数方式,只适用于T0。
此时实际的设定值应该是156H的补码,即FEAAH。
(两数相加等于10000H)
20、请指出8051的中断在数量、中断源查找方面与8086的不同,如果在实际的8051应用中,外部中断源多于5个,可采用一些什么方法?
答:
8051只有5个中断源,8086可达256个;8086采用中断矢量的管理方式,8051采用固定中断入口的方式;当多于5个外部中断源时,可采用以下几种方式:
硬件加查询、利用不用的定时计数器、扩展8259等。
21、8051单片机共有40个引脚,除了4个8位的端口和2根电源共34根之外,还有6个,请分别说明这6个引脚的一种主要的功能。
答:
还有XTAL1,XTAL2,RST,EA,ALE,PSEN等6个引脚,XTA1和XTA2用来连接晶振或脉冲源,RST用作清零,EA用来决定是否直接访问外部程序存储器,ALE用来做锁存信号,PSEN用来做访问外部ROM的读信号。
22、翻译下面的英文的指令说明:
JBCbitaddr,reladdr
Description:
JBCwillbranchtotheaddressindicatedbyreladdrifthebitindicatedbybitaddrisset.Beforebranchingtoreladdrtheinstructionwillcleartheindicatedbit.IfthebitisnotsetprogramexecutioncontinueswiththeinstructionfollowingtheJBCinstruction.
答:
当被检测的位bitaddr置1时,此指令将使程序指针转到指令中给出的相对的地址reladdr中执行。
在跳转前,此指令会将指定的检测位清零。
如果被检测的位是零,程序将会继续执行下一条指令。
23、80C51的程序存储器的哪些单元被保留用于特定场合?
答:
80C51有以下几个存储器被保留用于特定场合:
复位0000H
外部中断00003H
计时器T0溢出000BH
外部中断10013H
计时器T1溢出001BH
串行口中断0023H
SP07H
24、翻译下面的英文的指令说明
Description:
MOVCmovesabytefromCodeMemoryintotheAccumulator.TheCodeMemoryaddressfromwhichthebytewillbemovediscalculatedbysummingthevalueoftheAccumulatorwitheitherDPTRortheProgramCounter(PC).InthecaseoftheProgramCounter,PCisfirstincrementedby1beforebeingsummedwiththeAccumulator.
答:
MOVC指令将一字节的数据从程序存储器中取到累加器中。
程序存储器中所要取数的字节的地址是由累加器的值和DPTR或者程序计数器(PC)的和来决定的,如果是PC,在与累加器的值相加之前,它自身先要加1。
25、8051单片机片内数据储存器的数量、类型、地址范围、如何设置通用工作寄存器组,如果当在指令中出现20H的地址时,如何判断它是字节地址还是位地址。
答:
有128个字节,是RAM,地址范围是00-7FH,通过对PSW中RS1和RS0的设定,可选中其中1组(R0到R7)作为通用寄存器,其他的都作为一般的RAM。
当出现地址20H时,可用两种办法判断,一是,若指令中明显是位控指令,例如SETB,则它是位地址;二是,若指令中的另一地址明显是字节,例如MOVA,20H,则它必然是字节地址。
27、说明8051系统中存储器的分类,用什么指令来访问这些存储器,此时那些引脚信号会起作用?
答:
有片内存储器、片外程序存储器和片外数据存储器3类,常用MOV指令访问片内RAM,用MOVC访问ROM,此时,P0和P2构成16位地址,产生ALE锁存信号,P0分时传递数据,PSEN引脚作为ROM的读信号;用MOVX访问片外RAM,此时P0和P2构成16位地址,产生ALE锁存信号,P0分时传递数据,P3口产生WR和RD写、读信号。
28、8051中实际只有INT0、INT12个外部中断的输入引脚,当外部中断多达四个,且定时计数器又没有使用时,可以用什么方法来满足4个外部中断源的响应,同时要注意怎样才能使中断连续响应。
?
答:
可以利用T1和T0这两个计数器的计时输入端,只要将计数值设定为1(即若8位计数设为FFH),则当外界从引脚T1或T0输入1个脉冲,则立即引起计数到而产生中断。
由于8051的定时计数器多半没有自动重装功能,所以在中断程序中要注意重装计数值,否则中断不能连续响应。
29、现在串行通信方式已经得到广泛应用,请说明8051有几种串行方式可选择?
各有什么特点?
波特率有什么不同?
答:
共有4种串行通信的方式可选,0方式是8位移位输入输出方式;1方式是10位异步通信方式,2、3方式是11位异步通信方式,2、3方式主要是波特率的设定不同,0方式波特率为fosc/12,2方式为fosc/32或者fosc/64,1、3方式取决于定时计数器1的溢出率。
30、什么是单片机?
单片机有哪些特点
答:
单片机是一种把微处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出(I/O)接口电路、定时器/计数器、串行通信接口及中断系统等部件集成在同一块芯片上的,具有完整功能的微型计算机。
单片机具有优异的性能价格比;集成度高、体积小、可靠性高;控制功能强;低能耗、低电压,便于生产便携式产品等一些特点。
31、什么是寻址方式?
MCS-51单片机有哪几种寻址方式?
答:
指令的一个重要的组成部分是操作数,指令给出参与运算的数据的方式称为寻址方式,换句话说,寻址方式就是寻找确定参与操作的数的真正地址。
MCS-51系列单片机共有7种寻址方式:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。
32、翻译下面的英文的指令说明:
Description:
LCALLandACALLinstructionswillsavethecurrentaddressonthestackandjumptothespecifiedaddressorlabel.ThesubroutineatthataddresswillperformataskandthenreturntotheoriginalinstructionbyexecutingtheRETinstruction.
答:
LCALL和ACALL指令会把当前的地址保存到堆栈然后跳转到指定的地址或标号中。
指定地址的子程将会执行某一任务然后通过执行RET指令而返回到原来的指令中继续执行。
33.若时钟频率为12M,请计算4种定时方式所能获得的最长的延时时间各是多少?
答:
由于时钟是12M,所以定时器的计数周期为12M/12=1uS,0方式是13位,所以最长延时可达213uS。
1方式是16位,所以最长延时可达216uS。
2方式和3方式都只有8位,所以它们的最长延时只有28uS。
34.为什么一般的51单片机不能实现多层子程序的嵌套?
中断可以实现几级嵌套,为什么?
答:
每进入一个子程序就要保护断点和寄存器,这些都需要保存在片内的RAM中,而普通的单片机的片内RAM很有限,例如51只有128个字节,所以不能实现多层子程序的嵌套。
类似的原因,再加上51的中断规定只有两个优先级,只有优先级高的可以打断低优先级的,所以它只能实现2级嵌套。
三、分析题(读程序):
1、某应用系统由5台8031单片机构成主从式多机系统,请画出硬件示意框图,简述系统工作原理。
解:
作图:
5台8031构成主从式多机系统如下图所示:
工作原理:
8031单片机多机通信时,采用一台主机和4台从机的主从式。
主机的SM2=1时,若TB8=1,表示发送地址,若TB8=0,表示发送数据。
首先,主机发地址信息,由于各从机开始多机通信时,SM2位都被置1,都可以响应主机发来的地址信息(RB8=1),产生中断,在中断程序中各从机将收到的地址信息和自己的地址相比较,相同,则该从机将本机的SM2清0,之后主机发出的是数据信息(TB8=0),所以从机中只有SM2=0的可以产生中断接收数据,实现了主机与一个从机进行一对一的通信。
若从机的地址与主机点名的地址不相同,则该从机将继续维持SM2为l,从而无法产生中断去接收主机随后发来的数据信息,只能等待主机的下一次点名。
当一个主机对一个从机的通信完成后,该从机必须将自己的SM2置1。
之后主机又重新开始呼叫另一个从机,