单片机复习答案.docx
《单片机复习答案.docx》由会员分享,可在线阅读,更多相关《单片机复习答案.docx(17页珍藏版)》请在冰豆网上搜索。
![单片机复习答案.docx](https://file1.bdocx.com/fileroot1/2022-10/10/f5ee4627-fe42-457d-8669-9eb91f09e5f4/f5ee4627-fe42-457d-8669-9eb91f09e5f41.gif)
单片机复习答案
防灾科技学院课程考试大纲
学年/学期
课程名称
考试用时
考试方式
专业
2013-2014-1
单片机原理及应用
120分钟
闭卷
电气工程及其自动化
考试内容及所占比例
一、硬件结构(20%左右)
单片机的组成;单片机的I/O口作用及其应用编程;时钟及机器周期;
单片机的存储器;单片机的控制总线、地址总线及地址总线等。
二、C51程序设计(20%左右)
C51的指令规则;C51编程语句及规则;顺序程序、分支程序及循环程序设计;C51的函数;中断函数。
三、中断系统(20%左右)
中断的定义、中断源及其优先级;中断过程及中断应用编程。
四、定时/计数器(30%左右)
定时/计数器的组成、工作方式及应用编程。
五、串行接口(10%左右)
串行接口的组成、串行通信过程;通信方式及应用编程。
第一部分硬件基础
1、单片机的组成;
2、单片机的并行I/O口在使用时,有哪些注意的地方?
3、单片机的存储器;程序存储器和数据存储器的寻址范围,地址总线和数据总线的位数;数据存储器内存空间的分配;特殊功能寄存器区;
4、时钟及机器周期;
5、单片机的控制总线、地址总线及地址总线等。
例:
一、填空
1.MCS-51单片机有4个存储空间,它们分别是:
片内RAM、片内ROM、
片外RAM、片外R0M。
2、MCS-51单片机的一个机器周期包括6个状态周期,12个振荡周期。
设外接12MHz晶振,则一个机器周期为1μs。
3.程序状态字PSW由8位组成。
4.在MCS-51单片机内部,其RAM高端128个字节的地址空间称为 特殊寄存器区,但其中仅有 21 个字节有实际意义。
5.MCS-51系列单片机为8位单片机,其数据总线为8位,地址总线为16位。
6.MCS-51单片机的4个并行I/O口若作为普通I/O口使用时,输入操作分为读引脚和读锁存器,需要先向端口写“1”的操作是读引脚。
7.MCS-51单片机的特殊功能寄存器分为可位寻址和不可位寻址两种,那么IE
为不可位寻址,TMOD为可位寻址。
8.通常MCS-51单片机上电复位时PC= 0000 H、SP= 07 H、通用寄存器采用第 0 组,这一组寄存器的地址范围是 00-07 H。
9.MCS-51单片机堆栈遵循 先进后出 后进先出 的数据存储原则。
10.在MCS-51单片机中,使用P2、P0口传送 地址 信号,且使用P0口来传送 数据 信号,这里采用的是 分时复用 技术。
11.MCS-51单片机位地址区的起始字节地址为20H。
12.对于并行口在读取端口引脚信号时,必须先对端口写FFH。
13.PC的内容是用来存放下一条要执行的指令地址。
14、MCS-51单片机运行出错后需要复位,复位的方法是在复位引脚上加一个持续时间超过24个时钟周期的高电平。
二、问答
1.简述MCS-51单片机的P0、P1、P2和P3口的功能。
51单片机共有P0-P3四个端口,他们除了可以做普通I/O口之外,P0口既可以作为8位数据总线还可以分时输出低8位地址,经锁存器锁存形成A0-A7;P1口仅作为I/O用;P2口还可以输出作为高8位地址A8-A15;P3口具有第二功能,P3.0-P3.7第二功能分别依次为RXD、TXD、/INT0、/INT1、T0、T1、/WR、/RD
2.MCS-51单片机的三总线是由哪些口线构成的。
由P2、P0口组成16位地址总线;由P0口组成8位数据总线;由ALE、/PSEN、RST、/EA与P3口中的/INT0、/INT1、T0、T1、/WR、/RD共10个引脚组成控制总线。
3.MCS-51单片机的位寻址区的字节地址范围是多少?
位地址范围是多少?
20H——2FH 00H——7FH
4.MCS-51单片机存储器在结构上有什么特点?
在物理上和逻辑上各有那几个地址空间?
单片机的存储器采用的是程序存储器与数据存储器截然分开的哈佛结构,即程序存储器和数据存储器各有自己的寻址方式、寻址空间和控制系统。
物理上分为4个存储器空间:
片内程序存储器、片外程序存储器片内数据存储器、片外数据存储器
逻辑上分为3个地址空间:
片内、片外统一编址的64KB程序存储器空间、片内256B的数据存储器地址空间、片内64KB数据存储器空间
5.简述MCS-51单片机00H-7FH片内RAM的功能划分,写出它们的名称以及所占用的地址空间,并说明它们的控制方法和应用特性。
(1)工作寄存器组(00H——1FH)
这是一个用寄存器直接寻址的区域,内部数据RAM区的0—31,共32个单元。
它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0——R7。
(2)位寻址区(20H——2FH)
16个字节单元,共包含128位,这16个字节单元既可以进行字节寻址,又可以实现位寻址。
主要用于位操作。
(3)堆栈与数据缓冲区(30H——7FH)用于设置堆栈、存储数据
6.请写出MCS-51单片机的五个中断源的入口地址。
INT00003hT0000BhINT10013hT1001Bh串口0023h
第二部分C51程序设计
1、C51的指令规则;C51编程语句及规则;
2、C51表达式和运算符;
3、顺序程序、分支程序及循环程序设计;
4、C51的函数;
5、中断函数。
例:
1.程序的基本结构有 顺序、分支、循环结构 。
2.C51的存储器模式有 SMALL、COMPACT、LARGE。
3.C51中int型变量的长度为 16,其值域为-32768~32767。
4.C51中关键字sfr的作用 定义51单片机内部一个字节的特殊功能寄存器 ,sbit的作用定义51单片机片内可位寻址位。
5.函数定义由 函数体 和函数头两部分组成。
6.C51的表达式由 运算符运算对象组成。
7.C51表达式语句由表达式和 分号组成。
8.C51中“!
”运算符的作用是逻辑非;运算符”~”的作用是按位取反。
9.若函数无返回值,用void关键字指定。
10.若局部变量未初始化,其初值为不确定。
11.C51中,若定义8位有符号类型的变量,可定义为char型变量,其值域为-127~128;unsignedint型变量的长度为16,其值域为0~65535。
二、程序设计题
1、电路如图所示,要求编程实现一个流水灯。
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
voiddelay(ucharz)
{
ucharx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidmain()
{
uchari;
P2=0xfe;
while
(1)
{
for(i=0;i<8;i++)
{
delay(100);
P2=_crol_(P2,1);
}
}
}
2、设全自动洗衣机控制面板上有8个按键,8个指示灯。
按下一个按键,对应的指示灯点亮。
第三部分中断系统
1、中断的定义;
2、中断源及其优先级;
3、中断过程及中断应用编程。
例:
一、填空题
1.MCS-51单片机有 5 个中断源。
上电复位时,同级中断的自然优先级从高至低依次为 INT0、T0、INT1、T1、串口 ,若IP=00010100B,优先级别最高者为 INT1 、最低者为 T1 。
2.外部中断请求有 电平 触发和 脉冲 触发两种触发方式。
3.MCS-51单片机5个中断源的中断入口地址为:
0003H000BHOO13H
OO1BH0023H 。
4.当定时器/计数器1申请中断时,TF1为1,当中断响应后,TF1为0。
当串口完成一帧字符接收时,RI为1,当中断响应后,RI为1,需
要软件清零。
5.MCS-51单片机定时器T0的中断类型号是1。
二、简答题
1.MCS-51单片机有几个中断源?
各中断标志是如何产生的?
如何撤销的?
各中断源的中断矢量分别是什么?
MCS-51单片机有5个中断源。
外中断0/1电平触发方式,在对应引脚上检测到低电平将中断标志位IE0/1置1向CPU申请中断,边沿触发方式,在对应引脚上检测到负跳变将中断标志位IE0/1置1向CPU申请中断;定时器/计数器0/1在计数溢出时将TF0/1置1向CPU申请中断;串行口发送1帧结束将TI置1或接收1帧数据将RI置1向CPU申请中断。
对于T0/T1和边沿触发的INT0/INT1中断标志在进入中断服务程序后自动撤销;对于电平触发的INT0/INT1需在中断申请引脚处加硬件撤销电路;对于串行口中断标志TI/RI需在进入中断服务程序后用软件CLRRI或CLRTI,撤销。
它们的中断矢量分别是:
0003H、000BH、0013H、001BH、0023H。
2.简述MCS-51中断过程。
中断过程分中断申请、中断响应、中断处理、中断返回4个阶段。
中断请求:
各中断源根据自身特点施加合适的信号,将对应的中断标志位置1向CPU申请中断。
中断响应:
CPU对中断请求进行判断,形成中断矢量,转入响应的中断服务程序。
中断处理:
根据各中断源要求执行响应中断服务程序。
中断返回:
中断服务程序结束后,返回主程序。
3.MCS-51单片机有哪几个中断源?
它们的中断类型号分别是什么?
自然优先级由高到低依次是什么?
有5个中断源:
/INT0外部中断0,中断类型号为0;定时/计数器0中断,中断类型号为1;/INT1外部中断1,中断类型号为2;定时/计数器1中断,中断类型号为3;串行中断,中断类型号为4。
自然优先级由高到低依次是:
/INT0外部中断0、定时/计数器0中断、/INT1外部中断1、定时/计数器1中断、串行中断。
三、程序设计题
1、没有外部中断时,七段数码管显示8,当有外部中断时,七段数码管上显示的8连续闪烁8次,然后继续显示8。
要求编写程序实现上述功能。
#include
#defineucharunsignedchar
#defineuintunsignedint
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidmain()
{
EA=1;
EX0=1;
IT0=0;
while
(1)
{
P1=0x7f;
}
}
voidintt()interrupt0
{
uchari;
P1=0;
for(i=0;i<16;i++)
{
delay(300);
P1=~P1;
}
}
2、没有中断发生时,发光二极管闪烁,有中断发生时,发光二极管变为流水灯。
要求编写程序实现上述功能。
第四部分定时/计数器
1.定时/计数器的组成;
2.工作方式
3.应用编程。
例:
一、填空
1.MCS-5