54
1 第2第MCS-51 第第第第第 电电电电电 电电电 TEL:86413623 E-mail:[email protected] MCS-51 电 电 电 电 电 电 电 电

第 2 讲: MCS-51 的硬件结构

Embed Size (px)

DESCRIPTION

MCS-51 单 片 机 原 理 及 设 计. 第 2 讲: MCS-51 的硬件结构. 电气工程系 赵志衡 TEL:86413623 E-mail:[email protected]. MCS-51 单 片 机 的 硬 件 结 构. 本讲课程主要内容. ( 1 ) 51 的资源 ( 2 ) 51 的外观及引脚简介 ( 3 ) 51 的 CPU ( 4 ) 51 的存储器结构 ( 5 ) 51 的 I/O 端口 ( 6 )复位电路 ( 7 )时钟电路. 51 的资源. 包括:微处理器 ( 8 位 CPU ) - PowerPoint PPT Presentation

Citation preview

Page 1: 第 2 讲: MCS-51 的硬件结构

1

第 2 讲: MCS-51 的硬件结构

电气工程系赵志衡

TEL:86413623E-mail:[email protected]

MCS-51 单 片 机 原 理 及 设 计MCS-51 单 片 机 原 理 及 设 计

Page 2: 第 2 讲: MCS-51 的硬件结构

2

本讲课程主要内容(1)51的资源(2)51的外观及引脚简介(3)51的CPU

(4)51的存储器结构(5)51的I/O端口(6)复位电路(7)时钟电路

MCS-51 单 片 机 的 硬 件 结 构MCS-51 单 片 机 的 硬 件 结 构

Page 3: 第 2 讲: MCS-51 的硬件结构

3

51 的资源 包括:微处理器 ( 8 位 CPU ) 数据存储器( RAM ) 程序存储器( ROM/EPROM ) I / O 口 ( P0 口、 Pl 口、 P2 口、 P3

口) 同时具有串行通讯、定时器 / 计数器、中断系统

及特殊功能寄存器( SFR )。

Page 4: 第 2 讲: MCS-51 的硬件结构

4

资源的简单说明

1 .数据存储器( RAM ): 51 片内为 128 个字节, 52 为 256 字节。片外最多可外扩至 64k 。

2 .程序存储器( ROM/EPROM ): 8031 不含; 8051 为 4k ROM ,但用户不可改写。 8751 则为 4k EPROM 。 片外最多可外扩至 64k

Page 5: 第 2 讲: MCS-51 的硬件结构

5

资源的简单说明

3 .中断系统:具有 5 个中断源,分为 2 个中断优先级。

4 .定时器 / 计数器: 2 个 16 位定时器 / 计数器,具有四种工作方式。

5 .串行口: 1 个全双工的串行口,具有四种工作方式。

6 . P0~P3 口:为 4 个并行 8 位 I/O 口。

Page 6: 第 2 讲: MCS-51 的硬件结构

6

资源的简单说明

7 .特殊功能寄存器( SFR ):共有 21 个,用于对片内各功能模块进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的 RAM 区。

8 .微处理器( CPU ):为 8 位的 CPU ,且内含一个 1 位的位处理器,不仅可处理字节数据,还可以进行位变量的处理。

Page 7: 第 2 讲: MCS-51 的硬件结构

7

51 片内结构

Page 8: 第 2 讲: MCS-51 的硬件结构

8

资源的特点 MCS-51 单片机的硬件结构具有功能

部件种类全,功能强等特点。 特别指出: MCS-51 除具有 8 位数

据处理运算能力外,还具有 1 位处理功能,这使得 51 在逻辑电路仿真、过程控制方面是非常有效。

Page 9: 第 2 讲: MCS-51 的硬件结构

9

51 的外观及引脚

Page 10: 第 2 讲: MCS-51 的硬件结构

10

引脚的分类( 1 )电源及时钟引脚: Vcc 、 Vss 、 XTAL1 、

XTAL2.

( 2 )控制引脚: PSEN 、 ALE 、 EA 、 RESET

( 3 ) I/O 口引脚: P0 、 P1 、 P2 、 P3 。

MCS-51 属于三总线结构:数据总线( DB )地址总线( AB )、控制总线( CB )。

Page 11: 第 2 讲: MCS-51 的硬件结构

11

引脚功能分类

Page 12: 第 2 讲: MCS-51 的硬件结构

12

1 电源及时钟引脚• 电源引脚: Vcc ( 40 ) +5V 、 Vss ( 20 ) GND

• 时钟引脚: XTAL1 、 XTAL2.

采用片内振荡器时,这两个引脚接晶振;采用外部振荡器时, XTAL1 接地, XTAL2 接外部振荡器的输出端。

Page 13: 第 2 讲: MCS-51 的硬件结构

13

2 控制引脚• RST / VPD ( 9 脚):当振荡器启振后,

在此引脚加上两个机器周期以上的高电平将使单片机复位。在单片机正常工作时,此脚应为 <0.5V 低电平。

另外,此引脚可接上备用电源,系统掉电时向内部 RAM 供电,使其保持数据。

Page 14: 第 2 讲: MCS-51 的硬件结构

14

• ALE / PROG ( 30 脚):当访问单片机外部存储器时, ALE (地址锁存允许)输出脉冲的下降沿用于 16 位地址的低 8位的锁存信号。

即使不访问外部锁存器, ALE 端仍有正脉冲信号输出,此频率约为时钟振荡器频率的

1 / 6 。但在执行某些指令时会不发出 ALE 信号,因而用户不能用做时钟源或定时。

Page 15: 第 2 讲: MCS-51 的硬件结构

15

• PSEN ( 29 脚):是访问外部程序存储器的读选通信号。

• EA ( 31 脚):当 EA 端保持高电平时, 51 先访问内部程序存储器,但在 PC (程序计数器)值超过 0FFFH 时(对于 8051 、 8751 来说),将自动转向执行外部程序存储器内的程序。

当 EA 保持低电平时,不管是否有内部程序存储器,只访问外部程序存储器。

Page 16: 第 2 讲: MCS-51 的硬件结构

16

3 I/O 口引脚• P0 口:双向 8 位三态 I/O 口,此口为地址

总线(低 8 位)及数据总线分时复用口可带 8 个 LSTTL 负载。

• P1 口: 8 位准双向 I/O 口,可带 4 个 LSTTL 负载。

• P2 口: 8 位准双向 I/O 口,与地址总线(高 8 位)复用,可带 4 个 LSTTL 负载。

• P3 口: 8 位准双向 I/O 口,双功能复用口。

Page 17: 第 2 讲: MCS-51 的硬件结构

17

51 的中央处理器( CPU )• 运算部件:运算部件包括算术逻辑部件 ALU 、

位处理器、累加器 A 、寄存器 B 、暂存器以及程序状态字 PSW 寄存器等。该模块的功能是实现数据的算术、逻辑运算、位变量处理和数据传送等操作。

• 控制部件:控制部件是单片机的神经中枢,以主振频率为基准(每个主振周期称为振荡周期),控制器控制 CPU 的时序,对指令进行译码,然后发出各种控制信号,它将各个硬件环节组织在一起。

Page 18: 第 2 讲: MCS-51 的硬件结构

18

运算部件 :ALU 、 A 、 B• ALU :功能强大,它不仅可对 8 位变量进行逻

辑“与、或、异或”、循环、求补和清零等基本操作,还可以进行加、减、乘、除等基本运算, ALU 还具有位处理操作,如置位、清零、求补、测试。转移及逻辑“与、或”等操作。

• 累加器 A : ALU 中的主要寄存器,大部分指令都用到它。

• 寄存器 B :是为执行乘法和除法操作设置的,在不执行乘、除法操作的一般情况下可把它当作一个普通寄存器使用。

Page 19: 第 2 讲: MCS-51 的硬件结构

19

程序状态寄存器: PSW

• PSW.1 是保留位,未用。• Cy ( PSW.7 )进位标志位,在执行算术和逻辑指令时,可

以被硬件或软件置位或清除,在位处理器中,它是位累加器。• Ac ( PSW.6 )辅助进位标志位。• F0 ( PSW.5 )标志位,它是由用户使用的一个状态标志位。• RS1 、 RS0 ( PSW.4 、 PSW.3 ):寄存器区选择控制位• OV ( PSW.2 ):溢出标志位。• P ( PSW.0 )奇偶标志位。每个指令周期都由硬件来置位或清除,以表示累加器 A 中值为 1 的位数的奇偶数。

Page 20: 第 2 讲: MCS-51 的硬件结构

20

运算部件: PSW

• 工作寄存器的选择: RS1 RS0软件写入 0 0 区 0 (选择内部 RAM 寄存器地址 00H~

07H )

0 1 区 1 (选择内部 RAM 寄存器地址 08H~0FH )

1 0 区 2 (选择内部 RAM 寄存器地址 10H~ 17H )

1 1 区 3 (选择内部 RAM 寄存器地址 18H~ 1FH )

Page 21: 第 2 讲: MCS-51 的硬件结构

21

控制部件• 时序图 每 2 个振荡周期作为 1 个状态周期,每个状态周期分为 2

个时相 P1 、 P2 ,每 6 个状态周期作为 1 个机器周期。

Page 22: 第 2 讲: MCS-51 的硬件结构

22

51 的存储器结构• 程序存储器• 内部数据存储器• 特殊功能寄存器( SFR )• 位地址空间• 外部数据存储器

Page 23: 第 2 讲: MCS-51 的硬件结构

23

存储器简单介绍• 程序存储器 用来存放程序的存储器,存储器中

存放的实际上是由用户程序形成的二进制码(机器码),该存储器必须具有非易失性。外部可扩展 64k 字节。

Page 24: 第 2 讲: MCS-51 的硬件结构

24

存储器简单介绍• 内部数据存储器 MCS51 单片机内部有 128 个字节的随机存取存储器 RAM ,作为用户的数据寄存器、它能满足大多数控制型应用场合的需要,用作处理问题的数据缓冲器。52 系列具有 256 字节的内部 RAM 。

Page 25: 第 2 讲: MCS-51 的硬件结构

25

存储器简单介绍• 特殊功能寄存器( SFR) 特殊功能寄存器反映了MCS51 的状态,

实际上是 MCS51 的状态字及控制字寄存器。 51 单片机通过写 SFR 来控制相应功能部件(定时器、串口、中断等)的工作方式,同时 SFR也综合的、实际的反映了整个单片机基本系统内部的工作状态。例如,前面提到的 PSW 程序状态字寄存器,就是一个特殊功能寄存器。

Page 26: 第 2 讲: MCS-51 的硬件结构

26

存储器简单介绍• 位地址空间 MCS51 单片机内部具有 211 个可寻址

的位,他们存在于内部 RAM ( 128 个)、和 SFR ( 83 个)中。用来存放一些位变量。

有相应的位操作指令来控制其读写。

Page 27: 第 2 讲: MCS-51 的硬件结构

27

存储器简单介绍• 外部数据存储器 当片内的 RAM 不够用时, MCS51

可在片外扩展 64k 的数据存储器。

Page 28: 第 2 讲: MCS-51 的硬件结构

28

程序存储器• 程序存储器中存放程序和表格,最多外

扩 64k 。由程序计数器( PC )控制程序的执行, PC 中存放的是将要执行的下一条指令的地址,是由单片机内部硬件自动生成的,且自动加一。复位后 PC 值为0000H ,因而程序总是从程序存储器的 0000H 处开始执行。

Page 29: 第 2 讲: MCS-51 的硬件结构

29

程序存储器• 一些指令会影响到 PC 的连续性,例如跳转类,中断响

应等。• 例如中断,单片机响应不同的中断后, PC被硬件赋予

不同的值。称为单片机的中断入口地址: 外部中断 0 ( INT0 ) 0003H

定 时 器 0 ( T0 ) 000BH

外部中断 1 ( INT1 ) 0013H

定 时 器 1 ( T1 ) 001BH

串 行 口 0023H

由于程序存储器的起始部分具有特殊意义,在编制程序时主程序中最好有跳转指令,在中断程序中也要有跳转指令。

Page 30: 第 2 讲: MCS-51 的硬件结构

30

内部数据存储器• MCS51 内部数据存储器( RAM )共有 128 个

字节,地址 00H~7FH 。 51 对内部数据存储器有丰富的操作指令。

Page 31: 第 2 讲: MCS-51 的硬件结构

31

特殊功能寄存器( SFR )• SFR 共 21 个,存在于单片机中的一部分 RAM 单元中,

地址范围 80H~FFH ,呈离散分布。

Page 32: 第 2 讲: MCS-51 的硬件结构

32

特殊功能寄存器( SFR )• SFR 简介

Page 33: 第 2 讲: MCS-51 的硬件结构

33

特殊功能寄存器( SFR )

• 可位寻址的 SFR 位地址

Page 34: 第 2 讲: MCS-51 的硬件结构

34

SFR• 累加器 A 累加器 A 是一个最常用的专用的寄存器,大部分单操作数指

令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器,加、减、乘、除算术运算指令的运算结果都存放在累加器A 或 B 寄存器中。

• 寄存器 B 在乘、除指令中,用到 B 寄存器。不进行算数操作时,可作

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

Page 35: 第 2 讲: MCS-51 的硬件结构

35

SFR

• 栈指针 SP 栈指针 SP 是一个 8 位专用寄存器,它指示出堆栈顶部

在内部 RAM 块中的位置, 51 单片机栈向上生成,且后入先出。系统复位后, SP初始化为 07H ,使得堆栈事实上由 08H 单元开始,考虑到 08H~ 1FH 单元分别属于工作寄存器区 1~ 3 ,若在程序设计中要用到这些区,则最好把 SP 值改置为 1FH 或更大的值。例如 SP= 60H , CPU 执行一条 A 累加器进栈指令, push a;

执行后寄存器状态: (61H)=A ,( sp )= 61H 。

Page 36: 第 2 讲: MCS-51 的硬件结构

36

SFR

• 数据指针 DPTR 数据指针 DPTR 是一个 16 位的 SFR ,其

高位字节寄存器用 DPH表示,低位字节寄存器用 DPL表示。 DPTR 即可以作为一个 16 位寄存器来用,也可以作为两个独立的 8 位寄存器 DPH 和 DPL 来用。

Page 37: 第 2 讲: MCS-51 的硬件结构

37

SFR

• 端口 P0~P3

特殊功能寄存器 P0~ P3 分别为 I/O 端口 P0~P3 的锁存器。即每一个 8 位 I/O 口都为 RAM 的一个单元( 8 位)。

在 MCS51 中, I/O 口和 RAM 统一编址,所有访问 RAM 的指令,都可用来访问 I/O 口。对于片外数据存储器和扩展的 I/O 口,也是统一编址的。

Page 38: 第 2 讲: MCS-51 的硬件结构

38

SFR

• 串行数据缓冲器 SBUF

串行数据缓冲器 SBUF 用于存放欲发或已接收的数据,它在 SFR 块中只有一个字节地址,但是物理上由两个独立的寄存器组成,一个发送一个接收。

• 定时器 /计数器 51 单片机有 2 个 16 位定时 / 计数器 T0 、 T1 ,他们各由两个独立的 8 位寄存器组成,分别是 TH0 、 TL0 ; TH1 , TL1 。不能把 T0 、 T1 作为 16 位寄存器操作。

Page 39: 第 2 讲: MCS-51 的硬件结构

39

位地址空间• MCS51 中共有可寻址的位 211 个,构成了 8051 的位地址空间。在 RAM 区,有可寻址 128 位,其位地址为 00~7FH 。可位寻址 RAM 的字节地址为 20H~2FH 。

Page 40: 第 2 讲: MCS-51 的硬件结构

40

位地址空间

• 可位寻址的 SFR 。共 83 位

Page 41: 第 2 讲: MCS-51 的硬件结构

41

外部数据存储器• 当内部 RAM 不够使用时,可以外扩数据

存储器,最多 64k 。

Page 42: 第 2 讲: MCS-51 的硬件结构

42

MCS51 存储器结构的特点• 地址重叠性• 程序存储器与数据存储器操作指令不同• 位地址空间共有两个区域• 堆栈区可自由设定• 片外数据存储器与 I/O口统一编址

Page 43: 第 2 讲: MCS-51 的硬件结构

43

MCS51 存储器结构示意

Page 44: 第 2 讲: MCS-51 的硬件结构

44

I/O 端口• 简介 MCS51 单片机具有 4 个双向 8 位 I/O 口,每个口都

有一个锁存器。 P0 口是三态双向口,作为数据和低 8 位地址的分

时复用口,由 ALE 信号作为地址锁存。 P1 口准双向口,供用户使用。 P2 口准双向口,作为高 8 位地址使用,当扩展的

外部存储器小于 64k 时,即有未用到的 P2 口线,可作为一般 I/O 口使用。

P3 口准双向口,即可作为一般 I/O 口使用,也可作为第二功能口使用。

Page 45: 第 2 讲: MCS-51 的硬件结构

45

P3 口的第二功能

Page 46: 第 2 讲: MCS-51 的硬件结构

46

I/O 口的内部结构• 每一位引脚由锁存器、输出驱动器和输入缓冲器组成。

注意读锁存器、读引脚的不同。• 双向口与准双向口 P0 口双向口,没有上拉电阻,可以处于浮空、高阻状

态。 P1 、 P2 、 P3 口含有上拉电阻,当外部维持低电平时,要能提供源电流;外部低电平消失后,自动拉高。

作为输入口使用时必须先置 1 ,关断输出驱动器。

Page 47: 第 2 讲: MCS-51 的硬件结构

47

I/O 口的内部结构

Page 48: 第 2 讲: MCS-51 的硬件结构

48

I/O 口的读操作• 读锁存器 读锁存器指令是从锁存器中读取数据,进行处理,并把处理

后的数据重新写入锁存器中,这类指令称为读、修改、写指令。在 ANL 、 ORL 、 XRL ; JBC ; CPL ; 等指令中,当目的操作数为某一 I / O 口或 I / O 口的某一位时,这些指令均为读、修改、写指令。

• 读引脚 读引脚指令一般都是以 I/O 端口为源操作数的指令,执行读

引脚指令时,打开三态门,输入口状态。例如,读 P1 口的输入状态时,读引脚指令为: MOV A , P1 。

Page 49: 第 2 讲: MCS-51 的硬件结构

49

注意: I/O 口锁存器写的特别之处• 当给口锁存器写入某一状态后,相应的口引脚是否呈现

锁存器的状态,是与外电路的联接有关。 例如,用 I/O口线驱动外部三极管基极时,该口线

位锁存器写入“ 1”后使外部三极管导通,而三极管一旦导通后,基极电平为“ 0”。口锁存器与引脚状态不一致

• 当给一个准双向口输出“ 0” 后,输出驱动器打开,管脚电位拉低为“ 0” ,此时如将该管脚作输入脚使,将无法输入高电平。

作为初学者,在设计 8051系统时,对 51的 I/O管脚要统一规划使用,一个管脚不能既作为输入,又作为输出。换言之,一个管脚如果第一次用其为输入,一直用其作为输入管脚。

Page 50: 第 2 讲: MCS-51 的硬件结构

50

复位电路• 复位为单片机提供了初始化手段,当 RST 引脚

保持 24 个时钟周期以上的高电平将引起复位。• 在复位有效期间(即高电平), ALE 引脚为高

电平,且内部 RAM 不受复位的影响。• 复位后的部分寄存器状态( 1 ) PC=0000H

( 2 ) PSW=00H 选择工作寄存器 0 区( 3 ) SP=07H

Page 51: 第 2 讲: MCS-51 的硬件结构

51

复位电路

现在采用专门的复位管理芯片,例如 TL7705

Page 52: 第 2 讲: MCS-51 的硬件结构

52

时钟电路• 可以由内部方式或者外部方式产生时钟

晶振

1.2MHz~12MHz

电容

20pF~100pF

典型值: 30pF

目前,有些型号晶振频率更高

Page 53: 第 2 讲: MCS-51 的硬件结构

53

时钟电路• 外部方式

Page 54: 第 2 讲: MCS-51 的硬件结构

54

END

复习 8051硬件结构预习 8051指令系统