单片机考试复习.docx
《单片机考试复习.docx》由会员分享,可在线阅读,更多相关《单片机考试复习.docx(21页珍藏版)》请在冰豆网上搜索。
单片机考试复习
8051是51系统单片机中的典型产品,8051单片机主要参数及功能如下:
(1)8位CPU2)4KB程序存储器(ROM)
(3)128B的数据存储器(RAM)(4)32条I/O口线
(5)111条指令,大部分为单字节指令
(6)21个专用寄存器
(7)2个可编程定时/计数器
(8)5个中断源,2个优先级
(9)1个全双工串行通信口
(10)外部数据存储器寻址空间为64KB
(11)外部程序存储器寻址空间为64KB
(12)逻辑操作位寻址功能
(13)多种封装形式
(14)单一+5V电源供电
第一章
1.951单片机P0~P3口的结构有什么不同?
P3口有哪些第二功能?
P0口是一个8位漏极开路型双向I/O端口。
P1口是一个内部带上拉电阻的8位准双向I/O端口。
P2口是一个内部带上拉电阻的8位准双向I/O端口
P3口是一个内部带上拉电阻的8位多功能双向I/O端口。
P0口内部包含一个输出锁存器、一个输出驱动电路、一个输出控制电路、多路开关和两个三态缓冲器,其中输出驱动电路由一对场效应管(FET)组成,整个端口的工作状态受控于输出控制电路。
P0口既可以作为I/O用,也可以作为8位地址/数据线用。
P1口只能作为I/O。
P2口除了作为普通I/O口之外,在扩展外围设备时,要作为高8位地址线用。
P3口除了作为普通I/O口之外,由于其每个引脚都有第二功能,所以其还可以作为第二功能用,而此时它就不能作为8位I/O口用。
口线
第二功能
信号名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
INT0
外部中断0申请
P3.3
INT1
外部中断1申请
P3.4
T0
定时/计数器0计数输入
P3.5
T1
定时/计数器1计数输入
P3.6
WR
外部RAM写选通
P3.7
RD
外部RAM读选通
1.1051单片机定时/计数器的定时方式和计数方式的区别是什么?
定时方式:
是实现对单片机内部的时钟脉冲或分频后的脉冲进行计数。
计数方式:
实现对外部脉冲的计数。
1.1151单片机中断系统的组成有哪些?
它由5个中断请求源INT0、T0、INT1、T1、TI/RI;中断标志寄存器(TCON);中断允许寄存器(IE);全局中断允许;中断优先级寄存器(IP)和查询硬件等组成。
通过对各种寄存器的读写来控制单片机的中断类型、中断开/关和中断源的优先级。
答:
80C51中断系统有5个中断源:
INT0:
外部中断0请求,低电平有效。
通过P3.2引脚输入。
INT1:
外部中断1请求,低电平有效。
通过P3.3引脚输入。
T0:
定时器/计数器0溢出中断请求。
T1:
定时器/计数器1溢出中断请求。
TXD/RXD:
串行口中断请求。
当串行口完成一帧数据的发送或接收时,便请求中断。
1.1251单片机有哪几种复位方式?
它们的工作过程是什么?
上电复位与手动复位。
RST引脚是复位信号输入端复位信号为高电平有效,有效持续时间在24个振荡周期以上才能完成复位操作,若使用6MH晶振,则持续4微秒以上才能完成复位操作,在通电瞬间,由于RC的充电过程,在RST端出现一定宽度的正脉冲,只要该脉冲保持十毫秒以上,就能使单片机自动复位!
在6MHz时钟时,通常c取22uF,R1取200欧姆,R2取1KΩ,这样就可能,就能可靠的上电复位和手动复位
1.1351单片机的时钟周期、机器周期、指令周期是如何定义的?
当振荡频为6MHz时,下个机器周期是多少微秒?
时钟周期:
即振荡周期指单片机提供定时信号的振荡源的周期或外部输入时钟的周期,分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑运算,在P2节拍完成内部寄存器之间的传递操作。
机器周期:
一个机器周期由六个状态组成,如果把一条指令分为几个基本操作,则将完成一个基本操作所需的时间称作机器周期,单片机的单指令执行时间为一个机器周期。
指令周期:
执行有一条指令所占有的全部时间,通常为1~4个机器周期。
1/6MHz=1us
1.14单片机最小系统的五点要求?
电源:
VCCpin40GNDpin205V±10%
复位电路:
RST引脚出现24个时钟周期以上的高电平,系统即初始复位(手动可选,上电必选)
时钟电路:
XTAL,18、19管脚,需接上22pF的对地稳频电容。
PIN31(EA/VPP)拉高:
内外部选通信号线
P0上拉电阻:
必须外接电阻(P0的结构所决定,漏极开路型电路)
1.15结合模数混合框图,介绍一种电子产品的组成?
压力传感器—采集数据——模拟量处理电路——模拟转换电路——单片机——数字输出(led显示屏)
第二章
2.1简述创建二个新Keilc51工程的步骤。
答:
界面菜单Project——选择创建一个新项目——键入项目名称保存项目到独立文件夹——单击保存——弹出“SelectDeviceforTarget‘Target1’”对话框——选择Atmel(AT89C52)——新建源程序文件并保存为.c文件——点击项目工作区“Target1”左边加号——右击文件夹“SourceGroup1”——选中“AddFilestoGroup‘SourceGroup1’”——选择已创建的源程序文件——“Add”——“Close”——“Target”项目环境选项卡——Xtal(MHz)选项填“11.0592”(OK)——BuildTarget——编译成功后进行调试——选中“Optionsfor‘Target1’”对话框的“Output”页中的“CreateHEXFile”复选框
2.2生成.HEX文件的目的是什么,在Keil51C中如何生成,HEX?
为了STC程序下载软件可以识别,单片机识别十六进制。
Tagart--Output----选择创建HEX复选框。
2.3断点的作用是什么,如何在KeilC51中设置断点?
试窗口观察。
断点的作用是可以让程序运行到设置的断点处,然后查看各种变量和寄存器中的数值。
方法1:
用鼠标双击。
在需要设置的行的最前面,双击鼠标左键,即可设置或清除断点。
方法2:
用命令或命令按钮。
先将光标移到需要设置的行,然后点击Debug菜单下的Insert/RemoveBreakpoint命令或工具栏中的相应按钮,即可设置或清除断点。
2.6使用P2接口连接8个LED灯,设计一个流水灯程序完成一次点亮、间隔点
亮、1亮等功能,并练习断点的设置和进行调试。
第四章
4.2 简述I/0接口的基本作用。
1.实现与不同外设的速度匹配。
2.改变数据的传输方式。
3.改变信号的性质与电平。
4.4简述I/0口的4种传送方式。
1.同步传输
2.异步传输
3.中断传输
4.DMA传输
4.7Po口作I/0口使用时,为什么要在外部接上拉电阻?
当用作通用的I/O时,对应的控制信号为0,MUX打向下面,接通锁存器的Q端,与门输出为0,上方的场效应管截止,形成P0输出电路为漏极开路输出。
4.9描述P3口的第二功能有哪些,分别做什么用?
口线
第二功能
信号名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
INT0
外部中断0申请
P3.3
INT1
外部中断1申请
P3.4
T0
定时/计数器0计数输入
P3.5
T1
定时/计数器1计数输入
P3.6
WR
外部RAM写选通
P3.7
RD
外部RAM读选通
第五章
5-189C51单片机有几个中断源?
这些中断标志位是如何产生的?
又是如何清“0”的?
答:
5个
外部中断0:
IE0,开放中断后,当INT0引脚有下降沿或者低电平时产生,响应中断后自然清0
外部中断1:
IE1开放中断后,当INT1引脚有下降沿或者低电平时产生,响应中断后自然清0
外部中断1:
IE1开放中断后,当INT1引脚有下降沿或者低电平时产生,响应中断后自然清0
定时器0:
TF0
定时器1:
TF1开放中断后,当定时或计数时间到产生,响应中断后自然清0.另外如果不开放中断,采用软件判断时,需要软件清0.
串口:
RI/TI,通信开始后当接收完或者发送完一帧后产生,响应中断后需要软件清0
5.2简述单片机中断处理的过程。
答:
当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理(中断发生),于是CPU暂时中止当前的工作(中断响应),转去处理所发生的事件(中断服务),处理完该事件以后,再回到原来被中止的地方,继续处理原来的工作(中断返回)这样的过程称为中断。
中断响应的过程:
1.停止主程序运行
2.对于外部的中断源,单片机在每个机器周期的S5P2时刻对中断的中断的请求引脚进行采样,如果有有效的中断请求信号来,就置位IE0,IE1。
对于内部中断,根据满足条件的中断源请求反映到相关标志位中即可。
3.保护断点。
4.执行中断处理程序。
5.中断返回
5.5简述IP.IE.SCON和TCON在中断系统中的作用。
中断允许寄存器IE(A8H):
IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。
IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。
中断优先寄存器IP(B8H):
IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H~BFH,IP用来锁存各中断源优先级的控制位。
SCON寄存器用来控制串行口的工作方式和状态,可以位寻址,在复位时所有位被清零,字节地址98H。
TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。
TCON在特殊功能寄存器中,字节地址为88H,由于有位地址,十分便于进行位操作。
当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。
由于TCON是可以位寻址的,因而如果只清溢出或启动定时器工作,可以用位操作命令。
5.6简述中断初始化应包括的几个方面。
1.对于外部中断信号请求方式,设置寄存器TCON的IT0、IT1项,如果是定时器/计数器或串口中断,对于定时器/计数器中断设置工作方式(定时或计数)。
2.开放中断,设置IE寄存器,置位相应中断源的中断允许标志及EA使能相关标志。
3.设置IP寄存器,设定所用的中断源的中断优先级。
5.7下列说法错误的是(ABC)
A.各中断发出的中断请求信号都会标记在MCS-51系统的IE寄存器
B.各中断发出的中断请求信号都会标记在MCS-51系统的TMOD寄存器¢
C.各中断发出的中断请求信号都会标记在MCS-51系统的IP寄存器中。
D.各中断发出的中断请求信号都会标记在MCS-51系统的TCON与SCC
5.8下列说法正确的是(ACD)
A.同一级别的中断请求按时间的先后顺序响应。
B.同一时间、同一级别的多中断请求将形成阻塞,系统无法响应
C.低优先级中断请求不能中断高优先级中断请求。
D.同级中断不能嵌套。
5.10请写出INT0下降沿触发方式的中断初始化程序?
EA=1;
IT0=1;
EX0=1;
5.11当中断优先级寄存器的内容为09H,其含义是什么?
09H代表00001001即PT1=1PX1=0PT0=0PX0=1,即中断的优先级顺序为,外部中断0>定时器1>定时器0>外部中断1
第六章
6.1c51单片机有几个定时/计数器,C52单片机有几个定时计数器?
2个定时器0与定时1,三个,多一个定时器2
6.2简述定时/计数器的工作原理。
'
定时器/计数器有两种用途:
定时器和计数器。
但一个定时器/计数器(T1或T0)不能既做定时器,又做计数器。
其实定时/计数器的核心是一个加1计数器,其脉冲来源有两个:
一个是由系统的时钟晶振器输出脉冲经12分频后送来;另一个是由T0或T1引脚(P3.4或P3.5)输入的外部脉冲源提供。
前者为定时器,后者为计数器,每来一个脉冲就使加1计数器加1,当计数器加到全1时,再来一个脉冲就使加1计数器回到0值,且使TCON寄存器TF0或TF1=1,向CPU发出中断请求,定时器模式表示定时时间到,计数器模式表示计数值已满。
总之,定时器=精准的时钟源+计数器。
63TCON和TMOD的各个位的作用是什么,它'可以按位寻址吗?
TCON字节地址为88H,用于控制定时/计数器的启、停,标志定时器溢出和中断情况。
可以按位寻址,其结构如表
名称
说明
功能
TF1
T1溢出标志位
当T1计数满溢出时,硬件将TF1置1,并申请中断。
进入服务程序后,由硬件将TF1自动清0。
需要注意的是,如果使用定时器的中断,那么该位不需人去操作,但是如果使用软件查询方式的话,当查询到该位置1后,须用软件清0。
TR1
T1运行控制位
TR1=1:
启动定时器。
TR1=0:
关闭定时器,
由软件控制。
TF0
T0溢出标志位
功能同TF1,但是TF0的工作对象是T0
TR0
T0运行控制位
功能同TR1,但是TR0的工作对象是T0
IE1
外部中断1请求标志位
当IT1=0时,为低电平触发方式,每个机器周期的S5P2采样INT1引脚,若INT1引脚为低电平,则IE1置1,否则IE1清零。
当IT1=1时,为下降沿触发方式,当第一个机器周期采样到INT1为低电平时,则IE1置1。
IE1=1表示外部中断1正在向CPU请求中断。
但CPU响应中断该位由硬件清零。
IT1
外部中断1触发方式选择位
IT1=0,低电平触发方式,INT1引脚上低电平有效
IT1=1,下降沿触发方式,INT1引脚上的电平由高到低的负跳变有效。
IE0
外部中断0请求标志位
功能同IE1,但是IE0的工作对象是INT0
IT0
外部中断0触发方式选择位
功能同IT1,但是IT0的工作对象是INT0
TMOD字节地址为89H,用来确定定时器的工作方式及功能选择。
不能按位寻址。
其结构如表
名称
含义
功能
M1、M0
工作方式
选择位
M1M0=00:
方式0,13位定时/计数器,最大计数8192次。
M1M0=01:
方式1,16位定时/计数器,最大计数65536次。
M1M0=10:
方式2,8位自动重装定时/计数器,最大计数256次。
M1M0=11;方式3,把T0分为两个8位计数器,最大计数256。
定时器工作方式控制位
=0:
定时工作方式,脉冲来自单片机的内部。
=1:
计数工作方式,脉冲由外部提供。
GATE
计数器工作方式控制位
当GATE=0时,计数器不受外部控制;
当GATE=1时,计数器T0和T1分别受P3.2和P3.3引脚上的电平控制。
当P3.2(或P3.3)引脚为高电平时,置TR0(或TR1)为1,计数器T0(或T1)开始计数;P3.2(或P3.3)引脚为低电平时,计数器T0(或T1)停止计数。
6.4判断下列的说法是否正确。
A特殊功能寄存器SCON与定时/计数器的控制无关。
对
B、特殊功能寄存器TCON与定时/计数器的控制无关。
错
C.特殊功能寄存器IE与定时/计数器的控制无关。
错
D.特殊功能寄存器TMOD与定时/计数器的控制无关。
错
6.5定时/计数器的工作方式有几种,各有什么不同?
答:
方式0:
是13位的定时器/计数器,寄存器TLx存低5位,THx存高8位。
方式1:
是16位的定时器/计数器;
方式2:
把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器;
方式3:
把T0分为两个8位计数器。
8051定时器/计数器有0,1,2,3四种工作模式。
模式0为13位1定时器/计数
器,模式1为16位1定时器/计数器,模式2为自动赋初值的8位定时器/计数器,模式3可以增加一个8位定时器(T1没有模式3)。
6.6简述定时/计数器的初始化步骤?
1.对TMOD赋值,以确定T0和T1的工作方式。
2.计算初值,并将其写入TH0、TL0或TH1、TL1。
3.使用中断方式时,则对IE赋值,开放中断。
4.使TR0或TR1置位,启动定时/计数器的定时或计数。
6.7TH.x与TL.x是普通寄存器还是计数器,其内容可以随时用指令更改吗,更改后的新值是立即刷新还是等当前计数器计满·后才刷新?
是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改,更改后的新值等当前的计数器计满后更新。
6.13编写程序,要求使用T0,采用方式2定时,在P1.0口输出周期为400us,占空比为10:
1的矩形脉冲。
答案:
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcount=0;
sbitled=P1^0;
voidTimer0()interrupt1
{
TH0=256-40;
TL0=256-40;
count++;
if(count<=10)
{
if(count==10)count=0;
if(count<=1)
led=0;
else
led=1;
}
}
voidmain()
{
TMOD=0x02;
TL0=256-40;
TH0=256-40;
ET0=1;
EA=1;
TR0=1;
while
(1);
}
第七章
7.2什么是异步传输,什么是同步传输,各有什么优缺点?
异步传输,就是指通信双方事先约好需要传输数据的格式、传输的速度,通过一条线路实现从一方到达另一方的数据传送,如果需要数据的双向传输,可以再增加一条通信线路。
异步传输的优缺点:
传输方式较为简单,应用广泛,传输效率低
同步传输方式,是指通信双方同时使用两条通信线,其中一条用于产生时钟,并且要求发送和接收的双方必须保持完全同步(一般情况下,时钟信号由发送端提供),另一条用于传送数据,如果需要同时双向数据传输,则需要再添加两条通信线,但是MSC-51系列单片机不支持同时的双向数据同步传输,所以只能进行分时复用。
同步传输的优缺点,传输速率高,硬件电路复杂
7.3简述PCON和SCON与串口通信的关系。
SCON寄存器控制串行通信的通信方式,启动,标志位等。
PCON寄存器的最高位SMOD可以设置通行的波特率倍不倍增,SMOD=0,PCON=0x00,波特率不倍增,SMOD=1,波特率倍增。
SCON寄存器:
//7.4简述多机通信与SCON寄存器SM232位的关系。
6.7.简述多机通信原理。
答案:
当主机选中与其通信的从机后,只有该从机能够与主机通信,其他从机不能与主机
进行数据交换,而只能准备接收主机发来的地址帧。
上述要求是通过SCON寄存器中的
SM2和TB8来实现的。
当主机发送地址帧时使TB8=1,发送数据帧时使TB8=0,TB8是
发送的一帧数据的第9位,从机接收后将第9位数据作为RB8,这样就知道主机发来的这一帧数据是地址还是数据。
另外,当一台从机的SM2=0时,可以接收地址帧或数据帧,
而当SM2=1时只能接收地址帧,这就能实现主机与所选从机之间的单独通信。
7.6判断下列说法是否正确:
C错
A.串口通信的第9位数据位的功能可以由用户自定义。
B.发送数据的第9位数据位的内容在SCON寄存器的TB8位预先准备好。
C.串行口通信发送时,指令把TB8位的状态送人SBUF。
D.串行通信接收的第九位数据送SCON寄存器的RB8位保存。
E.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出设定。
7.7MCS-51单片机的串口工作方式有几种,它们的波特率怎么设定?
方式0:
同步移位寄存器输入/输出方式,常用于扩展I/O口。
波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD位的影响。
方式1:
用于串行发送或接收,为10位通用异步接口。
TXD与RXD分别用于发送与接收数据。
收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。
波特率由定时器T1的溢出率与SMOD值同时决定。
方式2:
用于串行发送或接收,为11位通用异步接口。
TXD与RXD分别用于发送与接收数据。
收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位,共11位。
波特率取决于PCON中SMOD位的值:
当SMOD=0时,波特率为的1/64;当SMOD=1时,波特率为的1/32。
方式3:
用于串行发送或接收,为11位通用异步接口。
TXD与RXD分别用于发送与接收数据。
帧格式与方式2相同,波特率与方式1相同。
7.8为什么定时/计数器用作串口通信波特率发生器时要采用方式2?
若已知时钟频率、通信波特率,如何计算其初值?
因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了执行重装参数的指令所带来的时间误差。
设定时器T1方式2的初值为X,计算初值X可采用如下公式:
波特率=((2^SMOD)xFosc)/(32x12x(256-N)
7.9简述串口接收和发送数据的过程。
串行接口的接收和发送是对同一个地址(99H)两个物理控制的特殊寄存器SBUF进行读与写得,当向SBUF发写命令时,即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便发送中断标志T1=1,在满足串行口接收中断标志位R1=0的条件下,置允许接收位REN=1就会接收一帧数据进行移位寄存器,并装载和接收到SBUF中,同时使R1=1当发读SBUF命令时便由接收缓冲器SBUF的信息通过内部总线送到CPU。
7.11RS232串行接口能否与单片机直接相连,为什么?
不能:
RS232采用的负逻辑电平,即逻辑0代表,+3~+15,逻辑电平1代表-3~-15,而单片机CMOS采用正逻辑电平,在RS232与单片机相连时,必须加上一个逻辑电平转换电路,将单片机的电平转为逻辑1代表-10,逻辑0代表—10。
RS-232规定的逻辑电平与(51)单片机的逻辑电平不同(如:
RS-232的逻辑“1”是以-3~-15V来表示的,而51单片机的逻辑“1”是以+5V来表示的)。
因此,单片机系统与电脑的RS-232接口通信,必须把单片机的信号电平(TTL电平)转换成计算机的RS-232C电平(或者反过来把计算机的RS-232C电平转换成单片机的TTL电平),才能成功通讯。
第八章
8.3为什么要消除按键的机械抖动?
消除机械抖动的方法有哪几种,原理是什么?
通常的按键所用开关为机械弹性开关。
由于机械触电的弹性作用,按键在闭合及断开的瞬间均伴随有一连串的抖动。
键抖动会引起一次按键被误读多次。
为了确保CPU对键的一次闭合仅作一次处理,必须去除抖动。
消除抖动的方法有硬件和软件两种方法。
硬件方法常用RS触发器电路。
软件方法是当检测出键闭合后执行一个10ms~20ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。
8.4的抖动时间为多少?
5~10ms
8.5矩阵键盘
第九章
9.37段数码管与8段数码管有什么区别,数码管的编译方式有几种?
7段数码管比8段数码管