模块二MCS51单片机的结构基础知识.docx

上传人:b****5 文档编号:11980902 上传时间:2023-04-16 格式:DOCX 页数:61 大小:1.12MB
下载 相关 举报
模块二MCS51单片机的结构基础知识.docx_第1页
第1页 / 共61页
模块二MCS51单片机的结构基础知识.docx_第2页
第2页 / 共61页
模块二MCS51单片机的结构基础知识.docx_第3页
第3页 / 共61页
模块二MCS51单片机的结构基础知识.docx_第4页
第4页 / 共61页
模块二MCS51单片机的结构基础知识.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

模块二MCS51单片机的结构基础知识.docx

《模块二MCS51单片机的结构基础知识.docx》由会员分享,可在线阅读,更多相关《模块二MCS51单片机的结构基础知识.docx(61页珍藏版)》请在冰豆网上搜索。

模块二MCS51单片机的结构基础知识.docx

模块二MCS51单片机的结构基础知识

模块二MCS-51单片机的结构基础知识

知识目标:

1.熟悉MCS-51单片机基本的结构;

2.掌握MCS-51单片机的引脚及其功能;

3.掌握单片机存储器的的结构;

3.掌握单片机组成的最小系统。

技能目标:

1.熟悉单片机I/O口及功能;

2.能够掌握MCS-51单片机基本结构;

3.能够制作AT89C51最小系统实验板。

教学重点:

单片机组成的最小系统。

教学难点:

单片机存储器的结构。

课时建议:

8课时

MCS-51单片机是指由美国Intel公司生产的一系列单片机的总称,属于这一系列的单片机有多种型号,如8031、8051、8751、8032、8752、89C51、89C52、89C2051等,其中8051是最早最典型的产品,该系列其他单片机都是在8051的基础上进行功能的增、减,改变而来的,所以人们习惯于用8051或51来称呼MCS-51系列单片机。

MCS-51系列单片机以其典型的结构、特殊功能寄存器的集中管理方式、灵活的位操作和面向控制的指令系统,为单片机的发展奠定了良好的基础,是在我国使用最广泛的单片机之一,它们为单片机的普及和推广立下了汗马功劳。

当前常用的典型产品有:

ATMEL公司的:

AT89C51、AT89S52、AT89S2051、AT89S4051等。

WTMEL公司的:

W78E52B、W77E58等。

除此之外,还有Philips、SST等公司的许多产品。

虽然,这些产品在某些方面有一些差异,但基本结构是相同的。

其中AT89C52是近几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的,该系列常用的单片机还有89C2051和89C52等。

2.1单片机基本构成系统

2.1.1单片机组成的内部结构图

在功能上,MCS-51系列单片机分为基本型和增强型两大类,通常是以芯片型号的末位数字加以区分的。

末位数字为“1”的型号为基本型,末位数字为“2”的型号为增强型。

如MCS-51/AT89S51为基本型,而80C52/AT89S52则为增强型,由于目前基本型和增强型在价格上差别不大,而增强型性能上更胜一筹,所以在实际应用中通常选用增强型芯片。

MCS-51基本型/增强型单片机的组成如图2.1所示。

图中串行口输入和输出引脚RXD和TXD、外部中断引脚

、外部计数输入引脚T0和T1、外部数据存储器读和写控制信号

这八个

引脚是与并行口P3复用的。

图2.1MCS-51基本型/增强型的组成

由图2.1可见,MCS-51单片机基本型包含:

1.CPU系统

●8位CPU,含布尔处理器;

●时钟电路;

●总线控制。

2.存储器系统

●4KB的程序存储器(ROM/EPROM/Flash,可扩展至64KB);

●128KB的数据存储器(RAM,可扩展至64KB);

●特殊功能寄存器SFR。

3.I/O口和其他功能单元

●4个并行I/O口;

●2个16位定时/计数器;

●中断系统(5个中断源、2个优先级)。

●1个全双工异步串行口;

MCS-51系列单片机内部组成虽然相同,但不同型号的产品在某些方面会有一些差异。

典型的单片机产品资源配置如表2.1所示。

4.增强型与基本型有以下几点区别:

●片内ROM从4KB增加到8KB;

●片内RAM从128B增加到256B;

●定时/计数器从2个增加到3个;

●中断源由5个增加到6个。

表2.1常用51系列典型产品资源配置

分类

芯片

型号

存储器类型及字节数

片内其他功能单元数量

速度

FLASH

ROM

RAM

并口

串口

定时/计数器

中断源

MHz

总线型

基本型

80C31

——

——

128B

4个

1个

2个

5个

12

80C51

——

4KB

128B

4个

1个

2个

5个

12

89C51

4KB

——

128B

4个

1个

2个

5个

24

增强型

80C32

——

——

256B

4个

1个

3个

6个

12

80C52

——

8KB

256B

4个

1个

3个

6个

12

89S52

8KB

——

256B

4个

1个

3个

6个

33

非总线型

89S2051

2KB

——

128B

2个

1个

2个

5个

24

89S4051

4KB

——

256B

2个

1个

2个

5个

24

另外,单片机的ROM配置在实际应用中是选择单片机的重要参数。

有些单片机的ROM采用Flash型(属于MTPROM,即多次编程ROM),由于编程方便,故优先选用。

而有些单片机产品还提供OTPROM型(一次性编程写入ROM)。

通常OTPROM型单片机较Flash型单片机具有更高的环境适应性和可靠性,在环境条件较差时应优先选择。

其他的掩模ROM型、EPROM型由于目前采用较少,故在此不做介绍。

2.1.2MCS-51系列单片机封装引脚功能

市面上常见的MCS-51单片机通常采用DIP40、QFP44和LCC形式封装。

这里仅介绍最常用的有总线扩展引脚的DIP40(双列直插式40引脚)封装和无总线扩展引脚的DIP20(双列直插式20引脚)封装,产品外观如图2.2所示,引脚定义如图2.3所示。

a.DIP40b.DIP20

图2.2MCS-51单片机产品外观

图2.3MCS-51单片机引脚封装

1.DIP40封装,具有总线扩展功能

(1)电源及时钟引脚(4个)

VCC:

电源接入引脚+5V;

VSS:

接地引脚GND;

XTAL1、XTAL2:

外部晶体振荡器接入引脚;

●当采用外部振荡器(时钟)时,对HMOS型工艺的单片机,XTAL1引脚应接地;对CHMOS型而言,XTAL1引脚作为时钟输入端(驱动端)。

●当采用外部振荡器(时钟)时,对HMOS型工艺的单片机,XTAL2引脚作为时钟输入端;对CHMOS型而言,XTAL2引脚悬浮。

●机器周期=石英振荡频率/12

(2)控制引脚(4个)

RST/VPD:

复位信号输入引脚/备用电源输入引脚;

●必须在此引脚上出现两个机器周期的高电平才能保证单片机可靠复位。

ALE/

地址锁存允许信号输出引脚/烧写时钟输入引脚;

●当外接存储器(RAM/ROM)时,ALE(允许地址锁存)的输出用于锁存地址的低8位。

一般ALE接锁存器的EN端。

●当没有外部存储器时,ALE端可以输出脉冲信号,此频率为石英振荡频率的1/6.因此,它可用作对外部芯片提供输出的时钟,或用于定时的目的。

●在烧写EPROM时,作为烧写时钟输入端。

/VPP:

内外ROM选择引脚/片内ROM编程电压输入引脚;

●当

信号接低电平时,对ROM的读操作(执行程序)限定在外部程序存储器。

●当

信号接高电平时,对ROM的读操作(执行程序)从内部开始。

在使用内部带程序存储器的单片机时,应接高电平。

●对于8751单片机在烧写内部EPROM时,此脚输入21V的烧写电压。

外部程序存储器选通信号输出引脚。

●外部程序存储器的读选通信号在读取外部ROM时,

有效(低电平),以实现对外部程序存储器的读操作,每个机器周期动作两次,连接时与外部ROM的OE脚相连。

在读取外部RAM时,此端不会有输出。

(3)并行I/O引脚(32个,共4个8位口)

P0.0~P0.7:

一般I/O口引脚或数据/低位地址总线复用引脚;

●作为与外部传送数据的8位数据总线(D0~D7)。

●作为扩展外部存储器时的低8位地址总线(A0~A7)。

●可作为一般I/O口使用,但内部无上拉电阻,作为普通I/O口使用时要外接上拉电阻。

P1.0~P1.7:

一般I/O口引脚;

●作为普通I/O口使用,无须外接上拉电阻。

●80C52的P1.0和P1.1还具有特殊功能)。

P2.0~P2.7:

一般I/O口引脚或高位地址总线引脚;

●作为普通I/O口使用,无须外接上拉电阻。

●作为扩展外部存储器时的高8位地址总线(A8~A15)。

P3.0~P3.7:

一般I/O口引脚或第二功能引脚。

●作为普通I/O口使用,无须外接上拉电阻。

●作为特殊功能使用,具体使用方法如表2.2所示。

表2.2引脚的特殊功能

引脚

特殊功能符号

功能说明

1(80C52)

P1.0/T2

定时器/计数器T2计数输入端

2(80C52)

P1.1/T2

T2的捕捉/重新加载的触发输入

10

P3.0/RXD

串行数据输入端

11

P3.1/TXD

串行数据输出端

12

P3.2/INT0

外部中断0申请信号

13

P3.3/INT1

外部中断1申请信号

14

P3.4/T0

定时器/计数器T0计数输入端

15

P3.5/T1

定时器/计数器T1计数输入端

16

P3.6/WR

外部数据RAM定控制信号

17

P3.7/RD

外部数据RAM读控制信号

2.无总线扩展引脚DIP20封装(以89S2051为例)

(1)电源及时钟引脚(4个)

VCC:

电源接入引脚+5V;

GND:

接地引脚;

XTAL1:

晶体振荡器接入的一个引脚;

XTAL2:

晶体振荡器接入的另一个引脚。

(2)控制线引脚(1个)

RST:

复位信号输入引脚。

(3)并行I/O引脚(15个)

P1.0~P1.7:

一般I/O口引脚(P1.0和P1.1兼作模拟信号输入引脚AIN0和AIN1);

P3.0~P3.5、P3.7:

一般I/O口引脚或第二功能引脚。

2.1.3AT89C51的内部基本结构

MCS-51单片机由CPU(含运算符、控制器及寄存器)、存储器和I/O口组成。

其内部逻辑结构如图

2.4所示(加粗框的为可以寻址寄存器,共27个)。

图2.4MCS-51单片机内部逻辑

MCS-51单片机的CPU是一个8位的高性能中央处理器(CPU),由运算部件和控制部件组成。

它的作用是读入并分析每条指令,根据各指令的功能控制单片机的各功能部件执行指定的操作。

它主要由以下几部分构成:

1.运算器

运算器由算术/逻辑运算单元ALU、累加器ACC、寄存器B、暂存寄存器、程序状态字寄存器PSW组成。

它完成的任务是实现算术和逻辑运算、位变量处理和数据传送等操作。

算术/逻辑运算单元ALU:

MCS-51的ALU功能极强,用来完成8位二进制数的加、减、乘、除算术运算、与、或、异或、循环、求补等逻辑运算以及具有一般微处理器所不具备的位处理功能。

累加器ACC:

该部件是一个8位的寄存器,在运算前向ALU提供一个操作数,在运算后用于保存结果。

在运算时将一个操作数经暂存器送至ALU,与另一个来自暂存器的操作数在ALU中进行运算,运算后的结果又送回累加器ACC。

同一般微型计算机相似,MCS-51单片机在结构上也是以累加器ACC为中心,大部分指令的执行都要通过累加器ACC进行。

寄存器B:

该部件在乘法指令中用于存放一个乘数,在除法指令中用于存放除数,运算后寄存器B中为部分运算结果。

在不进行乘、除运算时,可以作为普通的寄存器使用。

暂存寄存器TMP1/2:

暂存器有两个,用来暂时存放数据总线或其他寄存器送来的操作数。

它作为ALU的数据输入源,向ALU提供操作数。

程序状态寄存器PSW:

该部件是一个8位的寄存器,包含当前程序执行的各种状态信息,用来保存ALU运算结果的特征(如:

结果是否为0,是否有溢出等)和处理器状态。

这些特征和状态可以作为控制程序转移的条件,供程序判别和查询。

PSW的各位可以单独进行位寻址,其中PSW.1为保留位,未使用。

7

6

5

4

3

2

1

0

PSW

CY

AC

F0

RS1

RS0

OV

P

字节地址:

D0H

 

●CY:

进位、借位标志,存放算术运算的进位标志,有进位、借位时CY=1,否则CY=0;在布尔运算中做累加位使用。

●AC:

辅助进位、借位标志,做BCD运算时,低4位向高4位有进位或借位时,AC=1,否则AC=0。

●F0:

用户标志位,由用户自己定义的一个状态标记。

●RS1、RS0:

当前工作寄存器组选择位,00、01、10、11分别对应0组、1组、2组、3组工作寄存器。

●OV:

溢出标志位,做算术运算时,有溢出时OV=1,否则OV=0;

●P:

奇偶标志位,累加器A中的运算结果有奇数个1时P=1,否则P=0。

2.控制器

MCS-51单片机的控制器由定时控制逻辑、指令寄存器IR、指令译码器及控制逻辑电路组成,由以下五部分组成:

定时控制逻辑:

其作用是根据对控制条件的检测,发出不同的指令周期、定时信号、内部和外部的控制信号,在CPU内部协调寄存器之间进行数据传送、数据运算等操作。

指令寄存器IR:

这是一个8位的寄存器,用于保存当前正在执行的一条指令,先要把它从程序存储器取到指令寄存器中。

指令内容含操作码和地址码,操作码送往指令译码器并形成相应指令的微操作信号。

地址码送往操作数地址形成电路以便形成实际的操作数地址。

译码与控制逻辑:

这是微处理器的核心部件,它的任务是完成读指令、执行指令、存取操作数或运算结果等操作,向其他部件发出各种微操作控制信号,协调各部件的工作。

MCS-51单片机内设有振荡电路,只需外接石英晶体和频率微调电容就可产生内部时钟信号。

3.其他寄存器

程序计数器PC:

这是一个16位的计数器(注:

PC不属于特殊功能寄存器SFR的空间),可寻址范围为64KB。

它总是存放着下一个要取得指令的16位存储单元地址。

CPU总是把PC的内容作为地址,从内存中取出指令码。

每取完一个字节后,PC内容自动加1,为取下一个字节做好准备。

在执行转移指令、子程序调用指令及中断响应时,转移指令、调用指令或中断响应过程就会自动给PC置入新的地址。

实际应用中要注意一个问题:

单片机上电或复位时,PC装入地址0000H,这就保证了单片机上电或复位后,程序从0000H地址开始执行。

数据指针DPTR:

这是一个16位的地址指针寄存器,既可以用于寻址片外数据存储器,也可以用于寻址片外程序存储器中的表格数据。

它由2个8位的寄存器DPH和DPL组成,用来存放16位的地址。

利用间接寻址(MOVX@DPTR,A或MOVXA,@DPTR指令)可对片外RAM或I/O接口的数据进行访问。

利用变址(MOVCA,@A+DPTR指令)可以对ROM单元中数据进行读取。

堆栈指针SP:

这是一个8位的寄存器。

初始为片内RAM的07H单元,它总是指向堆栈的顶部。

在实际使用中为了避免与工作寄存器R0—R7冲突,通常将SP的值重新设定,一般根据使用情况设在片内RAM的30H—7FH这一段中。

堆栈操作遵循“后进先出”的原则,数据入栈时,SP先加1,然后数据再压入SP指向的单元;数据出栈时,先将SP指向的单元的数据弹出,然后SP再减1,这时SP指向的单元是新的栈顶。

由此可见,MCS-51单片机的堆栈区是向地址增大的方向生成的(这与80X86的堆栈组织不同)。

工作寄存器R0~R7:

共占用片内RAM的00H—1FH32个存储单元,分成4组,每组8个单元。

当前工作寄存器组是由PSW的RS1和RS0位指定。

00、01、10、11分别对应0组、1组、2组、3组工作寄存器。

MCS-51的工作寄存器及其在存储器中的映射如图2.5所示。

图2.5MCS-51的工作寄存器及其在存储器中的映射

2.2单片机存储器结构

计算机根据存储器组织结构的不同,可分为冯·诺依曼结构和哈佛结构。

对于冯·诺依曼结构的计算机,其程序存储器和数据存储器统一编址,也就是程序和数据在同一存储空间中存储。

这个统一的存储空间通称为内存。

例如PC机就是一种典型的冯·诺依曼结构计算机。

然而,单片机和DSP等微处理器为了加快处理速度,往往采用哈佛结构。

在哈佛结构中,程序存储和数据存储器分开编址。

程序存储器常简称为PM,通常是只读ROM型存储器,其程序编好后就不再改变。

程序运行中输入或产生出来的临时数据采用专门的称为随机数据存储器的RAM型存储器存储。

数据存储器常简称为DM。

2.2.1存储器的划分方法

MCS-51单片机也采用哈佛结构,因此它的存储空间由程序存储器空间和数据存储器空间组成。

存储器可以分成两大类,一类是程序存储器(ROM),另一类是数据存储器(RAM)。

ROM是一种写入信息后不易改写的存储器。

断电后,ROM中的信息保留不变。

所以ROM用来存放程序或常数,如系统监控程序,常数表等。

对于RAM,CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。

所以,它用来存放暂时性的输入输出数据,运算的中间结果或用作堆栈。

2.2.2程序存储器ROM

MCS-51单片机的程序计数器PC是16位的计数器,所以能寻址64KB的程序存储器地址范围。

根据型号不同,51单片机芯片内部的程序存储器可能有1KB、2KB、4KB、8KB或更多字节,在片内程序储存器的配置上,早期有三种形式,即掩模ROM、EPROM、E2PROM和ROMLess(无片内程序存储器)。

如MCS-51含有4KB的掩模ROM,89C52含有8KB的E2PROM,而80C31在芯片内无程序存储器。

现在人们普遍采用另一种具有Flash存储器的芯片。

实际应用中选择具有片内程序存储器的单片机可以简化硬件设计,加快开发速度。

1.片内与片外程序存储器的选择

MCS-51单片机利用

引脚确定是运行片内程序存储器中的程序还是运行片外程序存储器中的程序。

(1)

引脚接高电平

引脚接高电平时,对于基本型单片机,首先在片内程序存储器中取指令,当PC的内容超过0FFFH时系统会自动转到片外程序存储器中取指令。

外部程序存储器的地址从1000开始编址,如图2.6所示。

图2.6EA引脚接高电平

注意:

对于增强型单片机,首先在片内程序存储器中取指令,当PC的内容超过1FFFH时系统才转到片外程序存储器中取指令。

(2)

引脚接低电平

引脚接低电平时,单片机自动转到片外程序存储器中取指令(无论片内是否有程序存储器)。

外部程序存储器的地址从0000H开始编址,如图2.7所示。

MCS-51单片机的引脚

输出片外程序存储器的读选通信号,仅当CPU访问片外程序存储器时,

才自动有效,即输出负脉冲。

在硬件上,单片机的

引脚要和片外程序存储器的

信号连接;在软件上,对

不必做任何考虑,也就是说,对于程序员编写程序而言,片内和片外扩展的程序存储器没有区别。

2.程序存储器低端的存在的几个中断入口地址

程序存储器低端的一些地址被固定地用作特定的中断入口地址,称为中断向量。

如图2.8所示。

图2.8ROM低端的中断入口地址

这些单元的用途为:

0000H:

单片机复位后的入口地址;

0003H:

外部中断0的中断服务程序入口地址;

000BH:

定时/计数器0溢出中断服务程序入口地址;

0013H:

外部中断1的中断服务程序入口地址;

001BH:

定时/计数器1溢出中断服务程序入口地址;

0023H:

串行口的中断服务程序入口地址;

002BH:

增强型单片机定时/计数器2溢出或T2EX负跳变中断服务程序入口地址。

地址0000H作为复位入口,通常存放一条跳转指令,单片机复位后首先执行该指令进入主程序,基本程序写法如下:

ORG0000H

SJMPSTART

ORG0030H

START:

*

*

*

主程序执行时,如果开放了CPU中断,且某一中断被允许,当该中断事件发生时,就会暂时停止主程序的执行,转而去执行中断服务程序。

从ROM的低端地址分配空间来看,每个中断都被分配了一个8B的中断入口空间,在实际应用中,这并不足够放置一个中断服务程序,所以编程时,通常在该中断入口地址中放入一条转移指令指向准备要执行的中断服务程序,从而使该中断发生时,系统能够根据相应的中断入口内的转移指令转到相应的中断服务程序处继续执行。

以外部中断INT0为例,并将中断服务程序暂命名为INT-0,基本程序写法如下:

ORG0000H

SJMPSTART

ORG0003H

LJMPINT-0

ORG0030H

START:

*

*

*

INT-0:

$

$

$

RETI

3.程序的烧录、下载、引导

目前的单片机大都集成有E2PROM或FLASH型程序存储器,用于存储用户编写的应用程序。

将应用程序写入程序存储器的过程称为“编程”或“烧录”。

传统的烧录方法是使用专用的烧片器烧录程序。

烧录时需要将单片机从应用系统板上拔出来,烧好后再插上去。

烧录单片机不仅费时费力,而且容易损坏单片机。

为解决上述问题,现在的单片机发展出了系统可编程技术(InSystemProgramming,ISP)及在应用可编程技术(InSystemProgramming,LAP)。

所谓ISP技术,是指在LSP技术,是指在单片机上固化一些用户看不到的程序,单片机上电后自动运行这些程序,并检查单片机的工作模式。

当单片机处于下载模式时,这些程序就控制单片机经由串口从PC机接收用户应用程序,并将写入程序存储器,这个过程称为下载;若单片机处于正常工作模式,就按普通方式从程序存储器中取出指令来运行。

下载过程一般采用串行总线传输,具有信号线少和时序简单优点,往往通过一根简单的下载线将单片机与PC机连接即可。

当然,在PC机上需要运行专用的下载软件。

如果采用这种方法,在设计单片机应用系统时,只需要预留好下载线的插座和模式选择开关就可以在不拆芯片的情况下随时烧录程序。

IAP技术是在ISP技术基础上发展的最新型烧录方法。

它除了具备ISP的特性外,还允许用户在系统正常运行的情况下烧录新程序,然后在下次启动时加载新的程序。

其技术关键是程序存储器中固化了一部分引导程序。

它相当于一个简单的操作系统,在每次开机时单片机首先执行该引导程序,根据配置字而调用不同的应用程序。

有些单片机甚至允许用户自己开发这段引导程序,因而可能开发出通过通信网远程更新单片机软件的功能,这极大地方便了系统维护与升级。

新款的单片机除了支持传统的烧录方式外,大都支持ISP或IAP。

例如,PIC系列单片机都支持ISP,MEGA系列单片机都支持IAP.

2.2.3数据存储器RAM

MCS-51单片机的数据存储器,分为片外RAM和片内RAM两大部分。

片内RAM空间为256字节,占用地址空间00H-0FFH。

地址空间00H-7FH的128字节称为低端RAM,80H-0FFH的128字节称为高端RAM。

此外MCS-51单片机还有128字节用来存放特殊功能寄存器的区域,简称SFR区,其地址空间和高端RAM的地址空间重合。

低端RAM和SFR是每个MCS-51单片机都有的,是MCS-51单片机内核的重要组成部分。

高端RAM仅增强型以上的单片机才有。

片内RAM低端128字节,分为工作寄存器区、位寻址区、通用RAM区三大部分。

基本型单片机片内RAM地址范围是00H-7FH.。

增强型单片机片内除地址范围在00H-7FH的128BRAM外,又增加了80H-FFH的高128B的RAM。

增加的这一部分RAM仅能采用间接寻址方式访问。

片外RAM地址空间为64KB,地址范围是0000H-FFFFH.与程序存储器地址空间不同的是,片外RAM地址空间与片内RAM地址空间在地址的低端0000H-007FH是重叠的。

这就需要采用不同的寻址方式加以

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1