第2章MCS51单片机组成及结构分析.docx

上传人:b****4 文档编号:26964020 上传时间:2023-06-24 格式:DOCX 页数:36 大小:229.61KB
下载 相关 举报
第2章MCS51单片机组成及结构分析.docx_第1页
第1页 / 共36页
第2章MCS51单片机组成及结构分析.docx_第2页
第2页 / 共36页
第2章MCS51单片机组成及结构分析.docx_第3页
第3页 / 共36页
第2章MCS51单片机组成及结构分析.docx_第4页
第4页 / 共36页
第2章MCS51单片机组成及结构分析.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

第2章MCS51单片机组成及结构分析.docx

《第2章MCS51单片机组成及结构分析.docx》由会员分享,可在线阅读,更多相关《第2章MCS51单片机组成及结构分析.docx(36页珍藏版)》请在冰豆网上搜索。

第2章MCS51单片机组成及结构分析.docx

第2章MCS51单片机组成及结构分析

第2章MCS-51单片机组成及结构分析

MCS-51系列单片机有一定容量的片内RAM,有较强的I/O口功能、系统扩展能力以及CPU处理功能。

尤其是MCS-51所特有的布尔处理机,对于逻辑处理与控制具有突出的优点。

由于MCS-51单片机具有体积小、功能全、价格低廉、开发应用方便、适合于实时控制等优点,已被广泛应用于工业控制器、智能仪表、智能接口、智能仪器装置以及通用测控单元等领域。

2.1MCS-51单片机主要功能特点

MCS-51系列单片机分为51子系列和52子系列,在51子系列中,典型代表为8751、8051、8031等,在52子系列中,典型代表为8752、8052、8032等,这两个子系列单片机的指令系统与引脚功能完全兼容,仅在内部功能部件稍有差异,主要功能特点如下:

(1)8位CPU;

(2)布尔处理器;

(3)片内128字节RAM(52子系列有256字节RAM);

(4)片内4KBROM/EPROM(8051/8751);

(5)特殊功能寄存器区;

(6)64KB外部数据存贮器地址空间;

(7)64KB外部程序存贮器地址空间;

(8)2个优先级的5个中断源(52子系列有6个中断源)结构;

(9)4个8位并行I/O口(P0、P1、P2、P3);

(10)2个16位定时/计数器(52子系列为3个);

(11)1个全双工串行口;

(12)片内振荡器及时钟电路。

表2-1列出MCS-51系列单片机片内功能配置。

表2-1MCS-51系列单片机片内功能配置

功能配置

芯片种类

ROM

EPROM

RAM

定时器

计数器

I/O口

中断源

并行

串行

51

8031

/

/

128B

2×16位

4×8位

1

5

8051

4K

/

128B

2×16位

4×8位

1

5

8751

/

4K

128B

2×16位

4×8位

1

5

52

8032

/

/

256B

3×16位

4×8位

1

6

8052

8K

/

256B

3×16位

4×8位

1

6

8752

/

8K

256B

3×16位

4×8位

1

6

由于MCS-51单片机性能优异,不少公司购买了生产专利,并在此基础上开发出一系列新产品,其中以美国ATMEL公司生产的89系列最有代表性,产品功能配置如表2-2所示。

表2-2MCS-51系列单片机新产品功能配置

功能配置

芯片

EEPROM

RAM

定时器

计数器

I/O口

中断源

并行

串行

89C51

4K

128

2×16位

4×8位

1

5

89C52

8K

128

2×16位

4×8位

1

5

89C53

12K

128

2×16位

4×8位

1

5

89C55

16K

128

2×16位

4×8位

1

5

89C58

32K

128

2×16位

4×8位

1

5

89C2051

2K

128

2×16位

4×8位

1

5

89C1051

1K

128

2×16位

4×8位

1

5

以上产品的程序存贮器由于采用了EEPROM技术,用户可以方便的将源程序注入其中,同时该产品系列采用了多种封装形式,外接晶振可以达到33MHz,为用户使用提供了极大方便。

因此,该系列产品一经推出,便成为市场的主流产品,成为众多用户的首选芯片。

2.2MCS-51单片机的引脚功能

图2.18051引脚配置图

以8051的40条引脚双列直插式封装为例,对MCS-51单片机引脚功能进行介绍。

其引脚配置如图2.1所示。

2.2.1I/O口

MCS-51单片机有4个双向8位I/O口P0~P3,P0口为三态双向口,负载能力为8个LSTTL门电路,P1~P3为准双向口(用作输入时,口锁存器必须先写“1”),负载能力为4个LSTTL门电路。

通常在外部并行扩展时,P2作为地址总线的高8位,而P0口作为地址总线的低8位和数据总线的复用口。

P3口作为控制总线使用。

P3口作为控制总线时,工作在第二功能,P3口的第二功能定义如表2-3所示。

表2-3P3口第二功能定义

口线

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

(外部中断0输入)

P3.3

(外部中断1输入)

P3.4

T0(计数器0输入)

P3.5

T1(计数器1输入)

P3.6

(外部数据存贮器写选通)

P3.7

(外部数据存贮器读选通)

2.2.2电源、时钟电路

VCC(40脚)——+5V电源

VSS(20脚)——地

XTAL1(19脚)——芯片内部振荡电路(单级反相放大器)输入端。

XTAL2(18脚)——芯片内部振荡电路(单级反相放大器)输出端。

MCS-51的时钟可由内部方式或外部方式产生。

1.内时钟方式

利用芯片内部的振荡电路,在XTAL1、XTAL2的引脚接石英晶体和电容组成的并联谐振电路,连接方法如图2.2(a)所示。

晶体可以在1.2MHz~12MHz之间任选,电容通常选择为30pF左右。

2.外时钟方式

如图2.2(b)所示,XTAL1接地,XTAL2接外部振荡器,对外部振荡信号无特殊要求,由于XTAL2端的电平不是TTL电平,故应接一上拉电阻。

外部振荡器的频率应低于12MHz。

(a)内时钟方式(b)外时钟方式

图2.2MCS-51时钟方式电路图

2.2.3控制信号

1.RST/VPD(9脚)复位信号

时钟电路工作后,在此引脚上出现两个机器周期以上的高电平,芯片内部进行初始复位,复位后片内寄存器置初值。

但初始化不影响片内RAM状态,只在该引脚保持高电平,MCS-51将循环复位。

RST/VPD从高电平变低电平时,单片机将从程序存储器的0000单元取指,开始执行程序。

图2.3复位电路

MCS-51通常采用上电复位和开关复位二种方式。

其简单的复位应用电路如图2.3所示。

上电瞬间,电容两端电压不能突变,此时RST端为高电平,随着+5V通过电阻给电容充电,RST端电位逐步下降。

只要RST端电平在高电平段保持两个以上机器周期,单片机即复位,从而实现上电自动复位。

开关复位,只要将按键按下,RST为高电平,复位有效。

2.ALE/

(30脚)地址锁存信号

P0口作为地址和数据的复用口,P0口上的信息究竟是地址还是数据可以通过ALE的状态来确定,ALE高电平期间,P0口上出现地址信息,在ALE下降沿时,将P0口上地址信息锁存到片外地址锁存器中,在ALE低电平期间P0口上出现指令和数据信息。

平时不访问片外存贮器时,该端也以六分之一的时钟频率固定输出脉冲信号。

因而该引脚亦可作系统中其它芯片的时钟源。

ALE可驱动8个TTL门。

对于EPROM型单片机,在EPROM编程时,此脚用作编程脉冲

输入端。

3.

(29脚)片外程序存贮器选通信号,低有效。

当8051访问片外程序存贮器时,程序计数器PC通过P2口和P0口输出十六位指令地址,

作为程序存贮器读信号,输出负脉冲将相应存贮单元的指令读出并送到P0口上。

可驱动8个TTL门。

4.

/VPP(31脚)内部和外部程序存贮器选择信号

对于8051来说,内部有4K字节的程序存贮器,当

为高时,CPU访问程序存贮器有两种情况:

(1)地址小于4K时访问内部程序存贮器。

(2)地址大于4K时访问外部程序存贮器。

接地,则不使用内部程序存贮器,取指时总是访问外部程序存贮器。

对于EEPROM型的单片机,在EEPROM编程时,此引脚用于施加5V编程电压(VPP)。

2.3MCS-51单片机内部结构分析

如图2.4所示是MCS-51单片机的简化功能框图。

图2.48051功能框图

2.3.1程序存贮器

单片机的存贮器配置包括程序存贮器和数据存贮器,以8051为例,其配置图如图2.5所示。

(a)(b)

图2.58051存贮器配置图

程序存贮器用于存放编好的程序和表格常数。

8051内部加外部可扩展的程序存储器一共4K字节。

在正常运行时,如把

引脚接高电平那么程序从内部ROM开始执行,当PC值超出内部ROM的容量时会自动转向外部程序空间。

如果不使用内部ROM,而直接使用外部ROM,

应接低电平。

在64KB程序存贮器空间中有7个单元具有特殊功能。

0000H单元,MCS-51复位后程序计数PC的内容为0000H,故系统必须从0000H单元开始取指,执行程序。

它是系统的起动地址。

一般在该单元存放一条绝对跳转指令,而用户设计的主程序从跳转地址开始存放。

除0000H单元外,其它6个特殊单元分别对应6种中断源的中断服务子程序的入口地址,如表2-4所示。

通常在这些入口地址都存放一条绝对跳转指令,而真正的中断服务子程序从转移地址开始存放。

表2-4各种中断服务子程序入口地址

中断源

入口地址

外部中断0

0003H

定时器0溢出

000BH

外部中断1

0013H

定时器1溢出

001BH

串行口

0023H

定时器2溢出

002BH

2.3.2数据存贮器

数据存贮器在物理上和逻辑上都分为两个地址空间,一个内部数据存贮器空间和一个外部数据存贮器空间。

内部数据存贮器在物理上又可分为2个不同的块;00H~7FH(0~127)单元组成的低128字节的RAM块;80H~FFH(128~255)单元组成的高128字节的特殊功能寄存器(SFR)块,两块地址空间是相连的。

要注意的是,128字节的SFR块中仅有26个字节有定义的,若访问的是这一块中没有定义的单元,将得到一个不确定的随机数。

图2.6表示了内部数据存贮器的配置。

其中00H~1FH单元共32个字节是4个通用工作寄存器区,每个区含8个8位寄存器,编号为R0~R7。

内部RAM块中的20H~2FH16个字节单元和SFR块中的11个字节单元(52系列12个字节单元)构成了布尔处理机的存贮器空间,这27个字节单元的210位(27×8减去6个未定义位)各自都有专门的位地址,如图2.6、图2.7所示,它们可以被直接寻址。

8051的外部数据存贮器寻址空间为64KB。

图2.6内部RAM块中特殊功能位地址图2.7SFR块中特殊功能位地址

2.3.3特殊功能寄存器

在MCS-51中共有26个特殊功能寄存器(5个属52子系列)。

PC寄存器在物理上是独立的,其余都属于内部数据存贮器的SFR块,共占用了26个字节。

表2-5列出了这些特殊功能寄存器的助记标识符、名称和地址。

表2-5特殊功能寄存器(除PC外)

标识符

名称

地址

*ACC

累加器

0E0H

*B

B寄存器

0F0H

*PSW

程序状态字

0D0H

SP

堆栈指针

81H

DPTR

数据指针(包括DPH和DPL)

83H和82H

*P0

口0

80H

*P1

口1

90H

*P2

口2

0A0H

*P3

口3

0B0H

*IP

中断优先级控制

0B8H

*IE

允许中断控制

0A8H

TMOD

定时器/计数器方式控制

89H

*TCON

定时器/计数器控制

88H

+*T2CON

定时器/计数器2控制

0C8H

TH0

定时器/计数器0(高位字节)

8CH

TL0

定时器/计数器0(低位字节)

8AH

TH1

定时器/计数器1(高位字节)

8DH

TL1

定时器/计数器1(低位字节)

8BH

+TH2

定时器/计数器2(高位字节)

0CDH

+TL2

定时器/计数器2(低位字节)

0CCH

+RLDH

定时器/计数器2自动再装载(高位字节)

0CBH

+RLDL

定时器/计数器2自动再装载(低位字节)

0CAH

*SCON

串行控制

98H

SBUF

串行数据缓冲器

99H

PCON

电源控制

87H

注:

带(*)的寄存器可按字节和按位寻址;带(+)号的寄存器是与定时器/计数器2有关的寄存器,仅在52子系列芯片中存在。

1.程序计数器PC

程序计数器PC用于存放下一条要执行的指令地址(程序存贮器地址),是一个16位专用寄存器,因此寻址范围为64K(0~65535)。

PC在物理上是独立的,不属于内部数据存贮器的SFR块。

2.累加器A或特殊功能寄存器ACC

累加器A是在CPU运算器中的寄存器与特殊功能寄存器中的ACC是映象关系,它们的内容是完全相同的,在寻址方式上累加器A是寄存器而ACC是特殊功能寄存器只能用直接寻址方式来访问(在后边的指令讲述中,大家会有感受)。

3.B寄存器

在乘除法指令中,用到B寄存器。

在其它指令中,B寄存器可作为RAM的一个单元来使用。

4.程序状态字PSW

程序状态字PSW是一个8位寄存器,它包含了程序状态信息。

此寄存器各位的含义参见图2.8,各位说明如下:

PSW

CY

AC

F0

RS1

RS0

OV

—(未用)

P

图2.8程序状态字

CY(PSW.7)进位标志。

在执行某些算术和逻辑指令时,可以被硬件或软件置位或清除。

在布尔处理机中它被认为是位累加器。

AC(PSW.6)辅助进位标志。

当进行加法或减操作而产生由低4位向高4位数进位或借位时,AC将被硬件置1,否则就被清除。

AC被用于十进制调整,详见DA指令。

F0(PSW.5)用户标志0。

是用户定义的一个状态标记,可以用软件来使它置位或清除。

RS1、RS0(PSW.4、PSW.5)寄存器R0~R7工作区选择控制位1和0。

可以由软件来置位或清除以确定工作寄存器区。

(RS1、RS0)与寄存器区的对应关系如下:

(0,0)——R0~R7在0区(00H~07H)

(0,1)——R0~R7在1区(08H~0FH)

(1,0)——R0~R7在2区(10H~17H)

(1,1)——R0~R7在3区(18H~1FH)

OV(PSW.2)溢出标志。

当执行算术指令时,由硬件置位或清除,以指示溢出状态。

当执行加加减法运算时,若以

表示位i向i+1有进位或借位。

OV=

即当位6向位7有进位/借位而位7不向C进位/借位时,或位6不向位7进位/借位而位7向C进位/借位时,溢出标志OV置位,否则清除。

OV=1表示有符号加减运算的结果已超出一个字节所能表示补码数的范围(-128~+127)。

在MCS-51中,无符号数乘法指令MUL的执行结果也会影响溢出标志,若累加器A和寄存器B的乘积超过255时,OV=1,否则OV=0。

此积的高8位放在B中,低8位放在A中,故OV=0意味着只要从A中取得乘积即可,否则要从BA寄存器对中取得乘积。

除法指令DIV也会影响溢出标志,当除数为0时,OV=1,否则OV=0。

P:

(PSW.0)奇偶标志。

每个指令周期都由硬件来置位或清零,以表示累加器A中“1”的位数的奇偶性。

若P=1,则A中“1”的位数为奇数,否则P=0。

5.堆栈指针SP

它是一个8位寄存器,用来存放栈顶地址。

MCS-51堆栈设在内部RAM中,堆栈是一个具有“先进后出”功能,受SP管理的存贮区域。

在程序中断、子程序调用等情况下,用于存放一些特殊信息(亦可作数据传送的中转站)。

当数据压入堆栈时,SP就自动加“1”;当数据从堆栈中弹出时,SP就自动减“1”。

因而SP指针始终指向栈顶。

MCS-51系统复位时硬件使SP=07H。

堆栈在内部RAM区中的位置可根据程序要求由SP灵活安排。

6.数据指针DPTR

它是一个16位的特殊功能寄存器,既可作为一个16位寄存器(DPTR)来使用,又可作为两个独立的8位寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。

当对外部存贮器空间寻址时,DPTR作间址寄存器用。

7.I/O端口P0~P3

特殊功能寄存器P0、P1、P2和P3分别是I/O端口P0~P3的锁存器。

8.复位后内部寄存器状态如表2-6所示。

表2-6复位后内部寄存器状态

寄存器

内容

寄存器

内容

PC

0000H

TMOD

00H

ACC

00H

TCON

00H

B

00H

TH0

00H

PSW

00H

TL0

00H

SP

07H

TH1

00H

DPTR

0000H

TL1

00H

P1~P3

0FFH

SCON

00H

IP

×××00000

SBUF

不定

IE

0××00000

PCON

0××00000

2.4MCS-51单片机CPU时序

2.4.1机器周期、状态、相位

如图2.9所示,MCS-51单片机规定:

一个机器周期包括6个状态S1~S6,每个状态又分两部分:

相位1(P1)、相位2(P2),即每个状态包括2个振荡周期。

因此,有下式成立:

1个机器周期=6个状态=12个振荡周期

1个振荡周期=

式中:

为主频。

若采用12MHz振荡源,则每个机器周器为1μs。

2.4.2典型指令的执行情况

由于单片机内部时钟信号外部无法观察,在图2.9中以振荡信号XTAL2和ALE端信号作为参考信号。

在每个机器周期,ALE信号两次有效,一次在S1P2到S2P1期间,一次在S4P2到S5P1期间。

图2.9/单片机的机器周期和状态周期

在MCS-51单片机指令系统中,单字节、双字节指令占绝大多数,三字节指令很少(13条)。

单字节或双字节指令可能是单周期或双周期的,三字节指令是双周期的,乘除指令是四个周期的,因此,当振荡频率为12MHz时,指令执行时间分别为1μs、2μs、4μs。

2.5MCS-51单片机低功耗运行方式

MCS-51单片机具有低功耗运行方式。

对于CHMOS型单片机有两种低功耗方式:

待机方式与掉电方式;HMOS型单片机仅有一种低功耗方式,即掉电方式。

下面分别加以叙述。

图2.10低功耗掉电方式

2.5.1HMOS型单片机掉电运行方式

如图2.10所示,正常运行时,HMOS型单片机由VCC供电。

当VCC掉电时,在VCC下降到操作允许极限之前,RST/UPD接上备用电源,向内部RAM供电。

当VCC恢复时,备用电源仍要保持一段时间,以便完成复位操作,然后重新开始工作。

2.5.2CHMOS型单片机的掉电运行方式与待机方式

在CHMOS型单片机中,待机方式与掉电方式均由特殊功能寄存器PCON的有关位控制,其中各位意义如下:

(87H)

7

6

5

4

3

2

1

0

字节地址87H

PCON

SMOD

GF1

GF0

PD

IDL

SMOD:

(PCON.7)波特率加倍位。

当SMOD=1时,串行口方式1、2、3的波特率提高一倍。

PCON:

6、5、4保留位,无定义。

GF1:

(PCON.3)通用标志位,供用户使用。

CF0:

(PCON.2)通用标志位,供用户使用。

PD:

(PCON.1)掉电方式位。

当PD=1时,机器进入掉电工作,由软件设置。

IDL:

(PCON.0)待机方式位。

当IDL=1时,机器进入待机工作方式,由软件设置。

1.掉电工作方式

当执行了使PCON寄存器中PD位置“1”的指令后,单片机进入掉电工作方式,如图2.11所示。

当PD=1,

=0时,片内振荡器停止工作。

由于时钟冻结,一切功能都停止,只有片内RAM内容被保持。

退出掉电方式的唯一途径是硬件复位。

在掉电方式下VCC可降到2V,耗电电流仅50μA。

值得注意的是,在进入掉电方式前,VCC不能下降;在结束掉电保护前,VCC必须恢复正常工作电压。

复位终止了掉电方式,同时释放了振荡器。

在VCC恢复到正常水平之前,不应该复位,要保持足够长的复位时间,通常只需不到10毫秒时间,以保证振荡器再起动并达到稳定。

2.待机方式

当执行了使PCON寄存器IDL位为“1”的指令后,单片机就进入了待机工作方式,参见图2.11。

当IDL=1,

=0时封锁了时钟信号去CPU的与门,CPU处于冻结状态,然而时钟信号仍能提供给中断逻辑、串行口和定时器。

在待机期间CPU状态被完整保存,如程序计数器PC、堆栈指针SP、程序状态字PSW、累加器A及所有的工作寄存器等,而ALE和

变为无效状态。

有两种方法退出待机方式:

1).任何一个允许的中断请求被响应时,内部硬件电路将IDL位清零,结束待机状态,进入中断服务程序。

2).硬件复位,由于时钟振荡器仍在工作,只要复位信号保持两个机器周期以上,便可完成复位,结束待机状态。

图2.11待机和掉电硬件结构

习题与思考题解题思路与方法

【习题2-1】8051单片机内部包含哪些主要逻辑功能部件?

各有什么主要功能?

【解答】

8051单片机内部主要包含有CPU、存储器、并行I/O口、定时器/计数器、串行口、时钟电路、复位电路等逻辑功能部件,各部分通过内部总线相连。

各部分主要功能如下:

1.中央处理器(CPU)

中央处理器是单片机最核心的部分,是单片机的控制和运算中心,主要完成运算和控制功能。

8051单片机的CPU是一个字长为8位的中央处理单元,即它对数据的处理是以字节为单位进行的。

2.内部数据存储器(内部RAM)

8051单片机中共有256个RAM单元,但其中能作为寄存器供用户使用的仅有前面128个,后面128个被特殊功能寄存器占用。

内部RAM一般用来暂存数据。

3.内部程序存储器(内部ROM)

8051单片机片内集成了ROM,用于存放程序、原始数据等。

4.定时器/计数器

8051单片机共有2个16位的定时器/计数器,可以实现定时和计数功能。

5.并行I/O口

8051单片机共有4个8位的I/O口,可以实现数据的并行输入、输出。

6.串行口

8051单片机有1个全双工的异步串行口,以实现单片机和其它设备之间的串行数据传送。

7.时钟电路

8051单片机内部的时钟电路为单片机产生时钟脉冲序列,使计算机按照时钟信号的节拍顺序严格的执行各种操作。

8.复位电路

复位是单片机的初始化操作,单片机在启动运行时,都需要先复位。

它的作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作。

【习题2-2】MCS-51单片机有几种复位方法?

复位后单片机特殊功能寄存器的状态?

【解答】

单片机的复位电路有上电自动复位和手动按键复位两种。

上电自动复位利用电容器充电来实现,上电瞬间,RC电路充电,RST引脚端出现高电平,只要RST引脚端保持2个机器周期以上高电平,就能使单片机复位。

为了可靠地复位,一般应保持10ms以上高电平。

手动按键复位又分为:

按键电平复位和按键脉冲复位。

按键电平复位,相当于按复位键后复位端通过电阻与Vcc电源接通;按键脉冲复位,利用RC微分电路产生正脉冲。

除此之外,还有同步复位和外部脉冲复位等方法。

为了可靠复位很多芯片生产厂家制造出专门的复位电路,这些复位电路除了具有复位功能有的还集成了看门狗和串行EEPROM电路。

复位后片内各专用寄存器的状态如题表2—1所列,表中×为不定数。

寄存器

内容

寄存器

内容

PC

ACC

B

PSW

SP

DPTR

P0~P3

1P

IE

0000H

00H

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

当前位置:首页 > 高等教育 > 其它

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

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