单片机复习题.docx
- 文档编号:26249312
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:26
- 大小:170.23KB
单片机复习题.docx
《单片机复习题.docx》由会员分享,可在线阅读,更多相关《单片机复习题.docx(26页珍藏版)》请在冰豆网上搜索。
单片机复习题
单片机复习题2012
单片机复习题2012
第1章概述
1、微型计算机通常由哪些部分组成?
单片机的结构组成?
单片机与微型计算机的区别。
2、计算机中的数制(二进制、十进制、十六进制)、码制(原码、补码)与编码(ASCII码、BCD码)
3、单片机嵌入式系统的概念、特点:
单片机嵌入式系统是嵌入到对象体系中的专用计算机系统;其特点是面向特定应用、与各个行业的具体应用相结合、硬件和软件高效率、软件固化在存储器芯片或单片机本身和不具备自举开发能力。
4、单片机的几个重要指标:
位数、存储器、I/O口、速度、工作电压、功耗和温度。
5、单片微型计算机主要应用在哪些方面:
有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面
第2章MCS-51单片机硬件结构和原理
1、MCS-51单片机内部包含哪些主要功能部件?
它们的作用是什么?
答:
MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时/计数器、多功能I/O口和中断控制等基本功能部件。
单片机的核心部分是CPU,CPU是单片机的大脑和心脏。
程序存储器用于存放编好的程序或表格常数。
数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。
定时/计数器实质上是加法计数器,当它对具有固定时间间隔的内部机器周期进行计数时,它是定时器;当它对外部事件进行计数时,它是计数器。
I/O接口的主要功能包括:
缓冲与锁存数据、地址译码、信息格式转换、传递状态(外设状态)和发布命令等。
中断控制可以解决CPU与外设之间速度匹配的问题,使单片机可以及时处理系统中许多随机的参数和信息,同时,它也提高了其处理故障与应变能力的能力。
2、MCS-51单片机的核心器件是什么?
它由哪些部分组成?
各部分的主要功能是什么?
答:
单片机的核心部分是CPU,可以说CPU是单片机的大脑和心脏。
它由运算器、控制器和布尔(位)处理器组成。
运算器是用于对数据进行算术运算和逻辑操作的执行部件。
控制器是CPU的大脑中枢,它的功能是逐条对指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的内部和外部控制信号,协调各部分的工作,完成指令规定的操作。
3、MCS-51单片机的EA、ALE和PSEN端的功能是什么?
答:
ALE——ALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。
PSEN——外部程序存储器的读选通信号。
EA——访问外部程序存储器控制信号。
4、程序计数器(PC)有多少位?
它的主要功能是什么?
答:
程序计数器有16位,它的功能和一般微型计算机的相同,用来存放下一条要执行的指令的地址。
当按照PC所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。
5、简述MCS-51单片机片内RAM区地址空间的分配特点。
答:
片内数据存储器分为工作寄存器区、位寻址区和数据缓冲器区等3个区域。
工作寄存器使用内部RAM中地址为00H~1FH的32个单元,并分成4个工作寄存器组,每个组有8个工作寄存器,名称为R0~R7。
对于内部RAM中地址为20H~2FH的16个单元,CPU不仅具有字节寻址功能,而且还具有位寻址功能。
这16个单元共128位,每一位都赋予1个位地址,位地址范围是00H~7FH。
30H~7FH是数据缓冲区,即用户RAM区,共80个单元。
6、MCS-51单片机如何实现工作寄存器组R0~R7的选择?
答:
每个工作寄存器组都可被选为CPU的当前工作寄存器,用户可以通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来任选一个寄存器组为当前工作寄存器。
7、单片机复位后,常用的特殊功能寄存器中的初始化状态是什么?
答:
特殊功能寄存器
初始状态
ACC
00H
PC
0000H
PSW
00H
SP
07H
DPTR
0000H
P0~P3
0FFH
8、MCS-51单片机的21个特殊功能寄存器中,哪些具有位寻址能力?
(了解)
答:
MCS-51单片机中的程序状态字寄存器(PSW),B寄存器,累加器(ACC),端口P0~P3,控制寄存器中用于中断控制的中断优先级控制寄存器(IP)和中断允许控制寄存器(IE),用于设置定时/计数器和串行口工作方式的定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)具有位寻址能力。
9、程序状态字寄存器(PSW)的作用是什么?
答:
PSW寄存器是8位寄存器,用做程序运行状态的标志,字节地址为D0H。
可以进行位寻址。
10、MCS-51单片机的P3口具有哪些功能?
(了解)
答:
P3口是双功能口,除了作为准双向通用I/O口使用外,每一根口线还具有第二种功能,P3口的各位如不设定为第二功能则自动处于第一功能。
P3的第二功能涉及到串行口、外部中断、定时器,与特殊功能寄存器有关。
11、MCS-51单片机的片外总线是由哪些总线构成的?
答:
P0口的第二功能是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用做数据总线。
12、单片机时钟电路有何用途?
起什么作用?
答:
单片机工作是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是单片机控制器中的时序电路发出的。
单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。
为了保证各部件间的同步工作,单片机内部电路应在唯一的时钟信号下严格地按时序进行工作。
MCS-51系列单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。
13、什么是时钟周期、状态周期、机器周期和指令周期?
当单片机时钟频率为12MHz时,一个机器周期是多少?
答:
时钟周期也称为振荡周期,定义为时钟脉冲频率(fosc)的倒数,它是计算机中最基本的、最小的时间单位。
时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的控制信号,称为状态周期,用S表示。
完成一个基本操作所需要的时间称为机器周期。
指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,指令不同,所需要的机器周期数也不同。
当单片机时钟频率为12MHz时,一个机器周期为1μs。
14、什么时候需要复位操作?
答:
复位是单片机的初始化操作。
单片机系统在上电启动运行时,都需要先复位。
第3章MCS-51单片机指令系统
1、什么是寻址方式?
MCS-51指令系统有哪些寻址方式?
答:
在指令系统中,操作数是一个重要的组成部分,它指定了参与运算的数据或数据所在的地址单元。
如何找到参与运算的这个数据或数据所在的地址就称为寻址方式。
MCS-51指令系统的寻址方式主要有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址等七种。
2、访问内部RAM单元可以采用哪些寻址方式?
访问外部RAM单元可以采用哪些寻址方式?
访问特殊功能寄存器(SFR)可以采用哪些寻址方式?
答:
对特殊功能寄存器只能采用直接寻址方式,单片机内部RAM的高128个字节(80H~FFH),只能采用寄存器间接寻址,外部扩展的数据存储器只能用MOVX指令访问,而内部RAM的低128个字节(00H~7FH)既能用直接寻址,也能用间接寻址。
3、访问外部数据存储器和程序存储器可以用哪些指令来实现?
举例说明。
答:
访问外部数据存储器可以用以下指令实现:
MOVXA,@Ri;((Ri))→A,寄存器Ri指向的片外RAM地址中的内容送到累加器A中
MOVX@Ri,A;A→((Ri)),累加器中内容送到寄存器Ri指向的片外RAM地址中
MOVXA,@DPTR;((DPTR))→A,数据指针指向的片外RAM地址中的内容送到累加器A中
MOVX@DPTR,A;A→((DPTR)),累加器中内容送到数据指针指向的片外RAM地址中
访问程序存储器可以用以下指令实现:
MOVCA,@A+DPTR;((A+DPTR))→A,表格地址单元中的内容送到累加器A中
MOVCA,@A+PC;PC+1→PC,((A+PC))→A,表格地址单元中的内容送到累加器A中
4、试用下列3种寻址方式编程,将立即数0FH送入内部RAM的30H单元中。
(1)立即寻址方式;
(2)寄存器寻址方式;(3)寄存器间接寻址方式
答:
(1)立即寻址方式:
MOV30H,#0FH
(2)寄存器寻址方式:
MOVR5,#0FH
MOV30H,R5
(3)寄存器间接寻址方式:
MOV@R1,#0FH
MOV30H,@R1
5、SJMP指令和AJMP指令都是字节转移指令,它们有什么区别?
各自的转移范围是多少?
能否用AJMP指令代替程序中的所有SJMP指令?
为什么?
答:
AJMP和SJMP的区别有:
(1)跳转范围不同。
AJMPaddr1;短跳转范围:
2KB
SJMPrel;相对跳转范围:
-128~+127
(2)指令长度不同。
(3)指令构成不同。
AJMP、LJMP后跟的是绝对地址,而SJMP后跟的是相对地址。
不能用AJMP指令代替程序中的SJMP指令,因为如果改变的话,程序跳转到的新PC值指向的地址会不同,导致程序出现错误。
6、加法和减法指令影响哪些标志位?
怎么影响的?
答:
在带进位的加法运算中,会影响进位位Cy,最终要将A中的值和其后面的值以及进位位Cy中的值相加,最终结果存在A。
在带进位减法指令中,要将累加器A的内容与第二操作数及进位标志相减,结果送回到累加器A中。
在执行减法过程中,如果位7(D7)有借位,则进位标志Cy置“1”,否则清“0”;如果位3(D3)有借位,则辅助进位标志AC置“1”,否则清“0”;如位6有借位而位7没有借位,或位7有借位而位6没有借位,则溢出标志OV置“1”,否则清“0”。
若要进行不带借位的减法操作,则必须先将Cy清“0”。
7、写出实现下列要求的指令或程序片段。
(1)将R0的内容传送到R1;
(2)内部RAM的20H单元内容传送到寄存器R1;
(3)内部RAM的20H单元的D7和D3位清零,其它位保持不变;
(4)外部RAM的1000H单元内容传送到内部RAM的60H单元中;
(5)外部RAM的1000H单元内容传送到寄存器R2;
(6)清除累加器高4位。
答:
(1)MOVA,R0
MOVR1,A
(2)MOVR1,20H
(3)MOVA,20H
ANLA,#77H
(4)MOVDPTR,#1000H
MOVXA,@DPTR
MOV60H,A
(5)MOVDPTR,#1000H
MOVXA,@DPTR
MOVR2,A
(6)ANLA,#0FH
8、试编写一段程序,将内部数据存储器30H、3lH单元内容传送到外部数据存储器1000H、1001H单元中。
答:
MOVA,30H
MOVDPTR,#1000H
MOV@DPTR,A
MOVA,31H
MOVDPTR,#1000H
MOV@DPTR,A
9、试编写一段程序,将外部数据存储器40H单元中的内容传送到0l00H单元中。
答:
MOVDPTR,#0040H
MOVXA,@DPTR
MOVDPTR,#0100H
MOVX@DPTR,A
10、试编写—段程序,将R3中的数乘4(用移位指令)。
答:
MOVA,R3
MOV23H,#02H
L0:
DJNZ23H,L1
L1:
RLA
SJMPL0
11、试编写—段程序,将P1口的高5位置位,低3位不变。
答:
MOVA,P1
ORLA,#F8H
MOVP1,A
12、熟悉常用指令
第4章MCS-51汇编语言程序设计
1、MCS-51系列单片机汇编语言进行程序设计的步骤如何?
(了解)
答:
单片机汇编语言进行程序设计的步骤:
(1)分析题意,明确要求;
(2)确定算法;(3)画程序流程图,用图解来描述和说明解题步骤;(4)分配内存工作单元,确定程序与数据区的存放地址;(5)编写源程序;(6)程序优化;(7)上机调试、修改和最后确定源程序。
2、常用的程序结构有哪几种?
特点如何?
答:
常用的程序结构有顺序、分支、循环、查表及子程序结构;特点是程序的结构清晰、易于读写和验证、可靠性高。
3、子程序调用时,参数的传递方法有哪几种?
答:
传递方法有传递数据、传送地址和通过堆栈传递参数。
4、编写程序,将片内30H~39H单元中的内容送到以2000H为首的外部存储器。
答:
ORG0000H
START:
MOVR0,#30H
MOVDPTR,#2000H
MOVR1,#10
CLRA
LOOP:
MOVA,@R0
MOVX@DPTR,A
DJNZR1,LOOP
END
5、简单问题的程序实现
第6章MCS-51单片机中断系统
1、简述中断、中断源、中断嵌套及中断优先级的含义。
答:
所谓中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。
中断源指向CPU提出中断申请的设备,包括中断请求信号的产生及该信号怎样被CPU有效地识别,要求中断请求信号产生一次,只能被CPU接收处理一次,即不能一次中断申请被CPU多次响应。
中断嵌套是CPU正在执行低优先级中断的服务程序时,可被高优先级中断请求所中断,去执行高优先级中断服务程序,待高优先级中断处理完毕后,再返回低优先级中断的服务程序。
中断优先级指在实际应用系统中往往有多个中断源,且中断申请是随机的,有时还可能会有多个中断源同时提出中断申请,但CPU一次只能响应一个中断源发出的中断请求,CPU响应哪个中断请求,就需要用软件或硬件安排一个优先顺序,即中断优先级排队。
2、MCS-51单片机提供了几个中断源?
有几级中断优先级别?
各中断标志是如何产生的又如何清除这些中断标志?
各中断源所对应的中断矢量地址是多少?
答:
MCS-51单片机提供了5个中断源,有2级中断优先级别。
中断标志由特殊功能寄存器TCON和SCON的相应位锁存。
(见书中图6-4、6-6)
中断标志的撤消分为:
1)定时/计数器中断请求的撤消
中断请求被响应后,硬件会自动清TF0或TF1。
2)外部中断请求的撤消
(1)跳沿方式外部中断请求的撤消是自动撤消的。
(2)电平方式外部中断请求的撤消,除了标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。
(见书中图例6-1)
3)串行口中断请求的撤消
响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。
所以串行口中断请求的撤消只能使用软件的方法。
CLRTI;清TI标志位
CLRRI;清RI标志位
各中断源对应的中断矢量地址分别为:
中断源
中断矢量
外部中断0
0003H
定时器T0中断
000BH
外部中断1
0013H
定时器T1中断
001BH
串行口中断
0023H
3、外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?
怎样设定?
(了解)
答:
采用中断电平触发方式时,中断请求标志IT0=0,CPU在每个机器周期的S5P2期间采样,一旦在P3.2(INT0)引脚上检测到低电平,则有中断申请,使IE0置位(置1),向CPU申请中断。
在电平触发方式中,在中断响应后中断标志位IE0的清0由硬件自动完成,但由于CPU对P3.2(INT0)引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0的IE0标志位重新置1,所以,在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。
采用边沿触发方式时,IT0=1,CPU在每个机器的S5P2期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0置1,向CPU申请中断,此标志位一直保持到CPU响应中断后,才由硬件自动清除。
在边沿触发方式中,为保证CPU在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周期的时间。
4、试分析以下几种中断优先级的排列顺序(级别由高到低)是否可能?
若可能,则应如何设置中断源的中断级别?
否则,请简述不可能的理由。
(1)定时器T0中断,定时T1中断,外中断1NT0,外中断INT1,串行口中断;
(2)串行口中断,外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断;
(3)外中断INT0、定时器T1中断,外中断INT1,定时器T0中断,串行口中断。
答:
(1)可以,将定时器T0中断,定时T1设置为高优先级中断,将外中断1NT0,外中断INT1,串行口中断
(2)可以,将串行口中断设置为高优先级中断,将外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断设置为低优先级中断;
(3)不行,因为MCS-51单片机有2级中断优先级别,同级中断还存在按次序决定的第二优先级结构,由高到低依次为外中断1NT0、定时器T0中断、外中断INT1、定时器T1中断、串行口中断。
5、MCS-51中断响应时间是否固定?
为什么?
(了解)
答:
MCS-51中断响应时间不固定。
对一个单一中断系统,MCS-51单片机对外部中断请求的响应时间在3—8个机器周期。
外部中断的最短的响应时间为3个机器周期,其中中断请求标志位查询占1个机器周期,而这个机器周期恰好又是处于指令的最后一个机器周期,该指令结束后中断即被响应,CPU接着执行子程序调用指令LCALL转到相应的中断服务程序入口,需2个机器周期,所以,外部中断响应最短时间为3个机器周期。
外部中断响应的最长时间为8个机器周期:
发生在CPU进行中断标志查询时,刚好是开始执行RETI或是访问IE或IP的指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断,最长需2个机器周期。
接着再执行一条指令,按最长指令(乘法指令MUL和除法指令DIV)来算,也只有4个机器周期。
加上硬件子程序调用指令LCALL的执行,需要2个机器周期。
所以,外部中断响应最长时间为8个机器周期。
对于多级中断系统,响应时间无法计算。
6、MCS-51中若要扩充6个中断源,可采用哪些方法?
如何确定它们的优先级?
答:
可采用硬件申请与软件查询的方法,把多个中断源通过硬件“线或”或者经或非门,引入外部中断源的输入端INT0、INT1,同时又连到某I/O口,这样,每个中断源都可能引起中断,但在中断服务程序中通过软件查询,就能确定哪一个是正在申请的中断源,其查询的次序则由中断优先级决定,这样就可实现多个外部中断源的扩展。
7、试叙述中断的作用和中断的全过程。
答:
中断可用于单片机测控系统、CPU与外部设备交换信息中。
中断的全过程包括中断请求、中断允许、中断响应过程和中断请求撤消。
8、当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?
在什么情况下不能响应新的中断请求?
答:
一个正在执行的低优先级中断程序能被高优先级的中断源所中断,但不能被另一个低优先级的中断源所中断。
若CPU正在执行高优先级的中断,则不能被任何中断源所中断。
第7章MCS-51单片机定时计数器和串行接口
1、定时/计数器有哪些专用寄存器,它们有几种工作模式?
如何设置?
答:
有定时控制寄存器(TCON)和工作方式寄存器(TMOD),具有四种工作方式:
方式0、方式1、方式2和方式3,四种方式由工作方式寄存器(TMOD)的M1和M0两位决定。
2、如果采用晶振的频率为3MHz,定时/计数器工作方式0、1、2下,其最大的定时时间为多少?
答:
内部定时脉冲周期=机器周期=12/3Mhz=4us
工作方式0:
Tmax=8192*4us=32.768ms
工作方式1:
Tmax=65536*4us=262.144ms
工作方式2:
Tmax=256*4us=1.024ms
3、定时/计数器用作定时器时,其计数脉冲由谁提供?
定时时间与哪些因素有关
答:
其计数脉冲由单片机振荡脉冲12分频输出的机器周期脉冲提供,定时时间与工作方式、晶振频率和预置数等因素有关。
4、定时/计数器用作计数器时,对外界计数频率有何限制?
答:
外部输入的计数脉冲的最高频率为振荡器频率的1/24。
5、采用定时/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。
定时1ms后,又转为计数方式,如此循环不止。
假定MCS-51单片机的晶体振荡器频率为6MHz,请使用方式1实现,要求编写出程序。
答:
ORG0000H
START:
CLRTR0
MOVTMOD,#05H
MOVTH0,#0FFH
MOVTL0,#9CH
;计数器初始化
S0:
JBCTF0,NEXT
SJMPS0
NEXT:
CLRTR0
MOVTMOD,#01H
MOVTH0,#0F8H
MOVTL0,#30H
;定时器初始化
SETBTR0
S1:
JBCTF0,START
SJMPS1
END
6、定时/计数器的工作方式2有什么特点?
适用于哪些应用场合?
答:
工作方式2具有初值自动重新加载和循环工作的特点,适用于产生固定脉宽的脉冲信号,和作为串行口波特率发生器使用。
7、编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400μs,占空比为10:
1的矩形脉冲。
答:
本题采用晶体振荡器频率为12MHz,使用定时器配合计数器,设计成一个40μs定时将P1.0置0和一个400μs定时将P1.0置1。
ORG0000H;中断入口地址
AJMPSTART
ORG000BH;定时器0的中断向量地址
AJMPTIME0
ORG0030H
START:
MOVSP,#5FH
MOV30H,#00H;软件计数器清零
MOVTMOD,#02H;T0工作在方式1
MOVTH0,#216
MOVTL0,#216
SETBEA
SETBET0
SETBTR0
;任意程序段
TIME0:
PUSHACC;中断处理子程序
PUSHPSW
CLRP1.0
INC30H
MOVA,30H
CJNEA,#10,T0_4
SETBP1.0
MOV30H,#00H
T0_4:
POPPSW
POPACC
RETI
END
8、一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?
答:
方法一:
让一个定时器先定时,溢出后,再启动另一个定时器定时;
方法二:
在第一个中断处理子程序中加入计数器,计数器满后,就去启动另一个定时器定时,把要处理的事件放第二个中断处理子程序中。
9、利用定时/计数器T0产生定时时钟,由P1口控制8个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)