《单片机原理及应用》第二章 89C51单片机的结构和原理2012

合集下载

第2章 89C51系列单片机的结构和原理

第2章 89C51系列单片机的结构和原理
2016/6/30 11
后缀由“YYYY”四个参数组成,每个参数的表示
和意义不同。在型号与后缀部分有“-”号隔开。
后缀中的第一个参数 Y用于表示速度,后缀中的
第二个参数Y用于表示封装,后缀中第三个参数 Y用 于表示温度范围,后缀中第四个参数Y用于说明产品 的处理情况。 例如:有一个单片机型号为“AT89C51—12PI”,则
2016/6/30
23
OV(PSW.2):溢出标志。带符号加减运算中,超出了累加器A所能 表示的符号数有效范围(-128~+127)时,即产生溢出, OV=1,表明运算运算结果错误。如果OV=0,表明运算结果正 确。 执行加法指令ADD时,当位6向位7进位,而位7不向C进位时, OV=1;或者位6不向位7进位,而位7向C进位时,同样OV=1。 乘法指令,乘积超过255时,OV=1,乘积在AB寄存器对中。若 OV=0,则说明乘积没有超过255,乘积只在累加器A中。
2.2 89C51系列单片机的结构
(3) 21(18)个SFR(128字节) 它用于控制和管理片内算术逻辑部件、并行 I/O口、串行I/O口、定时器/计数器、中断 系统等功能模块的工作。 3. 并行I/O口 89C51单片机共有4个8位的I/O口(P0、P1 、P2和P3),每一条I/O线都能独立地用作 输入或输出。P0口为三态双向口,能带8个 TTL门电路,P1、P2和P3口为准双向口,负 载能力为4个TTL门电路。
89——表示芯片内带有非易失性的Flash程序存储器;
C——代表CMOS工艺制造;
51/52/54/58——分别表示芯片内Flash程序存储器的
容量分别为4K/8K/16K/32K。
2016/6/30
4
2.1 89C51单片机的概述

第2章 89C51单片机硬件结构和原理

第2章 89C51单片机硬件结构和原理

2.累加器A 使用最频繁的寄存器,可写为Acc。“A”与“Acc” 书写上 的差别,将在第3章介绍。
作用如下:
(1)ALU单元的输入数据源之一,又是ALU运算结果存放单元。 (2)数据传送大多都通过累加器A,相当于数据的中转站。为 解决“瓶颈堵塞”问题,AT89S51增加了一部分可以不经过 累加器的传送指令。
18
PSW中各个位的功能: (1)Cy(PSW.7)进位标志位
可写为C。在算术和逻辑运算时,若有进位/借位,Cy=1;
否则,Cy=0。在位处理器中,它是位累加器。 (2)Ac(PSW.6)辅助进位标志位 在BCD码运算时,用作十进位调整。即当D3位向D4位产生进 位或借位时,Ac=1;否则,Ac=0。 (3)F0(PSW.5)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置1或清0, 控制程序的流向。用户应充分利用。
端(12-21V)。
4、I/O端口P0、P1、P2和P3 准双向的含义:
当I/O口作为输入时,应先向此口锁存器写入全1, 此 时该口引脚浮空,可作高阻抗输入。
1)P0口:用作通用的I/O口;当外扩存储器及I/O接口芯片时,P0口作为低8位地址 总线及数据总线的分时复用端口。 2)P1口:用作通用的I/O口 3)P2口:用作通用的I/O口;当外扩存储器及I/O接口芯片时,P2口作为高8位地址 总线 4)P3口:用作通用的I/O口;每个引脚有第二功能
图2-6 高128字节RAM(SFR区)
1、堆栈指针SP
堆栈指针SP(8位),可指向片内RAM00H~7FH的任何单元。系统 复位后,SP指向07H的RAM单元,所以入栈的第一个数据位于08H单元。

堆栈:在片内RAM区专门开辟的一个区域,数据的存取是按“后进先

第2章AT89C51单片机结构和原理

第2章AT89C51单片机结构和原理
入 / 输出功能 , 每一位都能 独立地设定为输入或输出。 当有输出方式变为输入方 式时, 该位的锁存器必须写 入“1”, 然后才能进入输入 操作。
内部总线 写锁存器
D P1.x Q 锁存器 CL Q
P1.X T
读引脚
P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩 展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。
始化为07H。
2. 外部RAM 外部数据存储器一般由静态 RAM 构成,其容量大小由 用户根据需要而定, 最大可扩展到 64 KB RAM , 地址是
0000H~0FFFFH。 CPU通过MOVX指令访问外部数据存储器, 用间接寻址方式, R0、R1和 DPTR都可作间接寄存器。注意, 外部RAM和扩展的I/O接口是统一编址的, 所有的外扩I/O 口
都要占用 64 KB中的地址单元。
2.4 单片机工作方式
1. 2. 程序执行方式 3. 省电方式 4. EPROM编程和校验方式
表2-7 特殊功能寄存器的复位状态 特殊功能寄 存器 ACC PSW 初始状态 00H 00H 特殊功能寄 存器 TH1 P0~P3 初始状态 00H FFH
SP DPTR TCON TL0 TH0 TL1
07H 0000H 00H 00H 00H 00H
IP IE TMOD SCON SBUF PCON
××00 0000B 0××0 0000B 00H 00H
不定 0××× 0000B
2.5 单片机工作的基本时序
1. (1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉 冲信号的振荡源的周期。 (2) 状态周期: 每个状态周期为时钟周期的2倍, 是振荡周 期经二分频后得到的。 (3) 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也 就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个 独立的操作。 (4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。 MCS 51 系统中, 有单周期指令、双周期指令和四周期指令。

AT89C51单片机的基本结构和工作原理

AT89C51单片机的基本结构和工作原理

AT89C51单片机的基本结构和工作原理1.基本结构:-CPU:中央处理单元是AT89C51的核心部分,负责运算和控制。

它包括一个8位累加器和一组寄存器,用于存储指令和数据。

CPU能够执行各种指令,包括算术逻辑运算、条件分支、循环等。

-存储器:AT89C51具有两个存储器,即程序存储器(ROM)和数据存储器(RAM)。

ROM存储程序代码,RAM存储数据和临时变量。

存储器的容量可以根据芯片型号而有所不同。

-输入输出(I/O)口:AT89C51具有一组可编程的I/O引脚,用于与外部设备进行数据交换。

这些引脚可以配置为输入或输出,以满足不同的应用需求。

-定时器/计数器:AT89C51具有可编程的定时器和计数器,用于产生精确的时间延迟和计数操作。

定时器可以用于生成周期性的中断信号,计数器可以用于计数外部事件的频率。

-串行通信接口(UART):AT89C51具有一个UART模块,支持异步串行通信协议。

它可以用于与其他设备(如计算机或外部传感器)进行数据交换。

2.工作原理:-程序加载:首先,程序代码被加载到ROM中。

程序的执行从存储器的固定地址开始,CPU按照指令的顺序逐条执行。

-指令执行:CPU从ROM中读取指令,并将其存储在指令寄存器中。

然后,CPU根据指令类型执行相应的操作。

这可能涉及算术逻辑运算、数据传输、条件判断等。

-I/O操作:当需要与外部设备交换数据时,CPU通过I/O口与之连接。

通过设置引脚的状态(输入或输出),CPU可以读取传感器数据或向外部设备发送控制信号。

-定时器和计数器操作:定时器和计数器可用于生成精确的时间延迟或计数特定事件的频率。

CPU可以通过配置定时器参数来实现所需的延迟或频率。

-中断处理:AT89C51支持中断机制,允许外部设备向CPU发送中断请求。

当中断信号触发时,CPU会立即停止当前工作,转而执行中断服务程序。

一旦中断服务程序执行完毕,CPU会返回到原来的工作状态。

总之,AT89C51是一种功能强大的8位微控制器,它的基本结构包括CPU、存储器、I/O口、定时器/计数器和UART等。

第2章 89C51单片机的结构及原理PPT课件

第2章 89C51单片机的结构及原理PPT课件
11
2. 数据存储器
FF
80
SFR RAM
30
位寻址区
20
工作 寄存器 0-3组
FFFF RAM
外部 RAM
00
0000
12
表 2.2 寄存器与RAM 地址对照表
13
表 2.3 RAM中的位寻址区地址表
14
内部数据存储器高128单元
(特殊功能寄存器区)
程序计数器PC 累加器A 寄存器B 状态字寄存器PSW
4
2.3 89C51系列单片机的引脚功能
2.3.1 89C51系列单片机引脚功能 2.3.2 三总线结构
5
图2-3(a)89C51系列单片机的引脚 6
表2.1 P3口的第二功能表
7
2.3.2 三总线结构
图2-3(b)89C51系列单片机功能引脚分类
(总线结构图)
8
2.4 89C51系列单片机的主要组成部分
外部 ROM EA=0
0000
FF
SFR 80 RAM
30 位寻址区
20
工作 寄存器 0-3组
00
FFFF RAM
外部 RAM
0000
10
1. 程序存储器
在程序存储器中有6个单元具有特殊功能: 0000H~0002H:是所有执行程序的入口
地址,89C51复位后,CPU总是从0000H单 元开始执行程序。 0003H:外部中断0入口。 000BH:定时器0溢出中断入口。 0013H:外部中断1入口。 001BH:定时器1溢出中断入口。 0023H:串行口中断入口。
0
1
3组
18H~1FH
R0~R7
堆栈指针SP:按照先进后出、后进先出 的原则存取RAM区域。

第二章89C51单片机的硬件结构和原理精品PPT课件

第二章89C51单片机的硬件结构和原理精品PPT课件
牢牢记住:振荡周期 = 晶振频率fosc的倒数; 1个机器周期 = 12个振荡周期; 1个指令周期 = 1、2、4个机器周期
2.1.4 复位和复位电路

单片机在重新启动时都需要复位,MCS-51
系列单片机有一个复位引脚输入端RST。
➢ MCS-51系列的单片机复位方法为:在RST上
加一个维持两个机器周期以上的高电平,则单 片机被复位。
➢ 复位时单片机各部分将处于一个固定的状态
➢ 常用的MCS-51单片机复位电路
➢ 上电自动复位电路
➢ 手动复位电路
➢ “看门狗”复位电路
复位后单片机各单元的初始状态
寄存器 PC
ACC
B PSW SP DPTR P1、P2 P3、P4
IP IE
初始状态值 0000H 00H 00H 00H 07H 0000H
Vcc
C1 +
22uF R2
200
RST/VPD
R1 1K
Vs
GND
在系统运行过程中, 有时可能需要对系 统进行复位,以避 免对硬件经常加电 或断电而造成的伤 害,我们可以采用 手动复位的方式。 具体的电路如图所 示。
“看门狗”复位电 路
未稳压电源 R1
R2
WDI
RESET
PFI
WDO
MR
MAX813L
限频率可能有差别)。
C1
XT AL1
30 pF
C2 GND
30 pF
MC S-5 1 XT AL2
常用单片机的最高时钟频率
单片机型号
最高时钟频率
8031 8051
12MHz 12MHz
8751 AT89C2051
12MHz 24MHz

《单片机原理及应用》第二章 89C51单片机的结构和原理2012


• 片内容量为4KB,地址范围为0000H~0FFFH。 • 片外最多可扩至64KB ROM/EPROM,地址范围为 1000H~FFFFH。 • 片内外统一编址。 • ROM的寻址方式: • 1)当 EA=“1”时:
– 在0000~0FFFH范围内执行片内ROM中的程序,当指令地址超 过0FFFH 后就自动转向片外ROM中取指令。
• 四个8位并行I/O(输入/输出)接口P0~P3 • 两个定时/计数器
– 每个定时/计数器都可以设置成计数或定时方式
• 一个全双工UART的串行I/O口
– 可实现单片机与单片机或其它微机之间串行通信
• 五个中断源的中断控制系统
MCS-51系列单片机的性能
表中型号带“C”表示所用的是CMOS工艺,具有功耗低的优点。
什么是入口地址?
0023H
2 数据存储器 • 一般将随机存储器(RAM)用做数据存储器。可寻址空 间为64KB。MCS-51数据存储器可分为片内和片外两部 分。片内、片外独立编址。 片外RAM: 最大范围:0000H~FFFFH, 64KB;用指令MOVX访问。 片内RAM: 最大范围:00H~FFH,256B; 用指令MOV访问。 又分为两部分:低128B(00~ 7FH)为真正的RAM区,高128B (80~FFH)为特殊功能寄存器 (SFR)区。如右图所示。
第二章 89C51单片机的结构和原理
• • • • • 2.1 89C51单片机的结构 2.2 89C51的引脚及其功能 2.3 CPU时序 2.4 复位操作 2.5 89C51单片机的低功耗工作方式
2.1 89C51单片机的结构
89C51单片机内部结构示意图如下所示: 外部时钟源 外部事件计数输入
振荡器和时序 OSC

89C51单片机的硬件结构和原理


存放运算的中间结果、 数据暂存,堆栈
3.I/O接口
4个8位的并行口P0 P1P2 P3
§2-2 89C51单片机引脚及其功能
1.电源引脚 Vcc +5V
Vss 接地
2.时钟电路引脚 XTAL1(19PIN)和XTAL2(18PIN)
片内振荡器接法:XTAL1
XTAL2
1.2MHz-12MHz
外接时钟源接法:XTAL2浮空,XTAL1输入外部时钟脉冲
(2)外接时钟源 (较少采用)
2.指令周期、机器周期与状态周期 指令周期:执行一条指令所需的时间 机器周期:执行一个基本操作所需的时间 状态周期:一个状态周期由2个振荡周期组成 振荡周期:晶振的振荡周期,最小的时序单位
关系:一个指令周期由若干个机器周期组成, (1~4个) 一个机器周期由6个状态周期( 12个振荡周期)组成
假如外接晶振12MHZ:则振荡周期=1/fosc=1/12=0.083us 机器周期=12/fosc=12/12=1us 指令周期=(1~4)机器周期
3.各种周期的相互关系
§2-5 复位操作
1. 复位操作: 系统处于正常工作状态时,振荡器稳定后,RST引脚上有一 个高电平并维持2个机器周期(24个振荡周期),CPU复位
D5 D4 D3
D2
D1 D0
位符号
SMOD

— — GF1 GF0 PD IDL
7)并行I/O端口P0~P3 8)串行数据缓冲器SBUF
9)定时器/计数器的专用寄存器T0和T1
§2-4 时钟电路及89C51CPU时序
系统时钟的作用: 微处理器、微控制器内部电路的工作基础。 晶振频率越高,系统时钟频率越高,单片机运
MCS51单片机和8051、8031、89C51等的关系

89C51单片机硬件结构和原理

• 经过12分频,成为机器周期信号( MC = 12 /fosc)
需要指出的是,CPU的运算操作 在P1期间,数据传送在P2期间。
河南大学物理与电子学院
2.1.2 89C51单片机芯片内部结构
振荡周期 晶振的振荡周期,单片机的最小时间单位。
若时钟的晶体的振荡频率为fosc,则时钟周期 Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。
ACC
PSW
可完成的操作:加减法及8位数的乘除法运算;与、或、异或、循环移位等逻辑操作。
河南大学物理与电子学院
2.1.2 89C51单片机芯片内部结构
累加器ACC
CPU 中 使 用 最频 繁 的 寄 存 器 , 简 称 ACC或A寄存器。
其作用为: ALU的数据输入源之一,同时在ALU 运算结束后,其结果经内部总线又 送回ACC存放。 数据传送中转站,在某些情况下, 数据必须经过寄存器A进行中转。如 变址寻址指令: movc a,@a+dptr movc a,@a+pc
程序计数器PC变化的轨迹决定了程序的流程。
程序计数器PC是一个16位的计数器,故可以对64KB程序存储器进行寻址。 程序计数器PC的基本工作方式: PC自动加1,这是最基本的工作方式,也是被称为计数器的原因。 执行条件或无条件转移指令时,PC将被置入新值,程序流向发生变化。 在执行调用指令或响应中断时: PC的当前值,即下一条将要执行的指令的地址,被送入堆栈。 将子程序的入口地址或者中断矢量地址送入PC,程序流向发生变化, 执行子程序或中断服务程序。待子程序或中断服务程序结束后,将栈 顶的内容送到PC中,程序流程又返回到原来的地方,继续执行。
河南大学物理与电子学院
2.1.2 89C51单片机芯片内部结构

AT89C51单片机结构和原理


第2章 AT89C51单片机结构和原理
2.1.4 定时器/计数器 AT89C51内部有两个16位可编程定时器/计数器,简
称为定时器0(T0)和定时器1(T1),T0和T1分别由两个8 位寄存器构成,其中T0由TH0(高8位)和TL0(低8位)构 成,T1由TH1(高8位)和TL1(低8位)构成。TH0、TL0、 TH1、TL1都是SFR中的特殊功能寄存器(见表2-4)。
低位,P0.7为高位。每条线的结构组成如图2-3所示。 它由一个输出锁存器,两个三态缓冲器,输出驱动电 路和输出控制电路组成。P0口是一个三态双向I/O口, 它有两种不同的功能,用于不同的工作环境。
第2章 AT89C51单片机结构和原理
读锁存器
地 址 /数 据 控 制
内部总线 写锁存器
D P0.XQ
D2H
D1H
D0H
第2章 AT89C51单片机结构和原理
① 进位标志位CY:表示累加器A在加减运算过程 中其最高位A7有无进位或借位。
② 辅助进位位AC:表示累加器A在加减运算时低4 位(A3)有无向高4位(A4)进位或借位。
③ 用户标志位F0:是用户定义的一个状态标志位, 根据需要可以用软件来使它置位或清除。
第2章 AT89C51单片机结构和原理
(1) 算术逻辑单元(ALU):AT89C51中的ALU由加 法器和一个布尔处理器组成(图中未具体画出)。
(2) 累加器(ACC):用来存放参与算术运算和逻辑运 算的一个操作数或运算的结果。
(3) 暂存寄存器(TMP1、TMP2):用来存放参与算术 运算和逻辑运算的另一个操作数,它对用户不开放。
第2章 AT89C51单片机结构和原理
第2章 AT89C51单片机结构和原理
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• (5) 数据指针DPTR(83H,82H): – DPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示 (地址83H),低位字节寄存器用DPL表示(地址82H)。DPTR既可以作 为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和 DPL使用。
– DPTR主要用于存放16位地址,以便对64KB片外RAM作间接寻址。 – 例如: MOV DPTR, #107FH ;将RAM地址107FH传送到DPTR寄存器 MOVX @DPTR, A ;将A的内容传送到DPTR内容指定的外部RAM中 • (6) I/O 端口P0~P3(80H,90H,A0H,B0H):
R0~R7
89C51复位后,RS1=RS0=0,CPU自动选择第0组为当前工作寄存
器组。(默认工作寄存器组)
根据需要,可利用传送指令对PSW整字节操作或用位操作指令改变 RS1和RS0的状态,以切换当前工作寄存器组。这样的设置为程序中
保护现场提供了方便。如:执行指令 MOV PSW,#08H,切换到第1
– (2)0003H~002AH单元:
• 均分为五段,用作五个中断服务程序的入口。中断 矢量地址表如表2-3所示。
表2-3 中断源 外部中断0(INT0) 定时器/计数器0溢出
中断矢量地址表 中断服务程序入口地址 0003H 000BH
外部中断(INT1)
定时器/计数器1溢出
0013H
001BH
串行口
什么是入口地址?
0023H
2 数据存储器 • 一般将随机存储器(RAM)用做数据存储器。可寻址空 间为64KB。MCS-51数据存储器可分为片内和片外两部 分。片内、片外独立编址。 片外RAM: 最大范围:0000H~FFFFH, 64KB;用指令MOVX访问。 片内RAM: 最大范围:00H~FFH,256B; 用指令MOV访问。 又分为两部分:低128B(00~ 7FH)为真正的RAM区,高128B (80~FFH)为特殊功能寄存器 (SFR)区。如右图所示。
组工作寄存器。
– OV(PSW.2):溢出标志位。当进行8位二进制数的补码运算时,
如果运算结果超出-128~+127的范围,则有溢出,OV位由硬
件自动置1;否则无溢出,OV=0。溢出标志位OV=C7 C6(异 或),该标志位只有带符号数运算时才有用。 • 如:执行以下指令后,问PSW中各位的状态是什么? • MOV A, #0FH • ADD A, #F8H – PSW.1:为保留位。89C51未用,89C52为F1用户标志位。 – P(PSW.0):奇偶校验标志位。每条指令执行完后,该位始终跟踪 指示累加器A中1的个数。如结果A中有奇数个1,则置P=1;否则 P=0。常用于校验串行通信中的数据传送是否出错。
• 20H~2FH用作位寻址时,每位都分配了一个特定地址,即00H~7FH, 这些地址称为位地址。
• 位地址的三种表示方法
①直接使用位地址,如3DH; ②采用第几字节第几位的表示方法, 如2FH.7 ; ③经伪指令定义过的字符名称。如: A1 BIT 07H ; – BIT是位地址赋值伪指令。 • (3)通用RAM区(30H~7FH) • 通用RAM区域共有80个单元,用于用 户数据或做作堆栈用。MCS-51对这个 区域中每个单元按字节存取。 • 在实际应用中,常需在RAM区设置堆 栈,堆栈一般设置在30H~7FH的范围 内。在系统初始化时使用一条MOV指 令就可修改SP的初始值。
• 堆栈指针SP
– 堆栈区域是89C51在片内RAM中专门开辟出来一个区域,数据的 存取是以“后进先出”的结构方式处理的,好像冲锋枪压入子弹。 这种数据结构方式对于处理中断,调用子程序非常方便。 – 堆栈指针SP为8位特殊功能寄存器,能自动加1或减1,专门用来 存放堆栈的栈顶地址。SP的内容可指向89C51片内00H~7FH RAM的任何单元。系统复位后,SP初始化为07H,即指向07H的 RAM单元。 – 堆栈的操作有两种: 一种叫数据压入(PUSH),另一种叫数据弹 出(POP)。 – 89C51的堆栈指针SP是一个双向计数器。数据进栈时,SP内容 自动增值,数据出栈时自动减值。
• 片内容量为4KB,地址范围为0000H~0FFFH。 • 片外最多可扩至64KB ROM/EPROM,地址范围为 1000H~FFFFH。 • 片内外统一编址。 • ROM的寻址方式: • 1)当 EA=“1”时:
– 在0000~0FFFH范围内执行片内ROM中的程序,当指令地址超 过0FFFH 后就自动转向片外ROM中取指令。
• 一个8位的微处理器CPU • 片内振荡器和时钟产生电路 • 片内数据存储器(RAM 128B/256B)
– 用于存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的 数据等
• 片内程序存储器Flash ROM(4KB/8KB)
– 用于存放程序、一些原始数据和表格。但有一些单片机内部不带 ROM/EPROM,如8031、8032、80C31等
PSEN ALE EA RST
定 时 控 制
指 令 译 码 器 OSC
指 令 寄 存 器
P1锁存器 P1驱动器
P3口锁存器 P3口驱动器 P1.0-P1.7 P3.0-P3.7
XTAL1
XTAL2
89C51单片机内部结构
(一)、中央处理单元(CPU)的组成: • 1.逻辑算术部件(ALU)
– 可进行加、减、乘、除四则运算和与、或、非、异或等逻辑运算,还具 有数据传送、移位、判断和程序转移等功能 – ALU由一个加法器、两个8位暂存器(TMP1和TMP2)和布尔处理器(专门用 于处理位操作)组成
– P0~P3为4个8位特殊功能寄存器,分别是4个并行I/O端口的锁存器。
它们都有字节地址,每一个口锁存器还有位地址,每一条I/O线均可 独立用作输入或输出。 – 用作输出时,可以锁存数据;用作输入时,数据可以缓冲。
89C51单片机内部结构
• (二)存储器结构 • MCS-51的存储器可分为程序存储器和数据存储器,又有 片内和片外之分。 1. 程序存储器 一般将只读存储器(ROM)用做程序存储器。可寻址空间 为64KB,用于存放用户程序、数据和表格等信息。 MCS-51单片机按程序存 储器可分为内部无ROM型 (如8031)和内部有ROM 型(如8051)两种,连接 时引脚有区别。程序存储 器结构如右图所示。
• 2)当 EA=“0”时:
– 片内ROM不起作用,CPU只能从片外ROM/EPROM中取指令, 可从 0000H 开始寻址。
• 3)片内ROM和片外ROM取指的速度相同。
• 4)程序存储器的保留存储单元,如表2-2所示。
– (1)0000H~0002H 三个单元:
• 用作上电复位后引导程序的存放单元。因为复位后 PC的内容为0000H,CPU总是从地址0000H开始执 行程序。将转移指令存放到这三个单元,程序就被 引导到指定的程序存6 AC
PSW.5 F0
PSW.4 RS1
PSW.3 RS0
PSW.2 OV
PSW.1 -
PSW.0 P
进、借 辅助进 用户标 寄存器 寄存器 溢出标 位 借位 定 组选择 组选择 志位
保留 位
奇/偶 标志位
专用寄存器组
• PSW各位的定义如下:
– Cy(PSW.7): 进位标志位。在执行加法(或减法)运算指令时,如 果运算结果最高位(位7)向前有进位(或借位),则Cy位由硬件自动 置1;如果运算结果最高位无进位(或借位),则Cy清0。Cy也是 89C51在进行位操作(布尔操作)时的位累加器,在指令中用C代替 Cy。 – AC(PSW.6): 半进位标志位,也称辅助进位标志。当执行加法 (或减法)操作时,如果运算结果(和或差)的低半字节(位3)向高半字 节有半进位(或借位),则AC位将被硬件自动置1;否则AC被自动 清0。 – F0(PSW.5): 用户标志位。用户可以根据自己的需要对F0位赋予 一定的含义,由用户置位或复位,可作为软件标志。 – RS0和RS1(PSW.3和PSW.4): 工作寄存器组选择控制 位.89C51共有4个工作寄存器组,每一组均用R0~R7表示,但其 在RAM中的物理地址不同, RS0和RS1值的组合可用于选择 R0~R7的组别。
2) 89C51单片机 内部结构图 RAM地 址寄存器 128B RAM
P0.0-P0.7 P0口驱动器
P2.0-P2.7
P2口驱动器
P0口锁存器
P2口锁存器
4KB Flash ROM
程序地址 寄存器 B寄存器
TMP1 ALU
TMP2
ACC
SP 缓冲器
中断、串行口 和定时器 PSW
PC增1
PC DPTR
工作寄存器R0~R7所在组别和片内RAM地址与RS1、RS0之间的关系 PSW.4(RS1) PSW.3(RS0) 寄存器组 0 0 1 0 1 0 0组 1组 2组 片内RAM地 址 00H~07H 08H~0FH 10H~17H 通用寄存器名称 R0~R7 R0~R7 R0~R7
1
1
3组
18H~1FH
• 右图中,假若有8个RAM单元, 每个单元都在其右面编有地 址,栈顶由堆栈指针SP自动 管理。每次进行压入或弹出 操作以后,堆栈指针便自动 调整以保持指示堆栈顶部的 位置。
指令执行步骤: 入栈:(SP)+1 SP,再将数据
存放在SP指向的存储单元中。 出栈:先将SP指向的存储单元内 容弹出,再(SP)-1 SP。
振荡器和时序 OSC
程序存储器 4KB ROM
数据存储器 256B RAM/SFR
2个16位 定时器/计数器
89C51 CPU 64KB 总线 扩展控制器 4个可编程I/O 可编程全双工 串行口
外 中 断
中断控制
内中断
控制 P0 P1 P2 P3
相关文档
最新文档