当前位置:首页 >> 数学 >> 第2章(第4版)-1

第2章(第4版)-1


设计者:刘艳玲
单片机原理及接口技术

第2章
?§2.1 ?§2.2 ?§2.3 ?§2.4

89C51/S51单片机的结构和原理
89C51/S51单片机芯片内部结构及特点 89C51/S51单片机引脚及其功能 89C51/S51单片机存储器配置 时钟电路及89C51/S51CPU时序

/>?§2.5
?§2.6 ?§2.7

复位操作
89C51/S51单片机的低功耗工作方式 输出/输入端口结构

单片机原理及接口技术

§2.1 89C51/S51单片机芯片内部结构及特点

? §2.1.1 89C51/S51单片机的基本组成

?§2.1.2 89C51/S51单片机芯片内部结构

单片机原理及接口技术

§2.1.1 89C51/S51单片机的基本组成

?一、组成
?二、89C51/S51系列单片机的性能

单片机原理及接口技术

一、组成
? 89C51/S51带闪存(Flash ROM)单 片机结构框图 如 图2-1所示

单片机原理及接口技术

图2-1 89C51/S51单片机结构框图
外部时钟源 程序存储器 4KB FLASH ROM 外部事件计数

振荡器和时序 OSC

数据存储器 256B RAM/SFR

2×16位 定时器/计数器

80C51 CPU 64KB 总线 扩展控制器 内中断 外中断 控制 P0 P2 P1 P3
地址/数据

可编程I/O

可编程全双工 串行口 串行通信

一、组成
?1、一个8位 的微处理器CPU。 ?2、片内数据存储器(RAM128B/256B): ?3、片内4kB程序存储器Flash ROM(4KB):
用以存放程序、一些原始数据和表格。

用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。

?4、四个8位并行I/O(输入/输出)接口 P0~P3:
每个口可以用作输入,也可以用作输出。

单片机原理及接口技术

?5、两个16位定时/计数器:
每个定时/计数器都可以设置成计数方式,用以 对 外部事件进行计数,
也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制。

?6、具有5个中断源、两个中断优先级的中断控制系统
?7、一个全双工UART的串行I/O口:
可实现单片机与单片机或其它微机之间串行通信。

?8、片内振荡器和时钟产生电路:
但石英晶体和微调电容需要外接,最高允许振荡频率为24 MHz。

?9、具有节电工作方式:

休闲方式及掉电方式。

单片机原理及接口技术

二、89C51/S51/S51系列单片机的性能
? ? ? 89C51/S51/S51单片机与8051相比,具有节电工作方式,即休闲方 式及掉电方式。 以上各个部分通过片内8位数据总线(DBUS)相连接。 另外89C51/S51/S51是用静态逻辑来设计的,其工作频率可下降到0 Hz,并提供两种可用软件来选择的省电方式——空闲方式(Idle Mode) 和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作, 而RAM、定时器/计数器、串行口和中断系统都继续工作。此时的电流可 降到大约为正常工作方式的15%。在掉电方式中,片内振荡器停止工作, 由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容, 直到下一次硬件复位为止。这种方式下的电流可降到15 μA以下,最小可 降到0 6 μA。 89C51/S51单片机还有一种低电压的型号,即89LV51,除了电压范围 有区别之外,其余特性与89C51/S51完全一致。 89C51/S51/LV51是一种低功耗/低电压、高性能的8位单片机。它采 用了CMOS工艺和高密度非易失性存储器(NURAM)技术,而且其输出 引脚和指令系统都与MCS51兼容;片内的Flash ROM允许在系统内改编 程序或用常规的非易失性存储器编程器来编程。因此 89C51/S51/LV51是一种功能强、灵活性高,且价格合理的单片机, 可方便地应用在各种控制领域。

?
?

单片机原理及接口技术

§2.1.2 89C51/S51单片机芯片内部结构

? 一、结构图

?二、结构组成

单片机原理及接口技术

一、结构图
? 由 中央处理单元(CPU)、存储器 (ROM及RAM)和I/O接口组成。 ? 89C51/S51单片机内部结构如 图22所示。

单片机原理及接口技术

89C51/S51单 片机 内部结构图
RAM地址 寄存器

存储器

P0.0-P0.7 P0驱动器

P2.0-P2.7 I/O接口

P2驱动器

128B RAM

P0锁存器

P2锁存器

4KBROM

程序地址 寄存器
B寄存器 运算器

暂存器1

暂存器2

ACC

SP 缓冲器

ALU

PC增1 中断、串行口和定时器 PSW PC
DPTR

PSEN ALE EA RESET
控制器

定 时 控 制

指 令 译 码 器
OSC

指 令 寄 存 器

P1锁存器 P1驱动器 P1.0-P1.7

P3锁存器

P3驱动器
P3.0-P3.7

XTAL1

XTAL2

89C51/S51单 片机 内部结构图
RAM地址 寄存器

存储器

P0.0-P0.7 P0驱动器

P2.0-P2.7 I/O接口

P2驱动器

128B RAM

P0锁存器

P2锁存器

4KBROM

程序地址 寄存器
B寄存器 运算器

暂存器1

暂存器2

ACC

SP 缓冲器

ALU

PC增1 中断、串行口和定时器 PSW PC
DPTR

PSEN ALE EA RESET
控制器

定 时 控 制

指 令 译 码 器
OSC

指 令 寄 存 器

P1锁存器 P1驱动器 P1.0-P1.7

P3锁存器

P3驱动器
P3.0-P3.7

XTAL1

XTAL2

二、结构组成
?(一)、中央处理单元(CPU)
?(二)、存储器 ?(三)、I/O接口

单片机原理及接口技术

1、中央处理单元(89C51/S51CPU)

1)运算器
2)控制器

单片机原理及接口技术

1)运算器
(1)8位的ALU:

(2)8位累加器ACC(A):

(3)8位程序状态寄存器PSW: (4)8位寄存器B:
(5)布尔处理器: (6)2个8位暂存器:

单片机原理及接口技术

1)运算器
(1)8位的ALU:
? 可对4位、8位、16位数据进行操作。

单片机原理及接口技术

1)运算器
(2)8位累加器ACC(A):

它经常作为一个运算数经暂存器2进入
ALU的输入端,与另一个来自暂存器1

的运算数进行运算,运算结果又送回
ACC。
单片机原理及接口技术

1)运算器
(3)8位程序状态寄存器PSW:

指示指令执行后的状态信息供程序查询
和判别用。

单片机原理及接口技术

1)运算器
(4)8位寄存器B:

在乘除运算时,用来存放一个操作数也 用来存放运算后的一部分结果;如不 能做乘除运算时,作为通用寄存器。

单片机原理及接口技术

1)运算器
(5)布尔处理器:

专门用于处理位操作的,以PSW中的C为 其累加器。

单片机原理及接口技术

1)运算器
(6)2个8位暂存器:

ALU的两个入口处。

单片机原理及接口技术

2)控制器
(1)程序计数器PC(16位)

(2)指令寄存器IR及指令译码器ID (3)振荡器和定时电路

单片机原理及接口技术

(1)程序计数器PC(16位)
? 由两个8位计数器PCH、PCL组成。 ? PC是程序的字节地址计数器,PC内容 为将要执行的指令地址。 ? 改变PC内容,改变执行的流向。 ? PC可对64KB的ROM直接寻址,也可对 89C51/S51片内RAM寻址。

单片机原理及接口技术

(2)指令寄存器IR及指令译码器ID

? 由PC中的内容指定ROM地址
? 取出来的指令经IR送至ID ? 由ID对指令译码产生一定序列的控制

信号,以执行指令所规定的操作。

单片机原理及接口技术

(3)振荡器和定时电路
? 89C51/S51单片机片内有振荡电路,只需外接石
英晶体和频率微调电容(2个30pF左右),其频

率范围为1.2MHz~12MHz。该信号作为
89C51/S51工作的基本节拍即时间的最小单位。

单片机原理及接口技术

2、存储器
1)程序存储器(ROM)

2)数据存储器(RAM)

单片机原理及接口技术

1)程序存储器(ROM)

? 89C51/S51片内为4KB Flash ROM。 ? 地址从0000H开始。 ? 用于存放程序和表格常数。

单片机原理及接口技术

2)数据存储器(RAM)

? 89C51/S51RAM均为128B,地址为00H~7FH。 ? 用于存放运算的中间结果、数据暂存以及数据缓冲 等。 ? 这128B的RAM中有32个字节单元可指定为工作寄存器。 ? 片内还有21个特殊功能寄存器(SFR),它们同128 字节RAM统一编址,地址为80H~FFH。后面详细介绍。

单片机原理及接口技术

3、I/O接口
? 89C51/S51有四个8位并行I/O接口 P0~P3。 ? 它们都是双向端口,每个端口各有8 条I/O线。 ? P0-P3口四个锁存器同RAM统一编址, 可作为SFR来寻址。
单片机原理及接口技术

2.2 89C51/S51单片机引脚及其功能

§2.2.1

89C51/S51单片机引脚

§2.2.2 89C51/S51单片机引脚功能

单片机原理及接口技术

§2.2.1 引脚

89C51/S51单片机

? 图2-3是 89C51/S51/LV51的引脚结构图,有双列直插封 装(DIP)方式和方形封装方式。

单片机原理及接口技术

图2-3

89C51/S51/LV51的引脚结构

单片机原理及接口技术

§2.2.2

89C51/S51单片机引脚功能

? 一、电源引脚:Vcc和Vss ? 二、时钟电路引脚:XTAL1和XTAL2

? 三、控制信号引脚RST、ALE、PSEN和EA
? 四、 I/O(输入/输出)端口P0、P1、P2和 P3

单片机原理及接口技术

一、电源引脚:Vcc和Vss
1.Vcc(40脚):电源端,为+5V。

2.Vss(20脚):接地端。

单片机原理及接口技术

二、时钟电路引脚:XTAL1和XTAL2
? XTAL2(18脚):接外部晶体和微调电容的一
端;在89C51/S51 片内它是振荡电路反向放大 器的输出端,振荡电路的频率就是晶体固有频 率。若需采用外部时钟电路时,该引脚输入外 部时钟脉冲。89C51/S51正常工作时,该引脚应 有脉冲信号输出。

单片机原理及接口技术

二、时钟电路引脚:XTAL1和XTAL2
? XTAL1(19脚):接外部晶体和微调电

容的另一端;在片内它是振荡电路反
向放大器的输入端,在采用外部时钟 时,该引脚接地。

单片机原理及接口技术

三、控制信号引脚:
RST、ALE、PSEN和EA

? RST/VPD(9脚):
? RST:复位信号输入端,高电平有效。当

此输入端保持两个机器周期的高电平时,
就可以完成复位操作。

单片机原理及接口技术

三、控制信号引脚:
? RST/VPD(9脚):
RST、ALE、PSEN和EA

? VPD :RST引脚的第二功能,备用电源输 入端。当主电源Vcc 发生故障,降低到低 电平规定值时,将+5V电源自动接入该引 脚,为RAM提供备用电源,以保证RAM中的 信息不丢失,使得复位后能继续正常运行。

单片机原理及接口技术

三、控制信号引脚:
? ALE/PROG(30脚):
RST、ALE、PSEN和EA

? ALE:地址锁存允许信号端。正常工作时,该
引脚以振荡频率的1/6固定输出正脉冲。CPU访 问片外存储器时,该引脚输出信号作为锁存低 8位地址的控制信号。它的负载能力为8个LS型 TTL负载。

单片机原理及接口技术

三、控制信号引脚:
RST、ALE、PSEN和EA

? ALE/PROG(30脚):
? PROG:是对片内带有4KB Flash ROM的 89C51/S51编程写入时的编程脉冲输入 端。

单片机原理及接口技术

三、控制信号引脚:
RST、ALE、PSEN和EA

? PSEN(29脚):
? 程序存储器允许信号输出端。 ? 在访问片外ROM时,定时输出负脉冲作 为读片外ROM的选通信号,接片外ROM 的OE端。 ? 它的负载能力为8个LS型TTL负载。
单片机原理及接口技术

三、控制信号引脚:
RST、ALE、PSEN和EA

? EA/Vpp(31脚):
? EA: 外部程序存储器地址允许输入端。
? 当该引脚接高电平时,CPU访问片内ROM并

执行片内程序存储器中的指令,但当PC值 超过0FFFH(片内ROM为4KB)时,将自动转 向执行片外ROM中的程序。 ? 当该引脚接低电平时,CPU只访问片外ROM 并执行外部程序存储器中的程序。

单片机原理及接口技术

三、控制信号引脚:
? EA/Vpp(31脚):
RST、ALE、PSEN和EA

? Vpp:对89C51/S51片内 Flash ROM固化编 程时,编程电压输入端(12-21V)。

单片机原理及接口技术

四、输入输出端口P0、P1、P2和P3

? 1、准双向
? 2、P0口 ? 3、P1口 ? 4、P2口 ? 5、P3口 ? 6、端口某1位结构

单片机原理及接口技术

1、准双向
? 当I/O口作为输入时,应先向此口锁存
器写入全1, 此时该口引脚浮空,可

作高阻抗输入。

单片机原理及接口技术

2、P0口:
? 漏极开路的8位准双向I/O口,每位能驱动
8个LS型TTL负载。

? P0口可作为一个数据输入/输出口;
? 在CPU访问片外存储器时,P0口为分时复 用的低8位地址总线和8位数据总线。
单片机原理及接口技术

3、P1口:
? 带内部上拉电阻的8位准双向I/O端口,
每位能驱动4个LS型TTL负载。

单片机原理及接口技术

4、P2口:
? P2 口:带内部上拉电阻的 8 位准双向 I/O 端口,每位能驱动 4 个 LS 型 TTL 负载。在 CPU 访问片外存储器时,它 输出高8位地址。

单片机原理及接口技术

5、P3口:
? 带内部上拉电阻的8位准双向I/O端口, 每位能驱动4个LS型TTL负载。P3口除 作为一般I/O口外,每个引脚都有第二 功能。

单片机原理及接口技术

表2-2 P3端口引脚与复用功能表

口线 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

替代的第二功能 RXD(串行口输入) TXD(串行口输出) INT0(外部中断 0 输入) INT1(外部中断 1 输入) T0(定时器 0 的外部输入) T1(定时器 1 的外部输入) WR(写选通控制输出) RD(读选通控制输出)

6、端口某1位结构
? 图2-4、图2-5、图2-6和图2-7分别给出了P0、 P1、P2和P3端口的某1位结构。每个端口都是8位 准双向口,共占32只引脚。每一条I/O线都能独立 地用作输入或输出。 ? 每个端口都包括一个锁存器(即特殊功能寄存器 P0~P3)、一个输出驱动器和输入缓冲器。这些端 口作输出时,数据可以锁存;作输入时,数据可以 缓冲。但这4个通道的功能不完全相同,其内部结 构也略有不同。

单片机原理及接口技术

补充:

输出/输入端口结构

? I/O端口概述 §2.7.1 P1口 §2.7.2 P2口 §2.7.3 P0口 §2.7.4 P3口 §2.7.5 端口的负载能力和接口要求

返回

单片机原理及接口技术

I/O端口概述
1 . 89C51 单片机有四个 8 位并行 I/O 端口: P0 、 P1 、 P2和P3。 2.每个端口都是8位准双向口,共占32根引脚。 3.每一条I/O线都能独立地用作输入或输出。 4.每个端口都包括一个锁存器(即特殊功能寄存器

P0~P3 ),一个输出驱动器和输入缓冲器,作输出是
数据可以锁存,作输入时数据可以缓冲。
返回

单片机原理及接口技术

§2.7.1

P1口

一、P1口结构 二、P1口用作通用I/O

返回

单片机原理及接口技术

一、P1口结构:

§2.7.1

P1口

其电路结构见图2-19,输出驱动部分与P0口不同,内部有上拉负载电
阻与电源相连。实质上,电阻是两个场效应管FET并在一起:一个FET 为负载管,其电阻固定。另一个FET可工作在导通或截止两种状态,使

其总电阻值变化近似为 0或阻值很大两种情况。当阻值近似为0时,可
将引脚快速上拉至高电平;当阻值很大时,P1口为高阻输入状态。

22:04

返回

单片机原理及接口技术

图2-19

P1口某位的结构

22:04

返回

单片机原理及接口技术

§2.7.1

P1口

二、P1口用作通用I/O
P1口也是一个准双向口。 在端口用作输入时,也必须先向对应的锁存器写入 1 ,使 FET截止。 当P1口输出高电平时,能向外提供拉电流负载,所以不必 再接上拉电阻。

22:04

返回

单片机原理及接口技术

§2.7.2

P2口

一、P2口结构 二、P2口用作一般I/O口 三、P2口用作高8位地址总线

22:04

返回

单片机原理及接口技术

一、P2口结构
如图 2-20 所示, P2 口某位的结构与 P0 口类似,有 MUX开关。驱动部分与P1口类似,但比P1口多了一 个转换控制部分。

22:04

返回

单片机原理及接口技术

图2-20
22:04

P2口某位的结构图
返回

单片机原理及接口技术

二、P2口用作一般I/O口
1 、当 CPU 对片内存储器和 I/O 口进行读 / 写(执行 MOV
指令或 EA=1 时,执行 MOVC 指令)时,由内部硬件 自动使开关MUX倒向锁存器的Q端,这时,P2口为一 般I/O口。

22:04

单片机原理及接口技术

二、P2口用作一般I/O口
2、在只需扩展256B片外RAM的系统中,使用“MOVX A,

@Ri” 类指令访问片外 RAM 时,寻址范围是 256B , 只需低8位地址线就可以实现。P2口不受该指令影 响,仍可作通用I/O口。

22:04

单片机原理及接口技术

二、P2口用作一般I/O口
3 、 若 扩 展 的 RAM 容 量 超 过 256B , 使 用 “MOVX A,@DPTR”类指令的寻址范围是64KB, 此时,高8位地址总线用P2口输出。在片外RAM 读 / 写周期内, P2口锁存器仍保持原来端口的数 据 ; 在 访 问 片 外 RAM 周 期 结 束 后 , 多 路 开 关 MUX自动切换倒锁存器Q端。由于CPU对RAM的 访问不是经常的,在这种情况下,P2口在一定的 限度内仍可用作通用I/O口。

22:04

返回

单片机原理及接口技术

三、P2口用作高8位地址总线
当 CPU 对片外存储器或 I/O 口进行读 / 写(执 行 MOVX 指令或 EA=0 时执行 MOVC 指令)时, 开关倒向地址线(右)端,这时,P2口只输出高 8 位地址。因为访问片外 EPROM 和 RAM 的操作 往往接连不断,所以,P2口要不断送出高8位地 址,此时P2口无法再用作通用I/O口。

22:04

返回

单片机原理及接口技术

§2.7.3
一、结构

P0口

二、P0口作为一般I/O口使用 三、P0口作为地址/数据总线使用

22:04

返回

单片机原理及接口技术

一、结构
P0口某位的结构由一个输出锁存器、二个三态输
入缓冲器和输出驱动电路及控制电路组成。如图 2-21所示。 当C=0时,开关MUX被控为如图示位置,P0口为 通用I/O口;

当C=1时,开关拨向反相器3的输出端,P0口分时 作为地址/数据总线使用。

22:04

返回

单片机原理及接口技术

图2-21 P0口某位的结构图
当C=0时,开关MUX被控为如图示位置,P0口为通用I/O 口; 当 C=1 时,开关拨向反相器 3 的输出端, P0 口分时作为地 址/数据总线使用。
22:04

返回

单片机原理及接口技术

二、P0口作为一般I/O口使用
1、P0口用作输出口
2、P0口作输入口

22:04

返回

单片机原理及接口技术

1、P0口用作输出口
?当 CPU 执行输出指令时,写脉冲加在 D 锁存器
的CP上,这样,与内部总线相连的D端的数据取

反后就出现在 Q端上,又经输出级FET (T2)反
相,在P0端口上出现的数据正好是内部总线的数 据。这是一般的数据输出情况。

22:04

返回

单片机原理及接口技术

2、P0口作输入口
?当执行一条由端口输入的指令时,“读引脚”
脉冲把三态缓冲器2打开,这样,端口上的数据

经过缓冲器2读入到内部总线。
?在端口进行输入操作前,应先向端口锁存器写 入1,也就是使锁存器Q=0。因为控制线C=0, 因此 T1 和 T2 全截止,引脚处于悬浮状态,可作 高阻抗输入。

22:04

返回

单片机原理及接口技术

三、P0口作为地址/数据总线使用
1.P0口用作输出地址/数据总线
以P0口引脚输出低8位地址或数据信息,MUX开关把 CPU内部地址/数据线经反向器3与驱动场效应管FET (T2)栅极接通。上下两个FET处于反相,构成推拉 式的输出电路( T1 导通时上拉, T2 导通时下拉), 提高了负载能力。 当 P0 口被地址 / 数据总线占用时,就无法再作 I/O 口 使用了。

22:04

单片机原理及接口技术

三、P0口作为地址/数据总线使用
2.由P0口输入数据:
在“读引脚”信号有效时,打开输入缓冲器2,

使数据进入内部总线。

22:04

返回

单片机原理及接口技术

§2.7.4

P3口

一、结构 二、P3口作为通用I/O口使用
三、P3口用作第二功能使用

22:04

返回

单片机原理及接口技术

一、结构
1、P3口是一个多功能端口,其某一位的结构见图2-22。P3口与P1口的差 别在于多了“与非”门3和缓冲器4。使得P3口除了具有P1口的准双向 I/O功能外,还可以使用各引脚所具有的第二功能。 2、“与非”门3的作用实际上是一个开关,决定是输出锁存器上的数据还 是输出第二功能(W)的信号。当W=1时,输出 Q端信号;当 Q=1时, 可输出 W 线信号。 编程时,可不必事先由软件设置 P3 口为第一功能 (通用I/O口)还是第二功能。 3、当CPU对P3口进行SFR寻址(位或字节)访问时,由内部硬件自动将第 二功能输出线W置1,这时,P3口为通用I/O口。

4、当CPU不对P3口进行SFR寻址(位或字节)访问时,即用作第二功能输
出/输入线时,由内部硬件使锁存器Q=1。

22:04

返回

单片机原理及接口技术

图2-22
22:04

P3口某位的结构图
返回

单片机原理及接口技术

二、P3口作为通用I/O口使用
1、当把P3 口作为通用I/O口进行 SFR 寻址时“第二 输出功能端”W保持高电平,打开“与非”门3, D锁存器输出端Q的状态可通过“与非”门3送至 FET场效应管输出。 2 、当 P3 口作为输入使用(即 CPU 读引脚状态)时, 同P0—P2口一样应由软件向口锁存器写1。

22:04

返回

单片机原理及接口技术

三、P3口用作第二功能使用
当端口用于第二功能时,8个引脚可按位独
立定义。见表2-10

22:04

返回

单片机原理及接口技术

表2-10

口线 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

P3各口线与第2功能表
替代的第二功能 RXD(串行口输入) TXD(串行口输出) INT0(外部中断 0 输入) INT1(外部中断 1 输入) T0(定时器 0 的外部输入) T1(定时器 1 的外部输入) WR(写选通控制输出) RD(读选通控制输出)

22:04

返回

单片机原理及接口技术

§2.7.5
1、P0口:
?

端口的负载能力和接口要求

P0口与其他口不同,它的输出级无上拉电阻。当把它用作
通用I/O口时,输出级是开漏电路,故用其输出去驱动 NMOS输入时须外接上拉电阻。

?
?

用作输入时,应先向口锁存器(80H)写1。
把它当作地址/数据总线时(片外扩展ROM或RAM的情况), 则无须外接上拉电阻。

?

P0口的每一位输出可驱动8个LS型TTL负载。

单片机原理及接口技术

§2.7.5

端口的负载能力和接口要求

2、P1~P3口
?
P1~P3口的输出级接有内部上拉负载电阻,它们的每一位输出可 驱动4个LS型TTL负载。作为输入口时,任何TTL或NMOS电路都 能以正常的方式驱动89C51单片机(CHMOS)的P1~P3口。由于 它们的输出级具有上拉电阻,所以也可以被集电极开路(OC门)或漏 极开路所驱动,而无须外接上拉电阻。 ? 对于89C51单片机(CHMOS),端口只能提供几毫安的输出电流, 故当作输出口去驱动一个普通晶体管的基极(或TTL电路输入端)时, 应在端口与晶体管基极间串联一个电阻,以限制高电平输出时的电流。 ? P1~P3口也都是准双向口。作为输入时,必须先对相应端口锁存器 写 1。

22:04

返回

单片机原理及接口技术

图2-4 P0口某位结构

图2-5 P1口某位结构

图2-6 P2口某位结构

单片机原理及接口技术

图2-7 P3口某位结构

? 当89C51/S51执行输出操作时,CPU通过内部 总线把数据写入锁存器。而89C51/S51执行输 入(读端口)操作却有两种方式: 当执行的是读 锁存器指令时,CPU发出读锁存器信号,此时锁 存器状态由触发器的Q端经锁存器上面的三态输 入缓冲器1送入内部总线;当执行的是读端口引 脚的指令,CPU发出的是读引脚控制信号,直接 读取端口引脚上的外部输入信息,此时引脚状态 经锁存器下面的三态输入缓冲器2送入内部总线。

单片机原理及接口技术

? 在89C51/S51无片外扩展存储器的系统中, 这4个端口都可以作为准双向通用I/O口 使用。在具有片外扩展存储器的系统中, P2口送出高8位地址;P0口为双向总线, 分时送出低8位地址和数据的输入/输出。 ? 89C51/S51单片机4个I/O端口的电路设 计非常巧妙。熟悉I/O端口逻辑电路,不 但有利于正确、合理地使用端口,而且会 对设计单片机外围逻辑电路有所启发。
单片机原理及接口技术

§2.3

89C51/S51存储器配置

§2.3.1 89C51/S51存储器分类 §2.3.2 程序存储器地址空间 §2.3.3 数据存储器地址空间

单片机原理及接口技术

§2.3.1

89C51/S51存储器分类

? 一、物理结构(哈佛结构)
? 二、用户角度

单片机原理及接口技术

一、物理结构(哈佛结构)
片内程序存储器 程序存储器ROM 89C51/S51存储器 数据存储器RAM 片内数据存储器 片外数据存储器

片外程序存储器

单片机原理及接口技术

二、用户角度

如图2-8所示

单片机原理及接口技术

二、用户角度

单片机原理及接口技术

1 、片内、外统一编址的 64K程序存储器地址空间。 CPU 访问片内、片外ROM指令用MOVC。 2、64K的片外数据存储器地址空间。访问片外RAM指令

用MOVX。 3、256字节的片内数据存储器地址空间。访问片内RAM 指令用MOV。
上述三个存储空间地址是重叠的, 89C51/S51 的指 令系统采用不同的数据传送指令符号。

单片机原理及接口技术

§2.3.1 程序存储器地址空间
? 1、程序存储器的分类:

? 2. AT89S51单片机程序存储器的使用
? 3. AT89S52单片机程序存储器的使用

单片机原理及接口技术

1、程序存储器的分类
? 程序存储器是专门用来存放程序和常数的,有MASK ROM(掩膜 ROM)、OTPROM(一次性可编程ROM)、EPROM(可擦除可编程 ROM)、E2PROM(电可擦写ROM)、Flash ROM(快闪ROM)等 类型。 ? 掩膜ROM程序存储器适用于成熟的和大批量生产的产品,如使用 到彩色电视机等家电产品中的单片机就采用这种方式,只要用户 把应用程序代码交给半导体制造厂家,在生产相应的单片机时将 程序固化到芯片中即可,这种芯片一旦生产出来,程序就无法改 变了。 ? 采用OTPROM的单片机也可以进行刷写程序,但写入后就不能再 擦除,使用也不够方便。 ? 采用EPROM的单片机虽然可以进行刷写程序,但刷写时需要用紫 外线进行擦除,因此比较麻烦。

单片机原理及接口技术

? 采用E2PROM的单片机可方便地进行程序的刷写操作,其存在的问 题是刷写速度稍慢。 ? 采用Flash ROM的单片机,不但程序刷写方便,而且刷写速度快, 使用十分方便。AT89S51/52以及STC89C51/52单片机采用的 就是Flash ROM程序存储器。 ? AT89S51/52单片机内部有4 KB/8 KB大小的程序存储器,这对于 一般的应用已经足够,另外还可以扩展外部程序存储器,最大寻址范 围为64 KB(相当于FFFFH)。当扩展外部程序存储器时,需要注意 单片机31脚(EA)的接法,当31脚接地时,即强制从外部程序存储器 读取程序;当31脚接高电平时,则先从内部程序存储器中读取程序, 超过内部程序存储器容量时,才会转向外部程序存储器读取程序。通 常不要进行程序存储器的扩展,如果感觉AT89S51/52内部程序存 储器不够,可以选购内部程序存储器更大的单片机,如ATS8953、 STC89C516RD+、P89C668型号等。

单片机原理及接口技术

2. AT89S51单片机程序存储器的使用
? AT89S51单片机片内有4 KB的Flash ROM,其地 址为0000H~0FFFH,单片机启动复位后,程序 计数器的内容为0000H,所以系统将从0000H单 元开始执行程序。 ? 实际编程时,一般在0000H单元存放一条跳转指 令,而用户设计的程序从跳转后的地址开始存放。 ? 另外需要注意的是,与89C51一样,AT89S51的 以下40个单元比较重要,它们分别存放中断处理 程序的转移地址。

单片机原理及接口技术

? 表2-3中40个单元是专门用于存放中断处理程序的地址单元,中 断响应后,按中断的类型,自动转到各自的中断区去执行程序。 因此以上地址单元不能用于存放程序的其他内容,只能存放中断 服务程序。 ? 但是通常情况下,每段只有8个地址单元是不能存下完整的中断 服务程序的,因而一般也在中断响应的地址区,安放一条无条件 转移指令,指向程序存储器的其他真正存放服务程序的空间去执 行,这样中断响应后,CPU读到这条转移指令,便转向其他地方 去继续执行中断服务程序。 ? 例如,当外部中INT0(P3.2)有效时,即引起中断申请,CPU响 应中断后自动将地址0003H装入PC,程序就自动转向0003H单 元开始执行。如果事先在0003H~000AH存有引导(转移)指令, 程序就被引导(转移)到指定的中断服务程序空间去执行。这里, 0003H称为中断矢量地址。

单片机原理及接口技术

表2-3 AT89S51中断入口地址
地址 0003H~000AH 000BH~0012H 名称 外部中断0 定时器0溢出中断

0013H~001AH
001BH~0022H 0023H~002AH

外部中断1
定时器1溢出中断 申行口中断

单片机原理及接口技术

3. AT89S52单片机程序存储器的使用
? AT89S52单片机片内有8 KB的Flash ROM, 其地址为0000H~1FFFH,与AT89S51不 同的是,AT89S52比AT89S51多1个定时 器溢出中断2,如表2-4所列。

单片机原理及接口技术

表2-4 AT89S52中断入口地址
地址 0003H~000AH 000BH~0012H 0013H~001AH 001BH~0022H 0023H~002AH 002BH~0032H 名称 外部中断0 定时器0溢出中断 外部中断1 定时器1溢出中断 申行口中断 定时器2溢出中断

单片机原理及接口技术

§2.3.2 数据存储器地址空间
? 数据存储器RAM(读/写存储器)用于存放运算 的中间结果、数据暂存和缓冲、标志位等。 ? 数据存储器空间也分成片内和片外两大部分,即 片内RAM和片外RAM。 ? 89C51/S51片外数据存储器空间为64 KB, 地址为0000H~FFFFH;片内存储器空间为 256字节,地址为0000H~00FFH。

单片机原理及接口技术

1、片外RAM:
? 如图2-8所示,片外数据存储器与片内数据存储器空间的低地址
部分(0000H~00FFH)是重叠的,如何区别片内、片外RAM 空间呢?89C51/S51有MOV和MOVX两种指令,用以区分片 内、片外RAM空间。片内RAM使用MOV指令,片外64 KB RAM空间(包括片外I/O接口芯片)专门为MOVX指令(使引 脚RD或WR信号有效)所用。 ? 地址:0000H~FFFFH ? 寻址:用MOVX指令

单片机原理及接口技术

图2-8 89C51/S51存储器配置

单片机原理及接口技术

?

89C51/S51单片机片内RAM只有128字节,89C52/S52也只 有256字节。若需要扩展片外RAM,则可外接2 KB/8 KB/32 KB的静态RAM芯片6116/6264/62256。

?

图2-10是访问2 KB片外RAM时的硬件连接图。在这种情况下, CPU执行片内Flash ROM中的指令(EA接VCC)。P0口用作 RAM的地址/数据总线,P2口中的3位也作为RAM的页地址。访 问片外RAM期间,CPU根据需要发送RD和WR信号。

?

外部数据存储器的寻址空间可达64 KB。片外数据存储器的地址可

以是8位或16位的。使用8位地址时,要连同另外一条或几条I/O
线作为RAM的页地址,如图2-10所示。这时P2的部分引线可作 为通用的I/O线。若采用16位地址,则由P2端口传送高8位地址。

单片机原理及接口技术

图2-10 访问2 KB片外RAM时的硬件连接图

单片机原理及接口技术

2、片内RAM:
? 片内数据存储器最大可寻址256个单元,它们又分 为两部分:
? 低128字节(00H~7FH):是真正的RAM区;
? 高128字节(80H~FFH):为特殊功能寄存器(SFR)区.

? 寻址:用指令MOV最大可寻址256个单元
如图2-11所示。

单片机原理及接口技术

图2-11 片内数据存储器的配置

单片机原理及接口技术

1)

低128字节RAM (00H~7FH)

? 89C51/S51的32个工作寄存器与RAM安排 在同一个队列空间里,统一编址并使用同样 的寻址方式(直接寻址和间接寻址)。 ? 低128字节RAM中的配置及含义如图2-12 所示

单片机原理及接口技术

图2-12 低128字节RAM区

单片机原理及接口技术

?工作寄存器区(00H~1FH)
? 由四组(32个)工作寄存器组成,每组8个寄存器

(R0-R7),共占32个单元。见 表2-5。
? 通过程序状态寄存器 PSW中RS1、RS0两位设定

来选择CPU的当前工作寄存器组。复位时,第0组 为当前的工作寄存器。
? 若不需要四组,则其余可作为一般RAM单元。

单片机原理及接口技术

表2-5 工作寄存器地址表
组 RS1 RS0 0 1 2 3 0 0 1 1 0 1 0 1 R0 R1 R2 R3 R4 R5 R6 R7

00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 1CH 1DH 1EH 1FH

单片机原理及接口技术

?位寻址区(20H~2FH)
工作寄存器区后的16字节单元(20H~2FH),可用位 寻址方式访问其各位。
? 在89系列单片机的指令系统中,还包括许多位操作指令,这些位操 作指令可直接对这128位寻址。这128位的位地址为00H~7FH,其 位地址分布见图2-12。 低128字节RAM单元地址范围也是00H~7FH,89C51/S51采用不 同寻址方式来加以区分,即访问128个位地址用位寻址方式,访问 低128字节单元用直接寻址和间接寻址。这样就可以区分开00H~ 7FH是位地址还是字节地址。 这些可寻址位,通过执行指令可直接对某一位操作,如置1、清0或 判1、判0等,可用作软件标志位或用于位(布尔)处理。这是一般微 机和早期的单片机(如MCS48)所没有的。 位寻址能力是89C51/S51的一个重要特点。

?

?

?

单片机原理及接口技术

RAM位寻址区位地址表
字节地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H MSB 7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 1F 07 7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 1E 06 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05 位地址 7C 74 6C 64 5C 54 4C 44 3C 34 2C 24 1C 14 0C 04 7B 73 6B 63 5B 53 4B 43 3B 33 2B 23 1B 13 0B 03 7A 72 6A 62 5A 52 4A 42 3A 32 2A 22 1A 12 0A 02 79 71 69 61 59 51 49 41 39 31 29 21 19 11 09 01 LSB 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00

单片机原理及接口技术

?用户RAM区(30H~7FH)
用于堆栈和数据缓冲。

单片机原理及接口技术

2) 高128字节RAM(80H~FFH) ? 有21个特殊功能功能寄存器。见表 2-6 ? 地址分布在80H~FFH的RAM空间。 ? 只能用直接寻址方式。

? 有11个具有位寻址能力。11个SFR的字节
地址正好能被8整除。特殊功能寄存器的 地址。见表 2-7 ? 部分特殊功能寄存器介绍

单片机原理及接口技术

表2-6
符号 *ACC *PSW *P0 *P1 DPTR *IE TMOD TH1 *SCON *IP

89C51/S51系列单片机的特殊功能寄存器表
地址 E0H 累加器 D0H 程序状态字 80H P0 锁存器 90H P1 锁存器 数据指针(高 8 位 DPH 83H 82H 低 8 位 DPL) A8H 中断允许控制寄存器 定时器/ 计数器工作方 式寄存器 定时器/计数器 1(高字 节) 串行口控制寄存器 中断优先级控制寄存 器 89H 8DH 98H B8H 名称 符号 *B SP *P2 *P3 TL0 *TCON TH0 TL1 SBUF PCON 名称 B 寄存器 栈指针 P2 锁存器 P3 锁存器 定时器/计数器 0(低字节) 定时器 / 计数器控 制寄存器 定时器/计数器 0(高字节) 定时器/计数器 1(低字节) 串行数据缓冲器 电源控制及波特 率选择寄存器 地址 F0H 81H A0H B0H 8AH 88H 8CH 8BH 99H 87H

单片机原理及接口技术

表2-7
S
B ACC PSW IP P3 IE P2 SBUF SCON P1 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0 87 86 GATE 8F TF1 SMOD C/T 8E TR1 / 9F SM0 97 9E SM1 96

特殊功能寄存器地址表
MSB 位地址/位定义
F4 E4 D4 RS1 BC B4 AC ES A4 9C REN 94 F3 E3 D3 RS0 BB B3 AB ET1 A3 9B TB8 93 F2 E2 D2 OV BA B2 AA EX1 A2 9A RB8 92

F

R
F7 E7 D7 CY BF B7 AF EA A7 A6 F6 E6 D6 AC BE B6 AE

LSB
F1 E1 D1 F1 B9 B1 A9 ET0 A1 99 TI 91 F0 E0 D0 P B8 B0 A8 EX0 A0 98 RI 90 90 8D 8C 8B 8A A0 99 98 B8 B0 A8 F0 E0 D0

字节地址

F5 E5 D5 F0 BD B5 AD A5 9D SM2 95

M1 8D TF0 /

M0 8C TR0 /

GATE 8B IE1 GF1

C/T 8A IT1 GF0

M1 89 IE0 PD

M0 88 IT0 IDL

89 88 87 83 82 81 80

85

84

83

82

81

80

单片机原理及接口技术

部分特殊功能寄存器介绍

累加器ACC(E0H):
?用A作为ACC的助记符。 ?用于存放第一个操作数及运算结果。

单片机原理及接口技术

部分特殊功能寄存器介绍

寄存器B(F0H): ?在乘法指令中,B用于存放乘数和乘积的高8位。 ?在除法指令中用于存放除数和余数。 ?在其它指令中用作一般的寄存器或RAM单元。

单片机原理及接口技术

部分特殊功能寄存器介绍

? PSW 程序状态寄存器(D0H):
PSW包含了程序执行后的状态信息,供程序查询或判断
用。

PSW的格式 PSW各位的含义

单片机原理及接口技术

PSW的格式如下:
PSW D7 (D0H) CY D6 AC D5 F0 D4 D3 D2 RS1 RS0 OV D1 — D0 P

单片机原理及接口技术

PSW各位的含义
(1)CY位(PSW.7):进(借)位标志位。 执行加法(减法)运算指令时,如运算结果最 高位(D7)向前有进位(借位),CY=1;否 则,CY=0。 在位操作指令中,CY位是布尔累加器,用C表 示。

单片机原理及接口技术

PSW各位的含义
(2)AC位(PSW.6):半进位标志位(辅助进位标志)。 执行加法(减法)运算指令时,如运算结果的低半字节 (D3)向高半字节有进位(借位),AC=1;否则, AC=0。

单片机原理及接口技术

PSW各位的含义

(3)FO位(PSW.5):用户标志。 由用户自己定义、置位、复位,以作为软件标 志。

单片机原理及接口技术

PSW各位的含义
(4)RS0、RS1位(PSW.3和PSW.4):工作寄存器组选择 控制位。 由用户用软件改变 RS0 和 RS1 的值,以切换当前选用的 工作寄存器组。 RS0,RS1的组合关系如 表2-8 所示。 上电复位时,( RS0 ) =( RS1 ) =0, CPU 自然选择第 0 组为当前工作寄存器组。

单片机原理及接口技术

表2-8 RS0,RS1的组合关系

RS1 0 0 1 1

RS0 0 1 0 1

寄存器组 第0组 第1组 第2组 第3组

片内RAM地址 00H~07H 08H~0FH 10H~17H 18H~1FH

单片机原理及接口技术

PSW各位的含义
(5)OV位(PSW.2):溢出标志位。 如有溢出,即运算结果超出-128 ~+127的范围时,OV=1; 无溢出时,OV=0。

单片机原理及接口技术

PSW各位的含义

(6)P位(PSW.0):奇偶检验位。 每条指令执行后,A中“1”的个数为奇数,则P=1; 否则,P=0。

单片机原理及接口技术

PSW各位的含义

(7)PSW.1:为保留位。

单片机原理及接口技术

部分特殊功能寄存器介绍

堆栈指针SP(81H):
堆栈:在片内RAM中,开辟的一个按“先进后出”的结构 方式处理数据的区域。 SP的内容可指向片内RAM00H—7FH的任何单元。 系统复位时,SP初始化为07H。 堆栈的操作:如 图2-14 所示。

单片机原理及接口技术

图2-14 堆栈的压入与弹出

单片机原理及接口技术

? 堆栈的操作有两种: 一种叫数据压入(PUSH),另一种叫数据弹 出(POP)。 ? 在图2-14中,假若有8个RAM单元,每个单元都在其右面编有 地址,栈顶由堆栈指针SP自动管理。每次进行压入或弹出操作 以后,堆栈指针便自动调整以保持指示堆栈顶部的位置。这些操 作可用图2-14说明。 ? 在使用堆栈之前,先给SP赋值,以规定堆栈的起始位置,称为 栈底。当数据压入堆栈后,SP自动加1,即RAM地址单元加1以 指出当前栈顶位置。89C51/S51的这种堆栈结构属于向上生长 型的堆栈(另一种属于向下生长型的堆栈)。 ? 89C51/S51的堆栈指针SP是一个双向计数器。进栈时,SP内 容自动增值,出栈时自动减值。存取信息必须按“后进先出”或 “先进后出”的规则进行。

单片机原理及接口技术

部分特殊功能寄存器介绍

数据指针DPTR(83H,82H):

? DPTR是一个16位的特殊功能寄存器。
? 由DPH(83H),DPL(82H)组成。 ? DPH,DPL可以单独使用。

单片机原理及接口技术

部分特殊功能寄存器介绍

I/O端口P0、P1、P2、P3(80H、90H、A0H、B0H):
分别为四个并行端口的锁存器,每一个口锁存器还有 位地址,所以每一条I/O线可独立输入或输出。输出 时,可以锁存;输入时,可以缓冲。

单片机原理及接口技术

? 除上述21个SFR以外,还有一个16位的PC,称为程 序计数器,这在2.1.2节中曾提到过。它是不可寻址 的。 ? 图2-15所示为各个SFR所在的字节地址位置。空格部 分为未来设计新型芯片可定义的SFR位置。

单片机原理及接口技术

图2-15 特殊功能寄存器(SFR)的位置

单片机原理及接口技术

§2.4

时钟电路及89C51/S51 CPU时序

? 89C51/S51芯片内部有一个高增益反相放大器, 用于构成振荡器。反相放大器的输入端为 XTAL1,输出端为XTAL2,两端跨接石英晶体 及两个电容就可以构成稳定的自激振荡器。 ? 电容器C1和C2通常取30 pF左右,可稳定频 率并对振荡频率有微调作用。晶体振荡器的脉 冲频率范围为fOSC=0~24 MHz。 ? 振荡信号从XTAL2端输入到片内的时钟发生器 上,如图2-16所示。

单片机原理及接口技术

图2-16 89C51/S51的片内振荡器及时钟发生器

单片机原理及接口技术

1、节拍与状态周期
?时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率 fOSC除以2,向CPU提供两相时钟信号P1和P2。 ?时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍 。 ?在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号 有效,在每个时钟周期的后半周期,相位2(P2,节拍2)信号有效 。 ?每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以 两相时钟P1和P2为基本节拍指挥89C51/S51单片机各个部件协调 地工作。

单片机原理及接口技术

2、机器周期和指令周期

机 器 周 期

计算机的一条指令由若干个字节组成。执行一条 指令需要多长时间则以机器周期为单位。 ?一个机器周期是指:CPU访问存储器一次所需的时间。

例如,取指令、读存储器、写存储器等等。
?一个机器周期包括12个振荡周期,分为6个S状态: S1~S6。 ?每个状态又分为两拍,称为P1和P2。 ?因此,一个机器周期中的12个振荡周期表示为 S1P1,S1P2,S2P1,· · · ,S6P1,S6P2。 ?若采用6MHz晶体振荡器,则每个机器周期为多少?

单片机原理及接口技术

机器周期
? 设:晶体振荡器频率 fosc=6MHz, ? 则:振荡周期=1/fosc=1/6 μ s(微秒) ? 因为:一个机器周期包括12个振荡周期, ? 所以:一个机器周期=12*(1/6) μ s(微秒) = 2μ s(微秒)

问:如果fosc=12MHz, 一个机器周期为多少? 答案 1μs(微秒)
单片机原理及接口技术

2、机器周期和指令周期
? ? ? 每条指令都由一个或几个机器周期组成。 指令周期:执行一条指令所需的时间。 每条指令由一个或若干个字节组成。有单字节 指令,双字节指令,…多字节指令等。字节数

指 令 周 期

少则占存储器空间少。
?
?

每条指令的指令周期都由一个或几个 机器周 期 组成。有单周期指令、双周期指令、和四

周期指令。机器周期数少则执行速度快。 其指令周期各为多少?

单片机原理及接口技术

指令周期

?
? ? ?
?

设振荡周期为6MHz,则一个机器周期为 2μ s

(微秒)。 单周期指令:指令周期为 2μ s(微秒) 双周期指令:指令周期为 4μ s(微秒) 四周期指令:指令周期为 8μ s(微秒)
如果振荡周期为12MHz,则其指令周期分别为 1μs、 2μs 和4μs。

单片机原理及接口技术

? 单字节指令:如,INC A; 机器码格式:0000 0100B

? 双字节指令:如,MOV A,#data; ? 机器码格式: 0111 0100B data

单片机原理及接口技术

3、基本时序定时单位
?

综上所述,89C51/S51或其他80C51单片机的基本时序定时单 位有如下4个。 振荡周期: 晶振的振荡周期,为最小的时序单位。

? 状态周期: 振荡频率经单片机内的二分频器分频后提供给片内 CPU的时钟周期。因此,一个状态周期包含2个振荡周期。
? 机器周期(MC): 1个机器周期由6个状态周期即12个振荡周期 组成,是计算机执行一种基本操作的时间单位。 ? 指令周期: 执行一条指令所需的时间。一个指令周期由1~4个 机器周期组成,依据指令不同而不同,见附录A。

单片机原理及接口技术

4种时序单位中,振荡周期和机器周期是单片机内计算其他时
间值(例如,波特率、定时器的定时时间等)的基本时序 单位。

下面是单片机外接晶振频率12 MHz时的各种时序单位的大小。
振荡周期=1/fOSC=1/12 MHz=0.083 3 μs 状态周期=2/fOSC=2/12 MHz=0.167 μs

机器周期=12/fOSC=12/12 MHz=1 μs
指令周期=(1~4)机器周期=1~4 μs 4个时序单位从小到大依次是节拍(振荡脉冲周期,1/fOSC)、

状态周期(时钟周期)、机器周期和指令周期,如图2-17
所示。

单片机原理及接口技术

图2-17

89C51/S51单片机各种周期的相互关系

单片机原理及接口技术

§2.5 复位操作
? §2.5.1 ? §2.5.2 ? §2.5.3 复位操作的主要功能 复位信号及其产生 复位电路

单片机原理及接口技术

§2.5.1

复位操作的主要功能

? 89C51/S51 系列单片机与其他微处理器一样, 在启动时都需要复位,使 CPU 及系统各部件处于 确定的初始状态,并从初态开始工作。 ? 89C51/S51 系列单片机的复位信号是从 RST 引 脚输入到芯片内的施密特触发器中的。 ? 当系统处于正常工作状态时,且振荡器稳定后,如 RST 引 脚 上 有 一 个 高 电 平 并 维 持 2 个 机 器 周 期 (24个振荡周期),则CPU就可以响应并将系统 复位。

单片机原理及接口技术

复位操作主要功能
? 程序地址指针PC初始化为0000H,使单片 机从0000H单元开始执行程序 ? 当由于程序运行出错或操作错误使系统死锁 状态时,为摆脱困境,也需要按复位键重新 启动。

单片机原理及接口技术

? 除PC之外,复位操作还对其他一些寄存器 有影响,它们的复位状态如表2-9所列。 即在SFR中,除了端口锁存器、堆栈指针 SP和串行口的SBUF外,其余的寄存器全 部清0,端口锁存器的复位值为0FFH,堆 栈指针值为07H,SBUF内为不定值。内 部RAM的状态不受复位的影响,在系统上 电时,RAM的内容是不定的。
单片机原理及接口技术

表2-9 各特殊寄存器的复位值

寄存器 PC ACC PSW SP DPTR P0-P3 IP IE TMOD

复位状态 0000H 00H 00H 07H 0000H FFH ××000000B 0×000000B 00H

寄存器 TCON TL0 TH0 TL1 TH1 SCON SBUF PCON

复位状态 00H 00H 00H 00H 00H 00H 不定 0×××0000B

单片机原理及接口技术

表2-9中的符号意义如下: ? A=00H: 表明累加器已被清0。 ? PSW=00H: 表明选寄存器0组为工作寄存器组。 ? SP=07H: 表明堆栈指针指向片内RAM 07H字节单元,根据堆 栈操作的先加后压法则,第一个被压入的数据被写入08H单元中。 ? P0~P3=FFH: 表明已向各端口线写入1,此时,各端口既可 用于输入,又可用于输出。 ? IP=×××00000B: 表明各个中断源处于低优先级。 ? IE=0××00000B: 表明各个中断均被关断。 ? TMOD=00H: 表明T0,T1均为工作方式0,且运行于定时器 状态。 ? TCON=00H: 表明T0,T1均被关断。 ? SCON=00H: 表明串行口处于工作方式0,允许发送,不允许 接收。 ? PCON=00H: 表明SMOD=0,波特率不加倍。 值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对熟 悉单片机操作,减短应用程序中的初始化部分是十分必要的。

单片机原理及接口技术

§2.5.2 复位电路 1、上电自动复位:
?上电自动复位是在加电瞬间电容通过充电来实现的, 其电路如图2-18(a)所示。 ?在通电瞬间,电容C通过电阻R充电,RST端出现正脉 冲,用以复位。只要电源VCC的上升时间不超过1 ms,就可以实现自动上电复位,即接通电源就完成了 系统的复位初始化。 ?对于CMOS型的89C51/S51,由于在RST端内部有 一个下拉电阻,故可将外部电阻去掉,而将外接电容减 至1 μF。

单片机原理及接口技术

图2-18 各种复位电路

单片机原理及接口技术

VCC C 1μF R

89C51/S51
VCC RST/VPD

VSS

图 2-18 (a) 上电复位电路

单片机原理及接口技术

2. 手动复位
所谓手动复位,是指通过接通一 按钮开关,使单片机进入复位状 态。系统上电运行后,若需要复
R1

RESET

VCC C 22μF R2
1KΩ

89C51/S51
VCC

200Ω

RST/VPD

位,一般是通过手动复位来实现
的。通常采用手动复位和上电自 动复位组合,其电路如图2-

VSS

18(b)所示。

图 2-16 (b) 按键电平复位电路

单片机原理及接口技术

? 复位电路虽然简单,但其作用非常重要。一个单 片机系统能否正常运行,首先要检查是否能复位 成功。初步检查可用示波器探头监视RST引脚, 按下复位键,观察是否有足够幅度的波形输出 (瞬时的),还可以通过改变复位电路阻容值进行 实验。

单片机原理及接口技术

§2.6 89C51单片机的低功耗工作方 式
? 89C51属于CHMOS的单片机,运行时耗电少,而且还提供两 种节电工作方式,即空闲(等待、待机)方式和掉电(停机) 工作方式,以进一步降低功耗。 ? 图2-17所示为实现这两种方式的内部电路。

? 由图2-17可见,若IDL=0,则89C51将进入空闲运作方式。 在这种方式下,振荡器仍继续运行,但IDL封锁了去CPU的 “与”门,故CPU此时得不到时钟信号。而中断、串行口和定 时器等环节却仍在时钟控制下正常运行。掉电方式下 (PD=0),振荡器冻结。

22:04

返回

单片机原理及接口技术

§2.6

89C51单片机的低功耗工作方式

图2-17

空闲和掉电方式控制电路

图2-17中,PD和IDL均为PCON中PD和IDL触发器的输出端。

22:04

返回

单片机原理及接口技术

§2.6.1 方式的设定
?空闲方式和掉电方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。 ?图2-18所示为89C51电源控制寄存器PCON各位的分布情况。HMOS器件的 PCON只包括一个SMOD位,其他4位是CHMOS器件独有的。 ?3个保留位用户不得使用,因为硬件没有做出安排,可能在今后的MCS51新产品 中代表某特定的功能。

图2-18

电源控制寄存器PCON

22:04

返回

单片机原理及接口技术

§2.6.1 方式的设定
?图2-18中各符号的名称和功能如下。 SMOD: 波特率倍频位。若此位为1,则串行口方式1、方式2和方式3的波特率 加倍。 GF1和GF0: 通用标志位。 PD: 掉电方式位。此位写1即启动掉电方式。由图217可见,此时时钟冻结。 IDL: 空闲方式位。此位写1即启动空闲方式。这时CPU因无时钟控制而停止运 作。如果同时向PD和IDL两位写1,则PD优先。 ?89C51中PCON的复位值为0×××0000B。

图2-18
22:04

电源控制寄存器PCON

返回

单片机原理及接口技术

§2.6.2 空闲(等待、待机)工作方式
?当CPU执行完置IDL=1(PCON.1)的指令后,系统进入空闲工作方式。 ?这时,内部时钟不向CPU提供,而只供给中断、串行口、定时器部分。 ?CPU的内部状态维持,即包括堆栈指针SP、程序计数器PC、程序状态字PSW、累加器 ACC所有的内容保持不变,端口状态也保持不变。 ?ALE和PSEN保持逻辑高电平。

22:04

返回

单片机原理及接口技术

§2.6.2 空闲(等待、待机)工作方式
?进入空闲方式后,有两种方法可以使系统退出空闲方式。
?一是任何的中断请求被响应都可以由硬件将PCON.0(IDL)清0而中止空闲工作方式。 ?当执行完中断服务程序返回到主程序时,在主程序中,下一条要执行的指令将是原 先使IDL置位指令后面的那条指令。PCON中的通用标志位GF1和GF0可以用来指明 中断是在正常操作还是在待机方式期间发生的。在待机方式时,除用指令使 IDL=1 外,还可先用指令使GF1或GF0置1。当由于中断而停止待机方式时,在中断服务程 序中可以检查这些标志位,说明是从待机方式进入中断的。

22:04

返回

单片机原理及接口技术

§2.6.2 空闲(等待、待机)工作方式
?另一种退出空闲方式的方法是硬件复位,由于在空闲工作方式下振荡器仍然工 作,因此硬件复位仅需 2 个机器周期便可完成。而 RST 端的复位信号直接将 PCON.0(IDL) 清0 ,从而退出空闲状态, CPU则从进入空闲方式的下一条指令 开始重新执行程序。

22:04

返回

单片机原理及接口技术

§2.6.3 掉电(停机)工作方式
?当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。在这
种工作方式下,内部振荡器停止工作。 ?由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部RAM区和特殊功能 寄存器的内容被保留,而端口的输出状态值都保存在对应的SFR中,ALE和PSEN都 为低电平。 ?退出掉电方式的惟一方法是由硬件复位,复位后将所有特殊功能寄存器的内容初始 化,但不改变片内RAM区的数据。 ?在掉电工作方式下,VCC可以降到2 V,但在进入掉电方式之前,VCC不能降低。 而在准备退出掉电方式之前,VCC必须恢复正常的工作电压值,并维持一段时间(约 10 ms),使振荡器重新启动并稳定后方可退出掉电方式。

22:04

返回

单片机原理及接口技术

§2.8

思考题与习题

1. 89C51/S51单片机片内包含哪些主要逻辑功能部件 ? 2. 89C51/S51的EA端有何用途? 3. 89C51/S51的存储器分哪几个空间?如何区别不同空间的寻址? 4. 简述89C51/S51片内RAM的空间分配。

5. 简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。
6. 如何简捷地判断89C51/S51正在工作? 7. 89C51/S51如何确定和改变当前工作寄存器组 ?

8. 89C51/S51 P0口用作通用I/O口输入时,若通过TTL“OC”门输入数据,
应注意什么?为什么? 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令?

单片机原理及接口技术

10. 89C51/S51 P0~P3口结构有何不同?用作通用I/O口输入数
据时,应注意什么? 11. 89C51/S51单片机的EA信号有何功能?在使用8031时,EA

信号引脚应如何处理?
12. 89C51/S51单片机有哪些信号需要芯片引脚以第2功能的方式提 供? 13. 内部RAM低128字节单元划分为哪3个主要部分?各部分主要功能 是什么? 14. 使单片机复位有几种方法?复位后机器的初始状态如何? 15. 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什 么?CPU如何确定和改变当前工作寄存器组? 16. 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什 么?

单片机原理及接口技术

17. 位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内 RAM中的什么位置? 18. 89C51/S51单片机的时钟周期与振荡周期之间有什么关系 ?什么 叫机器周期和指令周期? 19. 一个机器周期的时序如何划分?

20. 什么叫堆栈?堆栈指针SP的作用是什么?89C51/S51单片机堆栈
的容量不能超过多少字节? 21. 89C51/S51有几种低功耗方式?如何实现?

22. PC与DPTR各有哪些特点?有何异同?
23. 89C51/S51端口锁存器的“读—修改—写”操作与“读引脚” 操作有何区别?

第二章结束

单片机原理及接口技术


更多相关文档:

汇编语言程序设计(第四版)第2章【课后答案】

汇编语言程序设计(第四版)第2章【课后答案】 钱晓捷 主编汇编语言程序设计 第四版 --囮裑為檤 【课后习题答案】第 2 章 8086 的指令系统 〔习题 2.1〕已知...

第2章模拟电子技术基础(第4版)课后习题答案(周良权)

第2章模拟电子技术基础(第4版)课后习题答案(周良权)_电子/电路_工程科技_专业...? ? 6 3 .6 2.29 (1)图题解 2.29 中直线①为直流负载线,读得电源...

第二章(1-4)复习教案

第1-4 节复习教学设想科学(浙教版)八年级上册 第二章 教学设计思想 1.初中生的认识感性多于理性,学习的动力和热情大多来自他们的兴趣;而科学教学又以实 验为...

必修1 第2章 第4讲

必修1 第2章 第4讲_理化生_高中教育_教育专区。必修一一、单项选择题 第二章 第四讲 (2015· 蚌埠模拟)气候变化引起冰川上积累量和消融量的变更,导致冰川...

C程序设计(第4版)教案第2章算法

C程序设计(第4版)教案第2章算法_工学_高等教育_教育专区。C程序设计教案谭浩强...1、了解算法的概念 2、了解结构化的设计方法 3、掌握算法的表示 1、N-S ...

化学 选修4 化学反应原理 阶段性测试(第1章 第2章)

金太阳新课标资源网 wx.jtyjy.com 化学 选修 4 化学反应原理 阶段性测试(第 1 章第 2 章)分值:100 分 时间:90 分钟 一 选择题(本题包括 25 道小题,每...

第二章(声现象)1-4节

第二章声现象 第4节路线... 2页 1下载券 第二章《声现象》单元测... 暂无...笑话大全爆笑版 幽默笑话大全 全球冷笑话精选 1028988份文档 教学总结精品范文 ...

Java2实用教程(第4版)答案_耿祥义、张跃平

Java2实用教程(第4版)答案_耿祥义、张跃平_理学_高等教育_教育专区。...Java2 实用教程(第 4 版)答案 耿祥义、张跃平 第1章一、问答题 1.James Gosling...

新课标人教A版高中数学必修4第2章单元测试(1)

名校试题 会员交流资料 单元测试 1--向量的概念和基本运算、选择题,本大题共 10 小题,每小题 4 分,满分 40 分,在每小题给出的个选项中,只 有一项...
更多相关标签:
黑色守卫1 4章整合版 | 蝙蝠侠故事版第1 4章 | 路得记1一4章讲章全 | 透明人生 1 4章 | 意外的发现1一4章憋尿 | 路得记1 4章于宏洁 | 魔法纹章英雄副本1 4 | 黑之断章动画1 4 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com