8051 系列单片机内部结构
1.2 8051 系列单片机内部结构
8051系列单片机内部结构可以分为 CPU、存储器、并行口、串行口、定时器/计数器和中断逻辑这几部分,如图 1-2-1。
图 1-2-1
1.2.1 微处理器
微处理器又称 CPU,由运算器和控制器两大部分组成。
1. 算术逻辑单元
它在控制器所发内部控制信号的控制下进行各种算术操作和逻辑操作。
MCS-51 系列单片机的算术逻辑单元能完成带进位位加法、不带进位位加法、带进位位减法、加 1、减 1、逻辑与、逻辑或、逻辑异或、循环移位以及数据传送、程序转移等一般操作外,其特点是:
� 在 B 寄存器配合下,能完成乘法与除法操作。
� 可进行多种内容交换操作。
� 能作比较判跳转操作。
� 有很强的位操作功能。
2. 累加器
累加器 A 是最常用的专用寄存器。
进入 ALU 作算术操作和逻辑操作的操作数很多来自 A,操作的结果也常送回 A。有时很多单操作数操作指令都是针对 A 的,例如指令 INC A 是执行 A 中内容自加 1 的操作,指令 CLR A 是执行将 A 内容清零的操作,指令 RL A 是执行使 A 各位内容依次循环向左移动一位的操作。
3. 程序状态字
程序状态字 PSW 是一个 8 位寄存器,它包含了许多程序状态信息,其各位的含义见图 1-2-2。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
CY |
AC |
FO |
RS1 |
RS0 |
OV |
- |
P |
图 1-2-2
PSW 各位的含义如表 1-2-1。
位 |
含义 |
CY |
进位标志。有进位/借位时,CY=1,否则 CY=0。 |
AC |
辅助进位标志。8 位运算时,如果低半字的最高位 D3 有进位,则 AC=1,否则 AC=0;8 位减法运算时,如果 D3 有借位,则 AC=1,否则 AC=0。AC 在作 BCD 码运算而进行二-十进制调整时很有用。 |
FO |
软件标志。这是用户定义的一个状态标志。可通过软件对它置位、清零;在编程时,也常测试其是否建起而进行程序分支。 |
RS1 RS0 |
工作寄存器组选择位,可借软件置位或清零,以选定 4 个工作寄存器组中的一个投入工作,详见表 1-2-2。 |
OV |
溢出标志。当带符号数运算结果超出-128~127 范围时,OV=1,否则 OV=0;当无符号数乘法结果超过 255 时,或当无符号数除法的除数为 0 时,OV=1,否则 OV=0。 |
P |
奇偶标志。每执行一条指令,单片机都能根据 A 中 1 的个数的奇偶自动令 P 置位或清零,奇为 1 ,偶为 0。此标志对串行通信的数据传输非常有用,通过奇偶校验可校验传输的可靠性。 |
RS1、RS0 与工作寄存器组的关系如表 1-2-2。
表 1-2-2
RS1 |
RS0 |
工作寄存器组 |
0 |
0 |
0 组(00H~07H) |
0 |
1 |
1 组(08H~0FH) |
1 |
0 |
2 组(10H~17H) |
1 |
1 |
3 组(18H~1FH) |
1.2.2 振荡器与 CPU
1. 振荡器
图 1-2-3
MCS-51 系列单片机内含有一个高增益的反相放大器,通过 XTAL1、XTAL2 外接作为反馈元器件的晶体后便成为自激振荡器,接法见图 1-2-3。晶体呈感性,与两个 30pF 电容并联谐振电路。振荡器的震荡频率主要取决于晶体;电容的值有微调作用,通常取 30pF 左右。电容的安装位置应尽量靠近单片机芯片。
2. CPU 时序
振荡器输出的震荡脉冲经 2 分频成为内部时钟信号,用作单片机内部各功能部件按序协调工作的控制信号;其周期成为时钟周期,也称为状态周期。
CPU 执行一条指令的时间成为指令周期。指令周期已机器周期为单位,例如单周期指令、双周期指令。MCS-51 系列单片机除乘法指令、除法指令是 4 周期指令外,其余都是单周期指令和双周期指令。若用 12MHz 晶振,则单周期指令和双周期指令的执行时间分贝为 1us 和 2us,乘法指令和除法指令为 4us。
1.2.3 存储器
8051 系列单片机的存储器结构特点之一是将程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式。这种结构的的单片机称为哈佛结构单片机。该结构与通用微机的存储器结构不同。一般微机只有一个存储器逻辑空间,可随意安排 ROM 或 RAM,访问时用同一种指令。这时结构称为普林斯顿型。
8051 系列单片机在物理上有 4 个存储空间:片内程序存储器和片外程序存储器;片内数据存储器和片外数据存储器。
8051 系列单片机内有 256 字节数据存储器 RAM 和 4KB 的程序存储器 ROM。除此之外,还可以在片外拓展 RAM 和 ROM,并且各有 64KB 的寻址范围,也就是最多可以在外部拓展 2x64KB 存储器。
对 8051 来说,如EA引脚为高电平,复位后先执行片内程序存储器中的程序,当程序计数器 PC 中内容超过 0x0FFF(对 51 子系列)或 0x1FFF(对 52 子系列)时,将自动转去执行片外程序存储器中的程序;对于片内无程序存储器的 8031、8032,EA 引脚应保持低电平,使其只能访问片外程序存储器。
对于有片内程序存储器的芯片,如EA引脚接低电平,将强令执行片外程序存储器中的程序。此时多在片外程序存储器中存放调试程序,使计算机工作在调试状态。那么这时就要注意:片外程序存储器存放调试程序的部分,其编址与片内程序存储器的编址是可以重叠的,借EA引脚的换接可实现分别访问。
二者,都能自程序存储器的任一单元取指执行或访问取数(常数),不会混乱。
下图为 51 子系列的存储器编址图,程序存储器编址如图 1-2-4,数据存储器如图 1-2-5。
图 1-2-4
图 1-2-5
64KB 的程序存储器(ROM)空间中,有 4KB 地址区对于片内 ROM 和片外 ROM 是公用的。这 4KB 地址为 0000H~0FFFH;而 1000H~FFFFH 地址区为外部 ROM 专用。CPU 的控制器专门提供一个控制信号通过EA引脚来控制EA用来区分内部 ROM 和外部 ROM 的公用地址区:当EA引脚接高电平时,单片机从片内 ROM的 4KB 存储区取指令,而当指令地址超过 0FFFH 后,就自动地转向片外 ROM 指令;当EA引脚为低电平时 ,CPU 只从片外 ROM 取指令。这种接法特别适用于 8031 单片机的场合,由于 8031 内部不带 ROM,所以使用必须EA引脚置 0,以便直接从外部 ROM 中取指令。
程序存储器的某些单元是保留给系统使用的:0000H~0002H 单元是所有执行程序的入口地址,即单片机上电后,CPU 总是从 0000H 单元开始执行地址;0003H~002BH 单元均匀地分为 5 段,用做 5 个中断服务函数的入口地址如表 1-2-4,用户程序不应进入上述区域。
中断源 |
入口地址 |
外部中断 0 |
0003H |
定时器/计数器 0 溢出 |
000BH |
外部中断 1 |
0013H |
定时器/计数器 1 溢出 |
001BH |
串行口 |
0023H |
定时器/计数器 2 溢出或 T2EX 端负跳变(仅 8032 、8052 用) |
002BH |
数据存储器 RAM 也有 64KB 寻址区,在地址上与 ROM 是重叠的。8051 通过不同的信号来选通 ROM 或RAM:当从外部 ROM 取指令时,用选通信号PSEN;而当从外部 RAM 读写数据时,采用读写信号RD或WR来选通,因此,不会因为地址重叠而出现混乱。
8051 的 RAM 虽然字节数不很多,但却起着十分重要的作用。256 字节被划分为两个区域:00H~7FH是真正的RAM区,可以读/写各种数据;而80H~FFH是专门用于特殊功能寄存器(SFR,Special FunctionRegister)的区域。对于 8051 安排了 21 个特殊功能寄存器;对于 8052 则安排了 26 个特殊功能寄存器。每个寄存器为 8 位,即一个字节,所以实际上 128 自己没有全部利用。
51 子系列单片机片内 RAM 共分为工作寄存器区、位寻址区、数据缓冲区器三个区域。
工作寄存器也称作通用寄存器,供用户编程时使用,临时保存 8 位信息。
位寻址就是每一位都被赋予了 1 个位地址,有了位地址就可以位寻址,对特定位进行处理、内容传送或据以判条,给编程带来极大的方便。
数据缓冲区即用户 RAM 区。
片内数据存储器如表 1-2-5。
片内数据存储区域 |
占用地址 |
|
工作寄存器区 |
工作寄存器 0 组 |
00H~07H |
工作寄存器 1 组 |
08H~0FH |
|
工作寄存器 2 组 |
10H~17H |
|
工作寄存器 3 组 |
18H~1FH |
|
位寻址区 |
20H~2FH |
|
数据缓冲区 |
30H~7FH |
对于 128 字节 RAM 的 8051 系列单片机来说,真正让用户使用的 RAM 只有 80 自己,即 30H~7FH。对于 8052 单片机来说,片内多安排了 128 字节 RAM 单元,地址也为 80H~FFH,与特殊功能寄存器区域地址重叠,但在使用时,可以通过指令加以区别。
特殊功能寄存器也称专用寄存器,专用于控制、管理片内算路逻辑部件、并行 I/O 口,串行I/O 口、定时器/计数器、中断系统等功能模块的工作,用户编程时可以置数设定,却不能将该寄存器另作他用。在 51 系列单片机中,将各专用寄存器(程序计数器 PC 例外)与片内 RAM 统一编址的,又可以作为直接寻址字节。特殊功能寄存器地址分配如表 1-2-6。
表 1-2-6
特殊功能寄存器 |
符号 |
地址 |
P0 口 |
P0 |
80H |
堆栈指针 |
SP |
81H |
数据指针低字节 |
DPL |
82H |
定时器/计数器控制 |
TCON |
88H |
定时器/计数器方式控制 |
TMOD |
89H |
定时器/计数器 0 低字节 |
TL0 |
8AH |
定时器/计数器 1 低字节 |
TL1 |
8BH |
定时器/计数器 0 高字节 |
TH0 |
8CH |
定时器/计数器 1 高字节 |
TH1 |
8DH |
P1 口 |
P1 |
90H |
电源控制 |
PCON |
97H |
串行控制 |
SCON |
98H |
串行数据缓冲器 |
SBUF |
99H |
P2 口 |
P2 |
A0H |
中断允许控制 |
IE |
A8H |
P3 口 |
P3 |
B0H |
中断优先级控制 |
IP |
B8H |
定时器/计数器 2 控制 |
T2CON |
C8H |
定时器/计数器 2 自动重装载低字节 |
RLDL |
CAH |
定时器/计数器 2 自动重装载高字节 |
RLDH |
CBH |
定时器/计数器 2 低字节 |
TL2 |
CCH |
程序状态字 |
PSW |
D0H |
累加器 |
A |
E0H |
B 寄存器 |
B |
F0H |
1.2.4 并行接口
MCS-51 系列单片机有 32 根输入/输出线,组成 4 个 8 位并行输入/输出接口,分别为 P0 口 、P1 口、P2 口、P3 口。这 4 个接口可以并行输入或输出 8 位数据,也可以按位使用,即每一根输入/输出线都能够独立地用作输入或输出。
这 4 个口的差别就是 P0、P2、P3 都还有第二功能的,而 P1 口只能作普通的 I/O 口来使用 。
详细描述请看“第二章 STC89C52RC 处理器 2.4 管脚小节”。
1.3 8051 系列单片机内部资源
1. 定时器/ / / / 计数器
8051 系列单片机至少有两个 16 位内部定时器/计数器(T/C,Timer/Counter),提供了 3 个定时器,其中两个基本定时器/计数器分别是定时器/计数器 0(T/C0)和定时器/计数器 1(T/C1)。它们既可以编程为定时器使用,也可以编程为计数器使用。若是计数内部晶振驱动时钟,则它是定时器;若是计数输入引脚的脉冲信号,则它是计数器。
2. 串行口
串行收/发存储在特殊功能寄存器的 SBUF(串行数据缓冲器),从表 1-2-6 可以知道,SBUF占用 RAM 地址为 99H。实际上在单片机内部有两个数据缓冲器:发送缓冲器和接收缓冲器,它们都以 SBUF 来命名,只根据对 SBUF 特殊功能寄存器读/写操作,单片机会自动切换发送缓冲器或接收缓冲器。
SBUF=0x01,该操作为写操作,数值 0x01 会被装载到发送缓冲器。
Tmp=SBUF,该操作为读操作,接收缓冲器的内容会被赋值给 Tmp 变量。
3. 中断系统
8051 系列单片机中断系统的功能有 5 个(52 子系列为 6 个)中断源,2 个中断优先级,从而实现二级中断嵌套,每一个中断源的优先级可由程序设定。与中断系统工作有关的特殊功能寄存器有中断允许控制寄存器 IE、中断优先级控制寄存器 IP 以及定时器/计数器控制寄存器 TCON等。
8051 系列单片机内部结构相关推荐
- 8051系列单片机汇编语言指令速查表(汇编语言的111条指
8051系列单片机汇编语言指令速查表(汇编语言的111条指_纳兰容若的左手_新浪博客 http://blog.sina.com.cn/s/blog_6486c0b30100gqew.html 编号 指 ...
- 8051系列单片机软件精确延时研究(二)
续前篇 8051单片机软件精确延时研究(一) 由前篇可知,在DelayX10us()函数中用for循环延时会产生10个机器周期的固定误差,其中X传值.调用函数.子函数返回共5个机器周期,这是只要调用带 ...
- 【Proteus+51单片机学习笔记】-51/52系列单片机简介
0 摘要 本文主要对STC89C52系列单片机进行了简单介绍,对其主要电路进行整理. 1 STC89C52系列单片机简介 STC89C52单片机指令完全兼容传统8051单片机,包括12T和6T两种模式 ...
- 丁向荣单片机pdf_单片机原理与应用(C语言版)——基于STC15W201S系列单片机 丁向荣 纺著 9787121246357...
第1章 STC15W201S单片机结构与工作原理 1.1 微型计算机结构与单片机 1.1.1 微型计算机的基本结构与工作原理 1.1.2 单片机概述 1.2 STC15W201S单片机结构与工作原理 ...
- 02__51系列单片机基本结构
51系统单片机基本结构 8051系列单片机的内部结构是各种逻辑单元及其之间的互连构成的.其主要由中央处理器cpu,程序存储器ROM.数据存储器Ram.串行接口.并行I/O接口,定时/计数器.中断系统等 ...
- 51系列单片机指令快速记忆法
随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小.性价比 高.功能强.可靠性高等独有的特点,在各个领域(如工业控制.家电产品.汽车电子.通信.智能仪器仪表)得到了广泛的应用.学习. ...
- 8051单片机内部结构
目录 1.概述 2.CPU 3.电源电路 4.时钟电路 5.复位电路 6.ROM(程序存储器) 7.RAM(数据存储器) 8.中断控制器 9.定时器/计数器 10.串行通信口 11.P0-P3输入/输 ...
- RJM8L151额温枪方案应用超低功耗8位高性能8051内核系列单片机
RJM8L151是一款资源丰富的8位高性能的8051内核系列单片机.芯片内置256字节内部数据存储器,2-8K字节SRAM,16-64K字节的可编程FLASH.具备快速中断响应,高效低功耗设计,多种休 ...
- 51、PIC、AVR、16、32-BIT系列单片机区别与特点
8031/8051/8751是Intel公司早期的产品. 1.8031的特点 8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764 ...
- STC12系列单片机的1T模式和12T模式
STC12系列单片机的1T模式和12T模式 总结 STC12系列单片机的1T模式和12T模式 基本原理 以定时器为例 总结 1T 模式 (不分频) -- 1个系统基本时钟,执行一个动作: 12T模式( ...
最新文章
- 解读互联网40年中的10大“杀手”病毒
- python 框架好学吗-python的flask框架难学吗
- Java之SPI机制
- 2016年成功的Java开发人员简介
- Windows服务创建及安装
- app推广广告词热点
- 关联Left Outer Join的第一条记录
- LINUX SHELL中,如何查找某些文件并删除
- 使用WIN32汇编语言实现一个基本windows窗口的过程分析
- 【牛客网SQL篇】SQL必知必会
- dell服务器管理口ip地址_常用服务器管理口IP及账号密码(欢迎补充)
- 在线世界地图生成器 pixelmap可调色
- 医疗行业用户容灾备份方案
- Centos安装Docker的详细安装步骤
- 抖音OAuth2.0快速登录源码
- 【scratch音乐课】天空之城:音符与节拍、消息与链表
- C++学习笔记(二)——字符 字符串 ASCII码 转义字符
- 苹果将在WWDC首日举行“现场特别活动” 邀请函抽签决定
- k线符号图解大全_八种常见的K线符号
- 设置表头QHeaderView