2.1 89C51单片机的内部结构解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8051 8751 128 80C51 87C51 字节 (4K字节) (4K字节) 8052 8752 256 80C52 87C52 字节 (8K字节) (8K字节) 128 128/ 256
2x16
4x8位
1
5
3x16
4x8位
1
6
1051(1K)/2051(2K)/4051(4K) (20条引脚DIP封装) 89C51(4K)/89C52(8K) (40条引脚DIP封装)
51系列单片机的存储器分为数据存储器和程序存储 器,其地址空间,存取指令和控制信号各有一套。
1. 物理结构
片内程序存储器
程序存储器ROM
89C51存储器
片外程序存储器 片内数据存储器 片外数据存储器
数据存储器ROM
2. 逻辑结构
FFH 特 殊 功 能 寄 存 器 80H 7FH 通用 RAM区 位寻址区 30H 2FH 20H 1FH 0FFFH 工作寄 存器区 0000H 0000H 1000H F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H 特 殊 FFFFH 功 能 寄 存 器 中 位 寻 址 FFFFH 外部 RAM 外部
PSW
中断系统 串行口 定时/计数器
PC加1
PC
DPTR
P1锁存器
P3锁存器 P3驱动器
P1驱动器
P1.0~P0.7
P3.0~P3.7
三、CPU结构
CPU主要由运算器和控制器组成。
1. 运算器 (1) 组成: ALU(算术逻辑单元)、ACC(累加器)、B 寄存器、程序状态字PSW、两个暂存寄存器。 (2) 功能:
ROM
(I/O口 地址)
内部 ROM (EA=1)
0FFFH
外部 ROM (EA=0)
00H
0000H
内部数据存储器
外部数据存储器
程序存储器
(1) 片内、外程序存储器统一编址,使用MOVC指令。 (2) 片外数据存储器统一编址,使用MOVX指令。 (3) 片内数据存储器统一编址,使用MOV指令。
系列 Intel 51 子系列 Intel 52 子系列 ATEML 89C系列 (常用型) 片内存储器(字节) MCS-51 系列单片机配置一览表 定时器 并行 片内ROM 有ROM 无 8031 80C31 8032 80C32 有EPROM 片内 计数器 RAM I/O 串行 I/O 中 断 源
位序
位标志
PSwk.baidu.com.7
PSW.6
PSW.5
PSW.4
PSW.3
PSW.2
PSW.1
PSW.0
CY
AC
F0
RS1
RS0
OV
-
P
用户标志位F0:用户可以根据自己的需要对F0位赋 予一定的含义,由用户置位或复位,以作为软件标 志。 寄存器组选择位RS1、RS0:选择指令当前工作的 工作寄存器组。
RS1
0 0 1 1
RS0
0 1 0 1
工作寄存器区
0区 00H~07H 1区 08H~0FH 2区 10H~17H 3区 18H~1FH
位序
位标志
PSW.7
PSW.6
PSW.5
PSW.4
PSW.3
PSW.2
PSW.1
PSW.0
CY
AC
F0
RS1
RS0
OV
-
P
溢出标志位OV:带符号加减运算中,超过累加器A 所能表示的符号数有效范围(-128~+127)则OV =1。乘法指令,乘积超过255时,OV=1。除法指 令,OV=1,表示除数为0。 奇偶标志位P:该位始终跟踪指示累加器A中1的个 数。如结果A中有奇数个1,则置P=1;否则P=0。 常用于校验串行通信中的数据传送是否出错。 问题:PSW中哪些位有硬件自动设置?哪些位使用 软件方法设定?
2
15
1
5
2/3
32
1
5/6
3. 程序存储器 (1) 功能: 用于存放编好的程序和表格常数。 (2) 编址:
0FFFFH
外部 ROM
1000H 0FFFH 内部 ROM 0000H (EA=1) 外部 ROM (EA=0) 0000H 0FFFH
片内ROM和片外ROM取指的速度相同
0000H 0003H 000BH 0013H 001BH 0023H 002BH
1. 3 程序状态字PSW 一个8位寄存器,用于寄存程序运行的状态信息, 供程序查询和判别用。
位序 位标志
PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0
CY
AC
F0
RS1
RS0
OV
-
P
进位标志位 CY:有进位或借位时CY=1,否则CY =0;在进行位操作时,CY作为位操作累加器进行 位处理,在指令中用C代替CY。 辅助进位标志位AC:当执行加法(或减法)操作时, 如果运算结果(和或差)的低半字节(位3)向高半字 节有半进位(或借位),则AC位将被硬件自动置1; 否则AC被自动清0。
2. 1 89C51单片机的内部结构
2.1.1 51单片机的基本组成
外部时钟 外部事件计数
一、51单片机结构框图
振荡器和时序 OSC 程序存储器 4KBROM 数据存储器 256B RAM/SFR 2×16位 定时器/计数器
89C51 CPU
64KB 总线 扩展控制器
内中断 控制
可编程I/O
可编程全双工 串行口
2. 控制器 (1) 组成: 主要由程序计数器PC、指令寄存器IR、指令译 码器ID、堆栈指针SP、数据指针DPTR、时钟 发生器及定时控制逻辑等组成。 (2) 功能: 控制器是单片机的指挥控制部件,保证单片机 各部分能自动而协调地工作。 执行一条指令的全过程:
取指令 分析 执行
四、存储器(哈佛结构)
串行通信
外中断
并行口
P0.0~P0.7 Vcc
P2.0~P2.7
P0驱动器 二、89C51内部结构图 RAM 地址 寄存器
RAM A
P2驱动器
Vss
P0锁存器 P2锁存器 EPROM或ROM
B寄存器
暂存器2
暂存器1 ALU
SP
16位地址寄存器 缓冲器
PSEN ALE EA RST
指 定时 令 及 寄 控制 存 器 振荡器
算术运算;逻辑运算;
移位功能;位操作。
1. 1 累加器ACC
累加器ACC是8位寄存器,一个最常用的专用寄存 器。在指令系统中用A作为累加器ACC的助记符。 功能: 用于存放操作数; 用于存放中间结果; 在变址寻址方式中作为变址寄存器使用。 1. 2 寄存器B 在乘除运算时,用来存放一个操作数也用来存 放运算后的一部分结果; 如不做乘除运算时,可作为通用寄存器。