第01章51单片机结构(原)分析

发布于:2021-07-25 09:51:19

第1章 MCS-51单片机结构

李芳主编

内 容 提 要
? ?

?
? ?

MCS-51单片机内部结构 存储器 特殊功能寄存器 时钟电路和复位电路 引脚

MCS-51系列单片机有多种型号的产品:
普通型(51子系列) 8051、8031、8751、89C51、89S51等。 增强型(52子系列) 8032、8052、8752、89C52、89S52等。 它们的结构基本相同,其主要差别反映在存储器的配置上。 ? 8031片内没有程序存储器 ? 8051内部设有4KB的掩模ROM程序存储器 ? 8751是将8051片内的ROM换成EPROM ? 89C51则换成4KB的闪速EEPROM ? 89S51结构同89C51, 4KB的闪速EEPROM可在线编程 ? 增强型的存储容量为普通型的一倍 本课以 8XX51 代表这一系列的单片机。

51系列单片机内部结构。
基准频率源 计数脉冲

振荡器及 定时电路

4KB/8KB

128/256B 数据存储器

2/3个16位 定时/计数器

程序存储器

CPU

内部中断

64KB

可编程

可编程

总线扩展控制

并行I/O口
P0 P1 P2 P3

串行I/O口
串行输出 串行输入

外部中断

控制

图1-1 ( 图中“/” 两边分别为基本型和增强型 )

1.1.2 CPU
CPU是单片机的核心部件。它由运算器和控制器等部件组 成。 1. 运算器 运算器的功能是 ? 进行算术运算:加、减、乘、除、加1、减1、比较BCD码十进 制调整等 ? 逻辑运算:与、或、异或、求反、循环等逻辑操作 ? 位操作:内部有布尔处理器,它以进位标志位C为位累加器, 用来处理位操作。可对位置 “1”、对位清零 、位判断等。 操作结果的状态信息送至状态寄存PSW。

2.程序计数器PC 程序计数器PC是16位的寄存器,用来存放即将要执行的指令 地址,可对64KB程序存储器直接寻址。执行指令时,PC内容的低 8位经P0口输出,高8位经P2口输出。 3.控制部件是单片机的神经中枢, 它包括定时和控制电路、 指 令寄存器、 译码器及信息传送控制部件。指令寄存器中存放指 令代码。CPU执行指令时,由程序存储器中读取的指令代码送入 指令存储器,经指令译码器译码后由定时与控制电路发出相应的 控制信号,完成指令功能。

1.2 存 储 器
MCS-51的储存器结构与常见的微型计算机的配置方法不同,它 将程序存储器和数据存储器分开,各有自己的寻址方式、控制信号 和功能。 程序存储器用来存放程序和始终要保留的常数。 数据存储器存放程序运行中所需要的常数和变量。 从物理空间看,MCS-51有四个存储器地址空间: 片内数据存储器、片外数据存储器 片内程序存储器、片外程序存储器 MCS-51存储器物理结构见下图所示:

内部数据
存储器 内部程序

外部程序 存储器 (ROM)

外部数据 存储器 (RAM)

存储器
8XX51

MCS-51存储器物理结构
从逻辑上看,MCS-51有三个存储器空间: 片内数据存储器、片外数据存储器 片内、片外统一编址的程序存储器 MCS-51的存储器逻辑结构如下图。

FFFFH

外部 ROM
1000H FFFFH

地址重叠
FFH
0FFFH

0FFFH

外部ROM (EA=0)
H0000

内部ROM (EA=1) 8051

(增强型)
80H 7FH

特殊功能 寄存器

外部
RAM

内部数据

8031

00H

RAM

0000H

H0000

程序存储器

内部数据存储器

外部数据存储器

图1-2 MCS-51单片机的存储器逻辑结构
引脚 EA 的接法决定了程序储存器的0000~0FFFH 4KB地址

范围是在单片机片内还是片外。

1.2.1 程序储存器
程序存储器用来存放编制好的始终保留的固定程序和表

格常数。程序储存器以程序计数器 PC 作为地址指针,通过16 位地址总线,可寻址的地址空间为64KB。 在8051/8751/89C51 片内,分别内置最低地址空间的4KB ROM/EPROM程序储存器(内部程序储存器),而在8031片内,则 无内部程序储存器,必须外部扩展EPROM。MCS-51单片机中64KB 内、外程序储存器的地址是统一编排的。

8031单片机无内部程序存储器,地址从0000H~FFFFH都
是外部程序存储空间。

对于内部有ROM的单片机(51、52系列)

引脚接高电*,使程序从内部ROM开始执行。当PC值 超出内部ROM的容量时,会自动转向外部程序存储器空间。 外部程序存储器地址空间为1000H~FFFFH。 访问程序存储器使用MOVC指令。

EA

?

程序存储器中的几个特殊地址的使用:
地址 0000H 0003H 000BH 0013H 001BH 0023H 用途 复位操作后的程序入口 外部中断0服务程序入口 定时器0中断服务程序入口 外部中断1服务程序入口 定时器1中断服务程序入口 串行口中断服务程序入口

由于两入口地址之间的存储空间有限,因此在编程时, 通常在这些入口地址开始的两三个地址单元中,放入一条转 移类指令,已使相应的程序转到指定的程序存储器区域中执 行。

1.2.2 外部数据存储器
? ?

用于存放随机读写的数据。 外部I/O口地址影像区。

MCS-51单片机的外部数据存储器和外部I/O口实行统一 编址 ,并使用相同的 RD WR作选通控制信号,均使用 MOVX 指令访问。
?

MCS-51 单片机最多可扩展64KB外部数据存储器

1.2.3 内部数据储存器 内部数据存储器是使用最多的地址空间, ? 存放随机读写的数据
?

通用寄存器区

? ?

堆栈区 运算操作数存放区 指令(算术运算、逻辑运算、位操作运算等)的操作数只能 在此地址空间或特殊功能寄存器地址空间。

内部数据存储器的地址分配 51 系列单片机内部数据存储器地址范围为00~7FH。各区域地 址见下表。 (1)地址 0~1FH的前32个单元称为寄存器区
?

用途:① 作通用寄存器R0~R7。

② R0与R1可作间址寄存器使用。

使用时应注意:
32个单元的寄存器区分为四组,使用时只能选其中一组寄存 器。 寄存器的选组由程序状态字PSW的RS1和RS0位定。 RS1 RS0 选寄存器组 0 0 0组 0 1 1组 1 0 2组 1 1 3组 初始化时或复位时,自动选中0组。 一旦选中一组,其它三组只能作为数据存储器使用,而不能 作为寄存器使用。 设置多组寄存器可以方便保护现场。

?

? ? ?

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

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

(3)除选中的寄存组以外的存储器均可以作为通用RAM区。 (4)堆栈区
8XX51单片机的堆栈设在内部RAM区,深度不大于128字节,

初始化时SP指向07H。
注: 对51基本型单片机只有00H~7FH单元128字节的RAM区。 对52增强型的单片机还有80H~FFH组成的高128字节RAM区(共256字节)。

1.3特殊功能寄存器
MCS-51单片机共有21个字节的特殊功能寄存器用英文缩写 SFR (Special Fuction Register)表示。 1.用途:
? ?

A 累加器、状态标志寄存器 单片机内部各部件专用的控制、状态寄存器

?

并行口、串行口影射寄存器
21个特殊功能器不连续的分布在80H~FFH 128个字节地址空 间。 地址为X0H和X8H是可位寻址的寄存器。

2.地址空间:
?

?

D7
CY

D6
AC

D5
F0

D4

D3

D2

D1


D0
P
法为借位。

RS1 RS0 OV

CY:进/借位标志 反映最高位的进位借位情况,加法为进位、减 CY=1,有进/借位 ; CY=0,无进/借位。 AC:辅助进/借位标志 反映高半字节与低半字节之间的进/借位, AC=1有进/借位; AC=0无进/借位 。 FO:用户标志位。可由用户设定其含义。 RS1,RS0:工作寄存器组选择位。 OV:溢出标志 反映补码运算的运算结果有无溢出 有溢出 OV=1,无溢出OV=0。 P:奇偶标志 运算结果有奇个“1”,P=1; 运算结果有偶个“1”,P=0。 影响标志位的指令及其影响方式见第2章。 SP—堆栈指针。8XX51单片机的堆栈设在片内RAM,

注:

在52子系列中,高128字节RAM和SFR的地址是重叠

的,究竟访问哪一块可通过不同的寻址方式加以区分,

访问高128字节RAM采用寄存器间址,访问SFR则只能采
用直接寻址,访问低128字节RAM时,两种寻址均可采用。

1.4 时钟电路与复位电路 1.4.1 时钟电路
单片机的时钟信号用来提供单片机内各种微操作时间基准,8XX51 单片机的时钟信号通常有两种电路形式: 内部振荡方式和外部振荡方式。
C01 XTAL2

内部振荡方式:
在引脚 XTAL1和 XTAL2外 接晶体振荡器(简称晶振)。

C02
XTAL1 GND 8XX51

电容器C01、C02起稳定振荡频率、快速起振的作用。 电容值一般为 5~30PF。 由于单片机内部有一个高增益运算放大器, 当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

外部振荡方式是把 已有的时钟信号引入单 片机。这种方式适宜用 于使单片机的时钟与外 部信号保持一致。外部
悬空 外部 时钟
XTAL2 XTAL1 GND 8XX51

外部 时钟 悬空

XTAL2 XTAL1

振荡方式如图。

GND
8XX51 8XX51

CHMOS

HMOS

对HMOS的单片机(8031、 图1-4外部振荡方式 8031AH等)外部时钟信号由XTAL2引入,对于CHMOS 的单片机(8XCXX),外部时钟由XTAL1引入。

1.4.2
?

基本时序单位

单片机的时序单位有: 振荡周期:晶振的振荡周期,又称时钟周期, 为最小的时序单位。 状态周期:振荡频率经单片机内的二分频器分 频后提供给片内CPU的时钟周期。因此,一个 状态周期包含2个振荡周期。 机器周期(MC):1个机器周期由6个状态周期 及12个振荡周期组成。是计算机执行一种基本 操作的时间单位。

?

?

?

指令周期 执行一条指令所需的时间。一个指令周期由 1~4个机器周期组成,依据指令不同而不同。
4种时序单位中,振荡周期和机器周期是单片机内计 算其他时间值(例如,波特率、定时器的定时时间等) 的基本时序单位。

例:单片机外接晶振频率12MHZ时的各种时序单位:
振荡周期=1/fosc=1/12MHZ=0.0833us 状态周期=2/fosc=2/12MHZ=0.167us 机器周期=12/fosc=12/12MHZ=1us 指令周期=(1~4)机器周期=1~4us

1.4.3
?

复位电路

复位操作则使单片机的片内电路初始化,使单片机从 一种确定的状态开始运行。 ? 当MCS-51系列单片机的复位引脚 RST出现 5ms以上的 高电*时,单片机就完成了复位操作。如果RST持续为高 电*,单片机就处于循环复位状态。 ? 复位操作通常有2种基本形式: 上电复位 开关复位。

上电复位要求接通电源后,自动实现复位。

开关复位要求在电源接通的条件下,在单片机运行期间, 用接钮开关操作使单片机复位。
常用的上电且开关复位电路如图。
VCC

上电后,由于电容充电,使

RST C R 8XX51

RST持续一段高电*时间。当单片
机已在运行过程中时,按下复位键 也能使 RST持续一段时间的高电*, 从而实现上电且开关复位的操作。 通常选择 C=10?f ,R=10K?。

图1-5 复位电路

单片机的复位操作是使SFR寄存器进入初始化,不改变片 内RAM区中的内容。
几个主要特殊功能寄存器复位状态归纳如下:
?
? ? ?

PC=0000H,程序计数器为零表明单片机复位后程序从0000H 地址单元开始执行。
A=00H PSW=00H 表明累加器已被清零。 表明选寄存器0组为工作寄存器组。

SP=07H 表明堆栈指针指向片内RAM 07H单元,根据堆 栈操作的先加后压法则,第一个被压入的数据被写入08H单元 中。 P0~P3=FFH 表明已向各端口线写入1,各端口既可用于输 入又可用于输出。

?

51单片机有44和40个引脚封装形式,

1.5 引脚功能

1.6 小



单片机是集CPU、存储器、I/O接口于一体的大规模集成电路芯片。MCS-51系列 单片机是目前市场上应用最广泛的单片机机型。

本章重点是单片机的内部结构和存储器结构
51系列单片机内部包含:
? ?

一个8位的CPU。 4KB程序存储器ROM(视不同产品型号不同:8031内部无ROM;8051内部为掩模 式ROM;8751为EPROM;89C51内部为FLASH EEPROM)。 128字节RAM数据存储器。
两个16位定时器/计数器。

?
?

?
? ? ?

可寻址64KB外部数据存储器和64KB外部程序存储器空间的控制电路。
32条可编程的I/O线(四个8位并行I/O端口)。 一个可编程全双工串行口。 具有两个优先级嵌套中断结构的五个中断源。


相关推荐

最新更新

猜你喜欢