当前位置:文档之家› 单片机复习资料汇编

单片机复习资料汇编

单片机复习资料汇编
单片机复习资料汇编

单片机复习资料

// 题型选择20*2 判断 10*1 填空 5*2 简答 4*5 编程 2*10

//本资料答案一般来自于第一版老师讲课用的教材,与第二版教材及课件略有不符之处,请自行处理,资料仅包含简答和编程,其它部分详见试卷即可。

//程序题说明:新加的为上届考题答案,不需要者自行处理。

1.51系列单片机内部有哪些功能部件?

1个8位CPU

1个片内振荡器及时钟电路

4KB ROM程序存储器

128B RAM数据存储器

可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路

32条可编程的I/O线(4个8位并行I/O接口)

2个16位的定时/计数器

1个可编程全双工串行接口

2个优先级嵌套中断结构的5个中断源。

2.51系列单片机的存储器可以划分为几个空间?各自的地址范围和容量是多少?在使用上有什么不同?

从物理空间看,四个存储器地址空间:

片内数据存储器(00H-7FH 128字节)、片外数据存储器(0000H-FFFFH 64k)

片内程序存储器(0000H-0FFFH 4K)、片外程序存储器(0000H-FFFFH 64K)从逻辑上看,MCS-51有三个存储器空间:

片内数据存储器、片外数据存储器

片内、片外统一编址的程序存储器

不同:程序存储器用来存放编制好的始终保留的固定程序和表格常数;外部数据存储器存放随机读写的数据、外部I/O口地址影像区;内部数据存储器存放随机读写的数据、通用寄存器区、堆栈区、运算操作数存放区、指令的操作数只能在此地址空间或特殊功能寄存器地址空间。

3.51系列单片机片内数据存储器分为哪几个性质和用途不同的区域?

(1)地址 0~1FH的前32个单元称为寄存器区

用途:①作通用寄存器R0~R7。② R0与R1可作间址寄存器使用。

(2)20H~2FH为位地址区

共16个单元,每单元有八个位,每位有一个位地址,共128位,位地址范围为00H~7FH,该区既可位寻址,又可字节寻址。

(3)除选中的寄存组以外的存储器均可以作为通用RAM区。

(4)堆栈区

8XX51单片机的堆栈设在内部RAM区,深度不大于128字节,初始化时SP指向07H。(5)特殊功能寄存器SFR

4.51系列单片机的4个I/O端口在结构上有什么不同?使用时应注意什么?

PO口的输出驱动电路由上拉场效应管T1和驱动场效应T2组成,控制电路包括一个与门,一个非门和一个模拟开关MUX。 P1口作通用I/O口使用,电路结构中输出驱动部分接有上拉电阻。当作输入时,同PO一样,要先对该口写“1”。P2口的位结构比P1多了一个转换控制部分,当P2口作通用I/O口时,多路开关MUX倒向左;当扩展片外存贮器时,MUX开关打向右,P2口作高八位地址线输出高八位地址信号。P3口 P3口为双功能I/O口,内部结构中增加了第二输入/输出功能。

注意事项:

1.如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口

均可作I/O口用。

2.四个口在作输入口使用时,均应先对其写“1”,以避免误读。

3.P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必。

4.P2可某几根线作地址使用时,剩下的线不能作I/O口线使用。

5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。

5.51系列单片机的4个I/O端口的作用是什么?

PO口—1.作为输入/输出口。

2.作为地址/数据总线 ,接外围芯片时PO口分时输出低 8 位地址与数据信号。

P1口—1.作为输入/输出口。

2.在增强型(52系列)和ISP型(在系统编程型)中有如下功能:

P1.0 T2引脚,定时/计数器2外部计数脉冲输入

P1.1 T2EX引脚,定时/计数器2触发和方向控制

P1.5 MOSI引脚,在系统编程数据输入

P1.6 MISO引脚,在系统编程数据输出

P1.7 SCK引脚,在系统编程时钟输入

P2口— 1.作为输入/输出口。

2.作为高8位地址总线。

P3口—P3口为双功能

1.作第一功能使用时,其功能为输入/输出口。

2.作第二功能使用时,每一位功能定义如下表所示:

P3.0RXD (串行输入线)

P3.1TXD (串行输出线)

P3.2INT0(外部中断0输入线)

P3.3INT1 (外部中断1输入线)

P3.4T0 (定时器0外部计数脉冲输入)

P3.5T1 (定时器1外部计数脉冲输入)

P3.6WR (外部数据存储器写选通信号输入)

P3.7 RD (外部数据存储器读选通信号输入)

6.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义?中断服务程序入口地址分别是多少?

共5个中断源,3个片内,2个片外

符号名称中断引起原因中断服务程序入口INT0 外部中断0 P3.2引脚的低电平或下降沿信号0003H

INT1 外部中断1 P3.3引脚的低电平或下降沿信号0013H

T0 定时器0中断定时计数器0计数回零溢出000BH

T1 定时器1中断定时计数器1计数回零溢出001BH

TI/RI 串行口中断串行通信完成一帧数据发送或接收引起中断0023H

五个中断源的优先级别由IP寄存器管理,相应位置1,则该中断源优先级别高,置0的优先级别低.当某几个中断源在IP寄存器相应位同为1或同为零时,由内部查询确定优先级,查询的顺序是:INT0->TO->INT1->T1->串行口

7.51系列单片机具有几个中断源,各中断标志是如何产生的,如何清除?

共5个中断源,IE寄存器的各位对应相应的中断源,如果允许该中断源中断则该位置1,禁止中断则该位0 。中断请求标志及外部中断方式选择寄存器TCON中:IT0和IT1为外中断INT0 和INT1中断触发方式选择,若选下降沿触发则相应位置1;若选低电平触发,IT相应位置0。某中断源有中断请求,该中断标志置1,无中断请求,该中断标志置0。串行口中断标志在SCON的RI和TI位。CPU响应中断后,应撤除该中断请求标志,对定时计数器T0、T1的溢出中断,CPU响应中断后,硬件自动清除中断请求标志TF0 TF1。对边沿触发的外部中断INT1和INT0,CPU响应中断后硬件自动清除中断请求标志IE0和IE1。对于串行口中断,CPU响应中断后,必须用软件清除,对电平触发的外部中断,CPU 在响应中断时也不会自动清除中断标志,因此,在CPU响应中断后应立即撤除INT1或INT0的低电平信号。

8.51系列单片机的串行口有哪几种工作发?各有什么特点?

1.方式0

方式0的数据格式为8位,低位在前,高位在后

RXD为串行数据的发送端或接收端, TXD输出频率为 fosc/12的时钟脉冲。

波特率固定为fosc/12 (fosc为单片机晶振频率)

2.方式1

为10位异步通信方式,几每帧数据由1个起始位“0”.八个数据位和1个停止位“1”共10位构成.其中起始位和停止位在发送时是自动插入的.

以TXD为串行数据的发送端,T1提供位时钟,RXD为数据的接收端,由T1提供移位时钟,是波特率可变方式

波特率=(2SMOD/32)×(TI的溢出率)=(2SMOD/32)×(fosc/12(256-x) )

3. 方式2

11位异步发送/接收方式,即每帧数据由有一个起始位“0”,9个数据位和1个停止位“1”组成.发送时九个数据位,由SCON寄存器的TB8位提供,接收到的第九位数据存放在SCON寄存器的RB8位. 第九位数据可作为检验位,也可用于多机通信中识别传送的是地址还是数据的特征位。

波特率固定为(2SMOD/64)×fosc.

4. 方式3

数据格式同方式3,所不同的是波特率可变,计算方式同方式1。

9.51系列单片机中与串行口相关的特殊功能寄存器有哪些?寄存器各位如何定义?

串行口的控制寄存器SCON

SM0 SM1: 方式选择SM2:多机控制 REN:串行接收允许/ 禁止

TB8: 欲发的第九位RB8:收到的第九位TI:发送中断有/无 RI:接收中断有/无

电源控制寄存器PCON

SMOD : 波特率加倍位。在计算串行方式 1、 2、 3的波特率时, SMOD= 0—不加倍;

SMOD= 1—加倍

10.51系列单片机的定时/计数器有哪几种工作方式?各有什么特点?

1.方式 0

★定时器(T0或T1)工作于13位定时、计数方式。

用于计数方式时最大计数值为 213 =8192个脉冲

用于定时工作时,定时时间为:t=(213一T0初值) ×时钟周期×12

★在这种模式下,16寄存器(THX和TLX)只用13位,其中THX占高8位。其中TLX占低5位, TLX的高3位末用。

★当TLX的低5位溢出时向THX进位,而THX溢出时硬件置位TF0,并申请中断。

★定时、计数溢出否可查询TF0是否置位,如果开中断则产生溢出中断。

2 .方式1

当TMOD中M1M0=01时,定时计数器工作在方式1。

★该模式是一个16位定时/计数方式。

寄存器TH0和TL0是以全16位参与操作,

计数方式时最大计数 216=65536(个外部脉冲)

用于定时工作方式时,定时时间为:

t=(216一T0初值) ×时钟周期×12

★ 16寄存器(THX和TLX) 中THX提供高8位、TLX提供低8位计数初值

3. 方式2

当TMOD中M1M0=10时,定时器工作在方式2。

方式2是8位的可自动重装载的定时计数方式。

★16位的计数器被拆成两个8位,其中TL0用作8位计数器, TH0用以保持计数初值。

当TL0计数溢出,置位TF0,TH0中的初值自动装入TL0,继续计数,循环重复计数。

★用于计数工作方式时,最大计数值为:

28=256(个外部脉冲)。

用于定时工作方式时,其定时时间为;

t=(28—TH0初值)×振荡周期×12

★这种工作方式可省去用户重装常数的程序,并可产生精确的定时时间,特别适用作串行口波待率发生器。

4.方式3

当TMOD中M1M0=11时,定时器工作在方式3。

★若将T0设置为模式3,TL0和TH0被分成为两个互相独立的8位计数器TH0和 TL0 。

★ TL0可工作为定时方式或计数方式。占用原T0的各控制位、引脚和中断源。即C/T、GATE、TR0、TF0和T0 (P3.4)引脚、INT0 (P3.2)引脚。

TH0只可用作定时功能,占用定时器T1的控制位TR1和T1的中断标志位TF1,其启动和关闭仅受TRl的控制。

★定时器T1无模式 3, 可工作于方式0、1、2,但不能使用中断方式。

★只有将T1用做串行口的波特率发生器时,T0才工作在方式3,以便增加一个定时器。11.51系列单片机中与定时器相关的特殊功能寄存器有哪些?寄存器各位如何定义?

GATE=0,TRx=1时即可启动定时器工作;

GATE=1,除TRx=1 外,还需INTx=1才可启动定时器工作。

★ C/T:定时器/计数器选择位

C/T=1,为计数器方式;

C/T=0,为定时器方式。

★ M1 M0 工作模式选择位

M1M0=00 工作方式0(13位方式)。

M1M0=01 工作方式1(16位方式)。

M1M0=10 工作方式2(8位自动再装入方式)。

M1M0=11 工作方式3(T0为2个8位方式)。

★TF1:T1溢出中断请求标志。

TF1=1,T1有溢出中断请求。

TF1=0,T1无溢出中断请求。

★TR1:T1运行控制位。

TR1=1,启动T1工作。

TR1=0,停止T1工作。

★TF0:T0溢出中断请求标志。

TF0=1,T0有溢出中断请求。

TF0=0,T0无溢出中断请求。

★TR0:T0运行控制位。

TR0=1,启动T0工作。

TR0=0,停止T0工作。

12.51系列单片机中与中断相关的特殊功能寄存器有哪些?寄存器各位如何定义?

中断控制寄存器IE

1.键盘与显示

1.1在下图中8XX51接有五个共阴极数码管的动态显示接口电路,开关打向位置“1”

时,显示“12345”字样,当开关打向“2”时,显示"HELLO"字样,C语言编程程序清单如下。

#include

#define uint unsigned int

#deefine uchar unsigned char

sbitP17=P1^7;

main ( ){

uchar code tab1[5]={0x86,0xdb,0xcf,0xe6,0xed} ;/*“1~5”的字形码,因P1.7接的开关,最高位送的“1”*/

uchar code tab2[5]={0xf8,0xf9,0xb8,0xb8,0x,bf};/*“HELLO”的段码“1”*/ uchar i;

unit j;

while(1)

{

p3=0x011

for(i=0;i++)

{

if(p17==1)P1=tab1[i];

elseP1=tab2[i];

相关主题
文本预览
相关文档 最新文档