51单片机的硬件结构
4
资源的简单说明
3.中断系统:具有5个中断源,分为2个中 断优先级。 4.定时器/计数器:2个16位定时器/计数器, 具有四种工作方式。 5.串行口:1个全双工的串行口,具有四种 工作方式。 6.P0~P3口:为4个并行8位I/O口。
5
资源的简单说明
7.特殊功能寄存器(SFR):共有21个, 用于对片内各功能模块进行管理、控制、 监视。实际上是一些控制寄存器和状态 寄存器,是一个具有特殊功能的RAM区。 8.微处理器(CPU):为8位的CPU,且 内含一个1位的位处理器,不仅可处理字 节数据,还可以进行位变量的处理。
35
SFR
• 数据指针DPTR
数据指针DPTR是一个16位的SFR,其高位 字节寄存器用DPH表示,低位字节寄存器用 DPL表示。DPTR即可以作为一个16位寄存器 来用,也可以作为两个独立的8位寄存器DPH 和DPL来用。
36
SFR
• 端口P0~P3
特殊功能寄存器P0~P3分别为I/O端口 P0~P3的锁存器。即每一个8位I/O口都为RAM 的一个单元(8位)。 在MCS51中,I/O口和RAM统一编址,所 有访问RAM的指令,都可用来访问I/O口。对 于片外数据存储器和扩展的I/O口,也是统一编 址的。
16
51的中央处理器(CPU)
• 运算部件:运算部件包括算术逻辑部件ALU、 位处理器、累加器A、寄存器B、暂存器以及 程序状态字PSW寄存器等。该模块的功能是实 现数据的算术、逻辑运算、位变量处理和数据 传送等操作。 • 控制部件:控制部件是单片机的神经中枢,以 主振频率为基准(每个主振周期称为振荡周 期),控制器控制CPU的时序,对指令进行译 码,然后发出各种控制信号,它将各个硬件环 节组织在一起。
10
引脚功能分类
11
1 电源及时钟引脚
• 电源引脚: Vcc(40)+5V、 Vss(20)GND • 时钟引脚: XTAL1、XTAL2. 采用片内振荡器时,这两个引脚接 晶振;采用外部振荡器时, XTAL1接地, XTAL2接外部振荡器的输出端。
12
2 控制引脚
• RST/VPD(9脚):当振荡器启振后, 在此引脚加上两个机器周期以上的高电 平将使单片机复位。在单片机正常工作 时,此脚应为<0.5V低电平。 另外,此引脚可接上备用电源,系统掉 电时向内部RAM供电,使其保持数据。 什么是机器周期?
18
程序状态寄存器: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的位数的奇偶数。
• 程序状态字寄存器PSW
PSW是一个8位寄存器,它包含了程序状态信息。
34
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。
• 时序图
每2个振荡周期作为1个状态周期,每个状态周期分 为2个时相P1、P2,每6个状态周期作为1个机器周期。
21
51的存储器结构
• • • • • 程序存储器 内部数据存储器 特殊功能寄存器(SFR) 位地址空间 外部数据存储器
22
存储器简单介绍
• 程序存储器 用来存放程序的存储器,存储器中 存放的实际上是由用户程序形成的二进 制码(机器码),该存储器必须具有非 易失性。外部可扩展64k字节。
19
运算部件: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)
20
控制部件
29
内部数据存储器
• MCS51内部数据存储器(RAM)共有128个字 节,地址00H~7FH。51对内部数据存储器有丰 富的操作指令。
30
特殊功能寄存器(SFR)
• SFR共21个,存在于单片机中的一部分RAM单元中, 地址范围80H~FFH,呈离散分布。
31
特殊功能寄存器(SFR)
• SFR简介
37
SFR
• 串行数据缓冲器SBUF
串行数据缓冲器SBUF用于存放欲发或已接收的 数据,它在SFR块中只有一个字节地址,但是物理上 由两个独立的寄存器组成,一个发送一个接收。
• 定时器/计数器
51单片机有2个16位定时/计数器T0、T1,他们各 由两个独立的8位寄存器组成,分别是TH0、TL0; TH1,TL1。不能把T0、T1作为16位寄存器操作。
15
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口,双功能复用口。
44
P3口的第二功能
45
I/O口的内部结构
• 每一位引脚由锁存器、输出驱动器和输入缓冲器组成。
41
MCS51存储器结构的特点
• • • • • 地址重叠性
程序存储器与数据存储器操作指令不同
位地址空间共有两个区域 堆栈区可自由设定 片外数据存储器与I/O口统一编址
42
MCS51存储器结构示意
43
I/O端口
• 简介
MCS51单片机具有4个双向8位I/O口,每个口都有 一个锁存器。 P0口是三态双向口,作为数据和低8位地址的分时 复用口,由ALE信号作为地址锁存。 P1口准双向口,供用户使用。 P2口准双向口,作为高8位地址使用,当扩展的外 部存储器小于64k时,即有未用到的P2口线,可作为一 般I/O口使用。 P3口准双向口,即可作为一般I/O口使用,也可作 为第二功能口使用。
38
位地址空间
• MCS51中共有可 寻址的位211个, 构成了8051的位地 址空间。在RAM 区,有可寻址128 位,其位地址为 00~7FH。可位寻 址RAM的字节地 址为20H~2FH。
39
位地址空间
• 可位寻址的SFR。 共83位
40
外部数据存储器
• 当内部RAM不够使用时,可以外扩数据 存储器,最多64k。
27
程序存储器
• 程序存储器中存放程序和表格,最多外 扩64k。由程序计数器(PC)控制程序的 执行,PC中存放的是将要执行的下一条 指令的地址,是由单片机内部硬件自动 生成的,且自动加一。复位后PC值为 0000H,因而程序总是从程序存储器的 0000H处开始执行。
28
程序存储器
• 一些指令会影响到PC的连续性,例如跳转类,中断响 应等。 • 例如中断,单片机响应不同的中断后,PC被硬件赋予 不同的值。称为单片机的中断入口地址: 外部中断0(INT0) 0003H 定 时 器0(T0) 000BH 外部中断1(INT1) 0013H 定 时 器1(T1) 001BH 串 行 口 0023H 由于程序存储器的起始部分具有特殊意义,在编 制程序时主程序中最好有跳转指令,在中断程序中也 要有跳转指令。
MCS-51 单 片 机 原 理 及 设 计
第2讲:MCS-51的硬件结构
电气工程系 赵志衡 TEL:86413623 E-mail:zhzhhe@
1
MCS-51程主要内容
(1)51的资源 (2)51的外观及引脚简介 (3)51的CPU (4)51的存储器结构 (5)51的I/O端口 (6)复位电路 (7)时钟电路
23
存储器简单介绍
• 内部数据存储器 MCS51单片机内部有128个字节的随 机存取存储器RAM,作为用户的数据寄 存器、它能满足大多数控制型应用场合 的需要,用作处理问题的数据缓冲器。 52系列具有256字节的内部RAM。
24
存储器简单介绍
• 特殊功能寄存器(SFR) 特殊功能寄存器反映了MCS51的状态,实 际上是MCS51的状态字及控制字寄存器。51单 片机通过写SFR来控制相应功能部件(定时器、 串口、中断等)的工作方式,同时SFR也综合 的、实际的反映了整个单片机基本系统内部的 工作状态。例如,前面提到的PSW程序状态字 寄存器,就是一个特殊功能寄存器。
25
存储器简单介绍
• 位地址空间 MCS51单片机内部具有211个可寻址 的位,他们存在于内部RAM(128个)、 和SFR(83个)中。用来存放一些位变量。 有相应的位操作指令来控制其读写。
26
存储器简单介绍
• 外部数据存储器 当片内的RAM不够用时,MCS51可 在片外扩展64k的数据存储器。
32
特殊功能寄存器(SFR)
• 可位寻址的SFR位地址
33
SFR
• 累加器A
累加器A是一个最常用的专用的寄存器,大部分单操作数指 令的操作数取自累加器,很多双操作数指令的一个操作数取自累 加器,加、减、乘、除算术运算指令的运算结果都存放在累加器 A或B寄存器中。