第2章 MCS-51单片机的结构和原理
合集下载
第02章 MCS-51单片机的结构
CY
AC
F0
RS1 RS0
OV
/
P
PSW位地址
D7H D6H D5H D4H CY AC F0 RS1
D3H RS0
D2H D1H OV
D0H P
CY:进位标志。用于表示Acc.7有否向更高位进位。 加减运算时,保存最高位进位、借位状态。 AC:半进位标志。用于表示Acc.3有否向Acc.4进位。 例:78H+97H 0111 1000 +1001 0111 1 0000 1111
ALU
定时与控制 程序地址寄存器AR
CPU
。
2.2.2 控制器
控制器由程序计数器PC、指令
寄存器和指令译码器、定时和控
制逻辑电路。
相对控制器而言,运算器接受控 制器的命令而进行动作。
1).程序计数器PC
※ PC不属于特殊功能寄存器,不可访问,在物理结构 上是独立的。 ※ 16位的地址寄存器,用于存放下一字节指令的地址, 可寻址64KB的程序存储器空间。 ※ PC的基本工作方式有:
⑴ 自动加1。CPU从ROM中每读一个字节,自动执行 PC+1→PC; ⑵ 执行转移指令时,PC会根据要求修改地址; ⑶ 执行调用子程序或发生中断时,CPU会自动将当前 PC值压入堆栈,将子程序入口地址或中断入口地址装入 PC;子程序返回或中断返回时,恢复原有被压入堆栈的 PC值,继续执行原顺序程序指令。
用示波器检测该引脚来判断单片机是否损坏。
② PROG功能:片内有EPROM的芯片,在EPROM编程 期间,此引脚输入编程脉冲。
⑵ PSEN:片外程序存储器读选通信号输出端。 在向片外程序存储器读取指令或常数期间,每个机
器周期该信号两次有效(低电平)作为片外ROM的
单片机2
图2-1 MCS-51的外部引脚
8
单片机原理与应用
EA /VPP:片外ROM访问允许信号输 出引脚/片内 EPROM编程电压输入引脚。 它的功能是: (1)当 EA =0时,允许单片机访问片外 ROM(不允许使用片内ROM)。所以, 对于无片内ROM的单片机(如8031)此 引脚应接地。 (2)当 EA =1时,允许单片机使用片内 ROM。对于具有片内ROM的单片机, 若该引脚为高电平,则CPU在访问片内 ROM时,当访问地址超过所配置容量的 最大值时,会自动转向访问片外ROM。 (3)在对片内EPROM进行编程时,用 于输入编程电压。
23
单片机原理与应用
7.其他主要部件
暂存寄存器TMP1、TMP2:用于暂时存放从 数据总线或ACC送来的操作数。 程序地址寄存器:用于存放当前指令的地址, 具体数据由程序计数器送入。 指令寄存器:用于存放当前正在执行的指令操 作码(指令的构成在下一章中介绍)。 指令译码器:用于对指令寄存器中的指令操作 码进行分析,并把译码结果送给定时与控制部件, 作为产生微操作控制信号的依据。 内部总线:包括地址总线、数据总线和控制总 线,分别用于传递与它们的名称相对应的信号, 内部总线是各部件间进行信息传递的公共通道, 信号传递过程由CPU全盘控制,分时操作,不会 发生冲突。
1.电源引脚
VCC:+5V电源。 Vss:地线。
图2-1 MCS-51的外部引脚
4
单片机原理与应用
2.外接晶振引脚
XTAL1、2: 用于连接晶体振荡器 和微调电容,以便与 单片机内部的振荡器 构成内部时钟电路, 当采用外部时钟时, 作为外部振荡信号的 输入端。
图2-1 MCS-51的外部引脚
20
单片机原理 第2章 MCS-51单片机体系结构
8051单片机的内RAM共有128个单元,应用最为灵活,用于 存放变量的值、运算结果和标志位等信息。按其用途可分为三个 区域。
2.4.2 MCS-51单片机数据存储器
2.4.2 MCS-51单片机数据存储器
1. 工作寄存器区
字节地址为00H~1FH的32个单元是4组通用工作寄存器区,每组占用8个 字节,都标记为R0~R7。在某一时刻,CPU只能使用其中的一组工作寄存 器,工作寄存器的选择由程序状态字寄存器PSW中RS1、RS0两位来确定 ,如表2-3所示。
2. 数据总线DB 数据总线宽度为8位(D0~D7),由P0提供。
3. 控制总线CB 控制总线由P3口的第二功能状态和4根独立控制线RESET、 和ALE组成。
2.3 MCS-51单片机的中央处理器
• 8051系列单片机的中央处理器CPU是单片机 的指挥中心和执行机构,它的作用是产生合适的 时序,读入和分析每条指令代码,根据每条指令 代码的功能要求,指挥并控制单片机的有关部件 和器件,具体执行指定的操作。
2.2.3 并行I/O引脚
3. P2口
P2口,为准双向I/O口,具有内部上拉电阻。一共8位,有P2.0~P2.7共8 条引脚。当8051系列单片机扩展外部存储器及I/O接口芯片时,P2口作为 地址总线(高8位),和P0输出的低8位地址一起构成16位地址,可以寻址 64KB的地址空间。
P2口位结构图如图2-3 (c)所示,它比P1口多了 一个转换控制部分,当P2 与P0配合作为“地址/数据总 线”方式下的高8位数据线 (A8~A15)时,CPU将写 控制信号“1”使MUX切换到 右边,在“地址/数据总线” 方式下,无论P2口剩余多 少地址线,均不能被用于 普通I/O操作。
(2)控制引脚—— 、
2.4.2 MCS-51单片机数据存储器
2.4.2 MCS-51单片机数据存储器
1. 工作寄存器区
字节地址为00H~1FH的32个单元是4组通用工作寄存器区,每组占用8个 字节,都标记为R0~R7。在某一时刻,CPU只能使用其中的一组工作寄存 器,工作寄存器的选择由程序状态字寄存器PSW中RS1、RS0两位来确定 ,如表2-3所示。
2. 数据总线DB 数据总线宽度为8位(D0~D7),由P0提供。
3. 控制总线CB 控制总线由P3口的第二功能状态和4根独立控制线RESET、 和ALE组成。
2.3 MCS-51单片机的中央处理器
• 8051系列单片机的中央处理器CPU是单片机 的指挥中心和执行机构,它的作用是产生合适的 时序,读入和分析每条指令代码,根据每条指令 代码的功能要求,指挥并控制单片机的有关部件 和器件,具体执行指定的操作。
2.2.3 并行I/O引脚
3. P2口
P2口,为准双向I/O口,具有内部上拉电阻。一共8位,有P2.0~P2.7共8 条引脚。当8051系列单片机扩展外部存储器及I/O接口芯片时,P2口作为 地址总线(高8位),和P0输出的低8位地址一起构成16位地址,可以寻址 64KB的地址空间。
P2口位结构图如图2-3 (c)所示,它比P1口多了 一个转换控制部分,当P2 与P0配合作为“地址/数据总 线”方式下的高8位数据线 (A8~A15)时,CPU将写 控制信号“1”使MUX切换到 右边,在“地址/数据总线” 方式下,无论P2口剩余多 少地址线,均不能被用于 普通I/O操作。
(2)控制引脚—— 、
第2章MCS-51单片机基本结构
令和四周期指令。
2.1.4
复位和复位电路
单片机在重新启动时都需要复位,MCS-51 系列单片机有一个复位引脚输入端RST。 1. MCS-51系列的单片机复位方法为:在RST上加
一个维持两个机器周期(24个时钟周期)以上
的高电平,则单片机被复位。 2. 复位时单片机各部分将处于一个固定的状态。
复位后单片机各单元的初始状态
R2 2 00
2 2u F
R S T/VP D
R1 1K
V ss
GND
未稳压电源
WDI R1 PFI MR R2 MAX813L P1.0
RESET
WDO
﹠
RST MCS-51
“看门狗”复位电路
2.1.5 MCS-51单片机的引脚功能
MCS-51单片机采用40脚双列直插式封装形式,主要包括以 下几个部分: 1. 电源引脚Vcc和Vss Vcc(40脚):电源端,为十5V; Vss(20脚):接地端 ,GND。 2. 时钟电路引脚XTAL1和XTAL2 XTAL1为内部振荡电路反相放大器的输入端 。 XTAL2为内部振荡电路反相放大器的输出端 。 3. 控制信号引脚RST、ALE、PSEN和EA 4. I/O(输入/输出)端口P0、P1、P2和P3 5. MCS-51单片机P3口的第二功能
单片机各种周期的关系图
机器周期 S1 S2 S3 S4 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
时钟周期 状态周期
1个机器周期=6个状态周期=12个时钟周期
4、指令周期: 它是指CPU完成一条操作所需的全部
时间。 每条指令执行时间都是有一个或几个机器周
期组成。MCS - 51 系统中, 有单周期指令、双周期指
2.1.4
复位和复位电路
单片机在重新启动时都需要复位,MCS-51 系列单片机有一个复位引脚输入端RST。 1. MCS-51系列的单片机复位方法为:在RST上加
一个维持两个机器周期(24个时钟周期)以上
的高电平,则单片机被复位。 2. 复位时单片机各部分将处于一个固定的状态。
复位后单片机各单元的初始状态
R2 2 00
2 2u F
R S T/VP D
R1 1K
V ss
GND
未稳压电源
WDI R1 PFI MR R2 MAX813L P1.0
RESET
WDO
﹠
RST MCS-51
“看门狗”复位电路
2.1.5 MCS-51单片机的引脚功能
MCS-51单片机采用40脚双列直插式封装形式,主要包括以 下几个部分: 1. 电源引脚Vcc和Vss Vcc(40脚):电源端,为十5V; Vss(20脚):接地端 ,GND。 2. 时钟电路引脚XTAL1和XTAL2 XTAL1为内部振荡电路反相放大器的输入端 。 XTAL2为内部振荡电路反相放大器的输出端 。 3. 控制信号引脚RST、ALE、PSEN和EA 4. I/O(输入/输出)端口P0、P1、P2和P3 5. MCS-51单片机P3口的第二功能
单片机各种周期的关系图
机器周期 S1 S2 S3 S4 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
时钟周期 状态周期
1个机器周期=6个状态周期=12个时钟周期
4、指令周期: 它是指CPU完成一条操作所需的全部
时间。 每条指令执行时间都是有一个或几个机器周
期组成。MCS - 51 系统中, 有单周期指令、双周期指
第二章--MCS-51单片机的结构
基 本 组 成
5)布尔处理器 MCS-51的CPU是8位微处理器,它还具有1位微处理器的 功能。布尔处理器具有较强的布尔变量处理能力,以位 (bit)为单位进行运算和操作。它以进位标志(Cy)作为累 加位,以内部RAM中所有可位寻址的位作为操作位或存储 位,以P0~P3的各位作为I/O位,同时布尔处理器也有自 己的指令系统。
FFFFH 片外ROM 1000H 0FFFH 0FFFFH
片外RAM或 I/O口
片内ROM
EA =1
片外ROM
EA =0
0000H
0000H
基 本 组 成
图2-2 8051存储器配置图
从用户使用的角度看,8051存储空间分为三类:片内、 片外统一编址0000H~0FFFFH的64KB的程序存储器地址 空间;256字节数据存储器地址空间,地址从00H~0FFH; 64KB片外数据存储器或I/O口地址空间,地址也从 0000H~0FFFFH。上述三个空间地址是重叠的,即程序 存储器中片内外低4KB地址重叠,数据存储器与程序存储 器64KB地址全部重叠,虽然地址重叠,但由于采用了不 同的操作指令及控制信号EA、PSEN的选择,因此不会发生 混乱。
基 本 组 成
在任一时刻,CPU只能使用其中的一组寄存器,并且 把正在使用的那组寄存器称为当前寄存器组。当前寄存器 组由程序状态寄存器PSW中RS1、RS0位的状态组合决定。 非当前寄存器组可作为一般的数据缓冲器使用。
基 本 组 成
图2-3 8051内部数据寄存器配置图
位寻址区(20H~2FH) 内部RAM的20H~2FH单元为位寻址区 ,这16个单元 (共计128位)的每一位都有一个8位表示的位地址,位寻址 范围为00H~7FH。位寻址区的每一个单元既可作为一般 RAM单元使用,进行字节操作,也可以对单元中的每一 位进行位操作。
第2章8051单片机硬件结构和原理
指令寄存器IR及指令译码器ID
• 由PC中的内容指定ROM地址,取出来的指令经IR送至ID, 由ID对指令译码产生一定序列的控制信号,以执行指令所 规定的操作。
振荡器和定时电路
• 8051单片机片内有振荡电路,只需外接石英晶体 和频率微调电容(2个30pF左右),其频率范围为 1.2MHz~12MHz。该信号作为8051工作的基本节拍
片外程序存储器
从程序员角度看存储器
程序存储器保留地址
(1)0000H~0002H三个单元:
• 用作上电复位后引导程序的存放单元。因
为复位后PC的内容为0000H,CPU总是从
0000H开始执行程序。将转移指令存放到 这三个单元,程序就被引导到指定的程序 存储器空间去执行。
程序存储器保留地址
(2)0003H~002AH单元:
使用。
SFR之 程序状态寄存器PSW(D0H)
• PSW是一个8位特殊功能寄存器,它的各位包含
了程序执行后的状态信息,供程序查询或判别之
用。各位的含义及其格式如表2-6所列。
• PSW除有确定的字节地址(D0H)外,每一位均有
位地址
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位赋予一定的含义,由用户置位或复位,以作为 软件标志。
第2章MCS--51系列单片机的结构及原理
(3)软件标志FO(PSW.5):这是可由用户定义的一个 状态标志,可由用户置位或复位。F1的定义与F0相同。
(4)工作寄存器组选择位RS1、RS0(PSW.4,
PSW.3): RS1、RS0与工作寄存器组的对应关系
如下:
RS1 RS0 工作寄存器组 片内RAM地址
00
第0组
00H~07H
01
第1组
指令执行后,A=D1H最高位无进位,故C=0;低半字节有进位,AC=1; OV=0 1=1,发生溢出;A中1的个数为偶数,故P=0。
CPU时序
一.振荡器
CPU执行指令的一系列动作是在时序电路的控制下一拍一拍进行的。 其节拍信号由振荡器产生,MCS--51系列单片机的内部有一个高增益的反 相放大器。外接晶体后可构成自激振荡器产生节拍信号,接法见图2-1, 也可使用片外振荡器,采用不同工艺制造的单片机芯片接法不同:
RST/VPO:双功能引脚,在单片机工作期间, 当此引脚上出现连接2个机器周期的高电平时可 实现复位操作,详见2.4节。
在Vcc掉电期间,若该引脚接备用电源 (+5v),可向片内RAM供电,以保存片内RAM中 的信息。
2.2 MCS—51系列单片机的微处理器与CPU时序
运算器由算逻运算单元ALU、累加器A、B寄存器、暂存器1、 暂存器2、及程序状态字PSW构成。程序状态字PSW是1个8位 的专用寄存器,用于存放程序运行中的各种状态信息,可 进行位寻址,
P
图2—3 程序状态字各位的含义
(1)进位标志C(PSW.7);很多算术逻辑运算指令执行 后都会影响进位标志C。例如加减运算,若运算结果有进 位或借位,则C=1,若无,则C=0。可用专门的指令或硬件 将C置位或清零,在进行位操作时,C又起着位累加器的作 用,类似于累加器A。
(4)工作寄存器组选择位RS1、RS0(PSW.4,
PSW.3): RS1、RS0与工作寄存器组的对应关系
如下:
RS1 RS0 工作寄存器组 片内RAM地址
00
第0组
00H~07H
01
第1组
指令执行后,A=D1H最高位无进位,故C=0;低半字节有进位,AC=1; OV=0 1=1,发生溢出;A中1的个数为偶数,故P=0。
CPU时序
一.振荡器
CPU执行指令的一系列动作是在时序电路的控制下一拍一拍进行的。 其节拍信号由振荡器产生,MCS--51系列单片机的内部有一个高增益的反 相放大器。外接晶体后可构成自激振荡器产生节拍信号,接法见图2-1, 也可使用片外振荡器,采用不同工艺制造的单片机芯片接法不同:
RST/VPO:双功能引脚,在单片机工作期间, 当此引脚上出现连接2个机器周期的高电平时可 实现复位操作,详见2.4节。
在Vcc掉电期间,若该引脚接备用电源 (+5v),可向片内RAM供电,以保存片内RAM中 的信息。
2.2 MCS—51系列单片机的微处理器与CPU时序
运算器由算逻运算单元ALU、累加器A、B寄存器、暂存器1、 暂存器2、及程序状态字PSW构成。程序状态字PSW是1个8位 的专用寄存器,用于存放程序运行中的各种状态信息,可 进行位寻址,
P
图2—3 程序状态字各位的含义
(1)进位标志C(PSW.7);很多算术逻辑运算指令执行 后都会影响进位标志C。例如加减运算,若运算结果有进 位或借位,则C=1,若无,则C=0。可用专门的指令或硬件 将C置位或清零,在进行位操作时,C又起着位累加器的作 用,类似于累加器A。
第2章 MCS-51单片机
(4)可寻址外部程序存储器和数据存储器,各64KB;
(5)两个16位定时器/计数器; (6)32位可编程并行I/O口; (7)一个可编程全双工串行I/O口; (8)二十多个特殊功能寄存器; (9)5个中断源,两个优先级嵌套中断结构。
2. 微处理器 8051微处理器的组成如下所示:
累 加 器 ACC( Accumulator) 程 序 状 态 字 寄 存 器 PSW( Program Status Word) 运算器 暂存寄存器 CPU 寄存器B 指 令 寄 存 器 IR 控制器 指 令 译 码 器 ID 程 序 计 数 器 PC
(2)位寻址区
内部RAM的0x20~0x2F为位寻址区,这16个字节的每
一位都对应一个8位地址,位地址范围为0x00~0x7F。该区 域可按字节读写,也可按位读写,位地址从0x20单元最低位 开始,共有16×8位,即128个位地址。 如果系统需要位操作,最好保留0x20~0x2F单元的部分
或全部,作为位存储区,以支持位处理操作。位寻址区的每
一位都可以直接进行位操作。通常把各种程序状态标志位控 制变量,设在位寻址区内,同时,位寻址区的RAM单元也 可以作一般的数据缓冲器使用。RAM寻址区位地址映象如 表2-5所示。
位 寻 址 区 地 址 映 象
(3)缓冲器区
内部RAM的0x30~0x7F的地址区,可作为数据缓冲器 使用,存放数据,由于该区有丰富的操作指令,使用十分 方便。 2.外部数据存储器 在51系列中,允许用户扩展外部数据存储器和I/O接口, 用户可以通过P0、P2口最多扩展连接64K个外部单元(每
片机系统。
MCS-51的典型产品是8051、8031、8751。8051是ROM型单片 机,内部有 4KB 掩膜 ROM ; 8031 无片内 ROM , 8751 片内有
第2章 MCS-51单片机的内部结构
P3.4 T0 P3.3 INT1 外部中断1请求 外部中断 请求 计数器0外部输入 计数器 外部输入
当3个准双向I/O口作输入口使用时,要向该口先写“1”, 个准双向I/O口作输入口使用时,要向该口先写“ I/O口作输入口使用时 P3.5 T1 计数器1外部输入 计数器 外部输入 P3.6 WR 外部数据存储器 另外准双向I/O口无高阻的“浮空”状态。 I/O口无高阻的 另外准双向I/O口无高阻的“浮空”状态。
2.4.2 内部数据存储器 共128个字节, 128个字节, 128个字节 字节地址为00H 7FH。 00H~ 字节地址为00H~7FH 00H~1FH:32个单 00H~1FH:32个单 元,是4组通用工作 寄存器区 20H~2FH:16个单 20H~2FH:16个单 可进行128 128位的 元,可进行128位的 位寻址 30H FH: 用户RAM 30H ~ 7FH : 用户 RAM 区 , 只能进行字节寻 址 , 用作数据缓冲区 以及堆栈区。 以及堆栈区。
I/O口引脚 2.2.3 I/O口引脚 P0口 双向8位三态I/O I/O口 地址总线( (1) P0口:双向8位三态I/O口,地址总线(低8位)及 数据总线分时复用口,可驱动8个LS型TTL负载。 数据总线分时复用口,可驱动8 LS型TTL负载。 负载 P1口 准双向I/O I/O口 可驱动4 LS型TTL负载 负载。 (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负载。 转义引 引脚 与地址总线 ( 高 8 位 ) 复 功能说明 准双向I/O I/O口 (3) P2口:8位 准双向I/O 口, 与地址总线( 脚 可驱动4 LS型TTL负载 负载。 用,可驱动4个LS型TTL负载。RXD 串行数据接收端 P3.0 准双向I/O I/O口 双功能复用口,可驱动4 (4) P3口:8位 准双向I/O 口, 双功能复用口 ,可驱动 4 P3.1 TXD 串行数据发送端 P3.2 INT0 外部中断0请求 外部中断 请求 LS型TTL负载 负载。 个LS型TTL负载。 注意:准双向口与双向三态口的差别。 注意:准双向口与双向三态口的差别。
当3个准双向I/O口作输入口使用时,要向该口先写“1”, 个准双向I/O口作输入口使用时,要向该口先写“ I/O口作输入口使用时 P3.5 T1 计数器1外部输入 计数器 外部输入 P3.6 WR 外部数据存储器 另外准双向I/O口无高阻的“浮空”状态。 I/O口无高阻的 另外准双向I/O口无高阻的“浮空”状态。
2.4.2 内部数据存储器 共128个字节, 128个字节, 128个字节 字节地址为00H 7FH。 00H~ 字节地址为00H~7FH 00H~1FH:32个单 00H~1FH:32个单 元,是4组通用工作 寄存器区 20H~2FH:16个单 20H~2FH:16个单 可进行128 128位的 元,可进行128位的 位寻址 30H FH: 用户RAM 30H ~ 7FH : 用户 RAM 区 , 只能进行字节寻 址 , 用作数据缓冲区 以及堆栈区。 以及堆栈区。
I/O口引脚 2.2.3 I/O口引脚 P0口 双向8位三态I/O I/O口 地址总线( (1) P0口:双向8位三态I/O口,地址总线(低8位)及 数据总线分时复用口,可驱动8个LS型TTL负载。 数据总线分时复用口,可驱动8 LS型TTL负载。 负载 P1口 准双向I/O I/O口 可驱动4 LS型TTL负载 负载。 (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负载。 转义引 引脚 与地址总线 ( 高 8 位 ) 复 功能说明 准双向I/O I/O口 (3) P2口:8位 准双向I/O 口, 与地址总线( 脚 可驱动4 LS型TTL负载 负载。 用,可驱动4个LS型TTL负载。RXD 串行数据接收端 P3.0 准双向I/O I/O口 双功能复用口,可驱动4 (4) P3口:8位 准双向I/O 口, 双功能复用口 ,可驱动 4 P3.1 TXD 串行数据发送端 P3.2 INT0 外部中断0请求 外部中断 请求 LS型TTL负载 负载。 个LS型TTL负载。 注意:准双向口与双向三态口的差别。 注意:准双向口与双向三态口的差别。
第2章 MCS-51单片机的硬件结构
CPU访问片外存储器时,模拟开关打向右边。P2 口上送出PC高8位地址或DPTR高8位地址信息。再不作 I/O口使用。
(2)通用I/O接口功能
P2口作准双向口使用,与P1口相同,也有输入、 输出、端口操作三种工作方式。
3.P2口负载能力
4个LSTTL负载,输出电流≥ 400uA
三、P3口
1. P3口1位结构原理图如图所示
P 奇偶标志
A中1的个数若为奇数P=1,否则P=0
例如:MOV A, #7FH ADD A, #4FH 0111,1111B + 0100,1111B 1100,0110B
结果:(A)=C6H, C=0,AC=1,OV=1,P=0
2.控制器 3.片内存储器
4.4个I/O接口
5.串行接口
6.定时/计数器
先片内、后片外,片内片外连续,二者 一般不作重叠。 EA=0,只访问片外程序存储器 EA=1,先访问片内程序存储器。当PC >0FFFH(51子系统)或PC>1FFFH(52子系统) ,再去访问片外程序存储器。
存储器编址图如下图所示
0000H
片内ROM /EA=1 0FFFH 0FFFH 1000H 片外ROM 0000H 片外ROM /EA=0 00H 7FH 80H FFH 片外RAM 片内RAM 0000H
有5个中断源
11.111条指令,含乘、除法,有很强
的位处理能力 12.片内采用单总线结构,单一+5V
电源
52系列主要有8032、8052两种机型。 与51系列不同在于:片内数据存储器增 至256个字节,3个16位定时/计数器,6 个中断源。
二、内部结构
MCS-51系列单片机的内部结构如 下图所示:
1 2 . . .
(2)通用I/O接口功能
P2口作准双向口使用,与P1口相同,也有输入、 输出、端口操作三种工作方式。
3.P2口负载能力
4个LSTTL负载,输出电流≥ 400uA
三、P3口
1. P3口1位结构原理图如图所示
P 奇偶标志
A中1的个数若为奇数P=1,否则P=0
例如:MOV A, #7FH ADD A, #4FH 0111,1111B + 0100,1111B 1100,0110B
结果:(A)=C6H, C=0,AC=1,OV=1,P=0
2.控制器 3.片内存储器
4.4个I/O接口
5.串行接口
6.定时/计数器
先片内、后片外,片内片外连续,二者 一般不作重叠。 EA=0,只访问片外程序存储器 EA=1,先访问片内程序存储器。当PC >0FFFH(51子系统)或PC>1FFFH(52子系统) ,再去访问片外程序存储器。
存储器编址图如下图所示
0000H
片内ROM /EA=1 0FFFH 0FFFH 1000H 片外ROM 0000H 片外ROM /EA=0 00H 7FH 80H FFH 片外RAM 片内RAM 0000H
有5个中断源
11.111条指令,含乘、除法,有很强
的位处理能力 12.片内采用单总线结构,单一+5V
电源
52系列主要有8032、8052两种机型。 与51系列不同在于:片内数据存储器增 至256个字节,3个16位定时/计数器,6 个中断源。
二、内部结构
MCS-51系列单片机的内部结构如 下图所示:
1 2 . . .
第2章 MCS-51单片机基本结构
第2章 MCS-51单片机基本结构
第2章 MCS-51单片机基本结构
2.1 MCS-51单片机内部结构 2.2 MCS-51单片机引脚功能 2.3 MCS-51单片机时序 2.4 单片机复位与复位电路 2.5 单片机最小应用系统 2.6 单片机低功耗运行
第2章 MCS-51单片机基本结构
2.1 MCS-51单片机内部结构
第2章 MCS-51单片机基本结构
2.1.2存储器
第2章 MCS-51单片机基本结构
2.1.2存储器
存储器小结:
第2章 MCS-51单片机基本结构
(1)地址的重叠性。数据存储器与程序存储器全 部64K地址重叠;程序存储器中的片内和片外低 4K地址重叠;数据存储器片内和片外最低的128 个字节地址重叠。虽然有这些重叠,但是由于采 取了不同的操作指令和外部引脚电平的控制,是 不会产生操作混乱的。 (2)程序存储器和数据存储器在使用上是严格区 分的,不同的操作指令不能混用。 (3)片外数据存储器中,数据区与用户外部扩展 的I/O口统一编址。因此,应用系统中所有外围接 口的地址均占用RAM地址单元。与外围接口进行 数据传送时,使用与访问外部数据存储器相同的 传送指令。
①CY(Carry Flag)
进位标志位。在执行运算过程中,如果结果的最高位 在加法运算时有进位或减法运算时有借位,Cy=1;否则, Cy=0。在进行位操作时,CY作为位累加器,作用相当于 CPU中的累加器A。
②AC(Auxiliary Carry Flag)
辅助进位标志位。进行加法或减法运算中,若低4位向 高4位有进位或借位,AC将被硬件置1,否则清0。AC位 常用于进行十进制调整指令和压缩BCD码运算。
第2章 MCS-51单片机基本结构
第2章 MCS-51单片机基本结构
2.1 MCS-51单片机内部结构 2.2 MCS-51单片机引脚功能 2.3 MCS-51单片机时序 2.4 单片机复位与复位电路 2.5 单片机最小应用系统 2.6 单片机低功耗运行
第2章 MCS-51单片机基本结构
2.1 MCS-51单片机内部结构
第2章 MCS-51单片机基本结构
2.1.2存储器
第2章 MCS-51单片机基本结构
2.1.2存储器
存储器小结:
第2章 MCS-51单片机基本结构
(1)地址的重叠性。数据存储器与程序存储器全 部64K地址重叠;程序存储器中的片内和片外低 4K地址重叠;数据存储器片内和片外最低的128 个字节地址重叠。虽然有这些重叠,但是由于采 取了不同的操作指令和外部引脚电平的控制,是 不会产生操作混乱的。 (2)程序存储器和数据存储器在使用上是严格区 分的,不同的操作指令不能混用。 (3)片外数据存储器中,数据区与用户外部扩展 的I/O口统一编址。因此,应用系统中所有外围接 口的地址均占用RAM地址单元。与外围接口进行 数据传送时,使用与访问外部数据存储器相同的 传送指令。
①CY(Carry Flag)
进位标志位。在执行运算过程中,如果结果的最高位 在加法运算时有进位或减法运算时有借位,Cy=1;否则, Cy=0。在进行位操作时,CY作为位累加器,作用相当于 CPU中的累加器A。
②AC(Auxiliary Carry Flag)
辅助进位标志位。进行加法或减法运算中,若低4位向 高4位有进位或借位,AC将被硬件置1,否则清0。AC位 常用于进行十进制调整指令和压缩BCD码运算。
第2章 MCS-51单片机基本结构
第二章 MCS-51系列单片机结构与工作
• (1)地址总线(AB):地址总线为16位,可寻址范围为 216=64KB。16位地址总线由并口P0经地址锁存器提供低8位地址 (A0至A7);并口P2直接提供高8位地址(A8至A15)。由于P0口 还要作数据总线,只能分时用作低8位地址线,所以P0输出的低8位 地址必须用锁存器锁存。锁存器的锁存控制信号为ALE输出信号。P2 口具有输出锁存功能,所以不需外加锁存器。 • (2)数据总线(DB):数据总线为8位,由并口P0提供,用于单片 机与外部存储器和I/O设备之间传送数据。P0口为三态双向口,可以 进行双方向的数据传送。 • (3)控制总线(CB):由并口P3的第二功能状态和4根独立控制线 RESET、EA、ALE、PSEN组成。
2.3.1运算器 2.3.1运算器
• 4.程序状态字寄存器PSW • 程序状态字寄存器PSW是8位寄存器,用来存储当前指令执行后的状 态,便于程序查询和判别。程序状态字寄存器各位的定义如表2-2。
• (1)进位标志位C:又名CY,在加法和减法运算时, 表示运算结果 最高位的进位或借位情况。
2.3.1运算器 2.3.1运算器
2.2.1 MCS-51系列单片机的引脚与功能 MCS-51系列单片机的引脚与功能
• (8)XTAL2(18脚):片内振荡电路反向放大器的输出端,采用外 部时钟时该引脚为振荡信号的输入端。 • (9)P0口:P0.0~P0.7依次为第39~32脚,P0口除了可以作普通 的双向I/O口使用外,也可以在访问外部存储器时用作低8位地址线和 数据总线。 • (10)P1口:P1.0~P1.7依次为第1~8脚,P1口是带内部上拉电 阻的双向I/O口,向P1口写入“1” 时,P1口被内部上拉为高电平, 可用作输入口。当作为输出脚时,被外部拉低的P1口会因为内部上拉 电阻的存在而输出电流。
2.3.1运算器 2.3.1运算器
• 4.程序状态字寄存器PSW • 程序状态字寄存器PSW是8位寄存器,用来存储当前指令执行后的状 态,便于程序查询和判别。程序状态字寄存器各位的定义如表2-2。
• (1)进位标志位C:又名CY,在加法和减法运算时, 表示运算结果 最高位的进位或借位情况。
2.3.1运算器 2.3.1运算器
2.2.1 MCS-51系列单片机的引脚与功能 MCS-51系列单片机的引脚与功能
• (8)XTAL2(18脚):片内振荡电路反向放大器的输出端,采用外 部时钟时该引脚为振荡信号的输入端。 • (9)P0口:P0.0~P0.7依次为第39~32脚,P0口除了可以作普通 的双向I/O口使用外,也可以在访问外部存储器时用作低8位地址线和 数据总线。 • (10)P1口:P1.0~P1.7依次为第1~8脚,P1口是带内部上拉电 阻的双向I/O口,向P1口写入“1” 时,P1口被内部上拉为高电平, 可用作输入口。当作为输出脚时,被外部拉低的P1口会因为内部上拉 电阻的存在而输出电流。
第二章.MCS-51单片机结构和原理
* 由于T1的作用,不需外接上拉电阻。
②输入数据
类似于读引线
控制:C=0,MUX下通,与门4输出为0。T1截止,预臵Q=1, T2截止。 P0.X→三态门2→内总线
二、P1口
通用8位准双向端口。 ⑴ 输出:Q→FET(反相)→P1.X
* 有内部上拉电阻,不必外接。
⑵ 输入: 读引线:预臵Q=1,FET截止,P1.X→下三态门→内部总线 读锁存器:Q→上三态门→内部总线
3
ATmega8 RISC,SPEED,power,a/d,spi,i2c,uart,pwm,内时钟 C8051F310 debug,speed,power,ram,外设 PIC16F87X 指令,存储器,外设,a/d
MC68HC908JB16 i/o,usb,mul&div
ADuC812 12bit a/d 凌阳SPCE061A
㈢.P2.0-P2.7:P2端口
⑴.无外存:通用准8位双向I/O口(有内部上拉电阻)
⑵.有外存:地址总线高8位
*EPROM编程时,接收地址高8位
㈣.P3.0-3.7:P3端口
⑴.通用8位准双向I/O口(有内部上拉电阻)
⑵.专用功能:
串行口: P3.0-RXD,接收 P3.1-TXD, 发送 中断申请:P3.2- INT0 P3.3-INT1 CTC: P3.4-T0 , CTC0时钟输入 P3.5-T1 , CTC1时钟输入 读写控制: P3.6- WR, 外部RAM写 P3.7- RD, 外部RAM读.
三. I/O接口电路:
并行口:4个8位端口 P0-P3,32根I/O线 串行口:1个
四.CTC:
16位CTC 2个/3个(52)
五.中断功能:
第2章 MCS-51系列单片机的结构及原理
2.3 引脚功能——封装形式
40P6-PDIP
单 片 机 技 术
2.3 引脚功能——引脚含义
P1. 0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RXD/ P3. 0 TXD/ P3.1 INT0/ P3.2 INT1/ P3.3 T0/ P3.4 T1/ P3.5 WR/ P3.6 RD/ P3.7 XTAL2 XTAL1 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 24 22 21 VCC P0. 0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0
2mcs51系列单片机的内部总体结构88微处理器运算部件b数据存储器ramp0口p2口程序存储器特殊功特殊功能寄存器sfrromepromvccvss图21mcs51单片机的基本结构控制部件p1口p3口串行口定时计数器中断系统88xtal1xtal2psenaleeareset端口0驱动器端口2驱动器ram地址锁存器ram1288端口0锁存器端口2锁存器rom4k8b寄存器程序地址寄存器缓冲器寄存器vcc5vvss堆栈指针spacctmp2tmp1p00p07p20p27图22mcs51片内总体结构框图rstpc1寄存器pcdptr指针p10p17psw端口3锁存器端口1锁存器端口1驱动器端口3驱动器scontl0tmodth1iepconth0sbuftxrx中断串行口和定时器逻辑tcontl1iposcp30p37alepsenxtal2xtal1alu指令寄存器定时与控制指令译码器返回本节2
第二章 MCS-51系列单片机的结构和原理
小结:
堆栈是一个“后进先出”的 内部RAM区,在数据进出堆 栈时,SP的值将自动增减, 但始终指向最后进入或即将 弹出数据的单元(即栈顶)
SP当前值
栈 顶
35H 34H 33H 32H 数据进入堆栈称“进栈(压栈)” 31H 数据从堆栈取出称“出栈(弹栈)” 30H
压栈:先SP增1,然后装入数据 出栈:先取出数据,然后SP减1。
三、专用功能寄存器 (特殊功能寄存器)SFR
MCS-51单片机内各种控制 寄存器和状态寄存器都是以 专用功能寄存器(或称特殊 功能寄存器)的形式出现的, 它们的地址分布在80H~FFH 区间。 每个寄存器都有相应的地址, 可以象访问内部RAM一样访 问。 MCS-51共有21个寄存器,只 占80H~FFH中的一部分,PC 除外。
总结§2.2 存储器
一、程序存储器 二、片内数据存储器(分三个区) 三、专用寄存器(特殊功能寄存器) 四、位存储器 五、外部数据存储器
片 内
§2.3 并行输入/输出端口结构
PSW各位定义如下
⑸. OV (PSW.2)溢出标志
当执行算术指令时,由硬件置位或清零,以指示溢出状态。 ①当执行加法或减法指令时有: OV = Cs ㈩ Cp 加法:用Cs和Cp表示有进位 减法:用Cs和Cp表示有借位
②无符号数乘法或除法指令 :执行结果也会影响OV标志,详 见MUL和DIV指令的说明。
ห้องสมุดไป่ตู้
介绍几个常用SFR
1、累加器 ACC
累加器是一个最常用的专用寄存器。大多数单操作数指令的 操作数取自累加器,很多双操作数指令的一个操作数也 取自累加器
2、B寄存器
在乘除指令中用到了B寄存器,在其它指令中,B寄存器可 以用作计数器或一般RAM单元。
第2章 MCS-51单片机系统结构
寄存器 PC ACC B PSW SP DPTR P0~P3 IP IE 内容 0000H 00H 00H 00H 07H 0000H 0FFH XXX00000B 0XX00000B 寄存器 TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON 内容 00H 00H 00H 00H 00H 00H 00H 不定 0XXXXXXXB
对外部时钟的占空比要求不高,但要有一定的幅度.
2.3.2
时钟电路
C1
XTAL1
NC
XTAL1
MCS-51单片机
MCS-51单片机 外部振荡信号
XTAL2
C2
XTAL2
内部振荡方式Biblioteka 外部振荡方式2.3.3
复位电路
所有单片机在启动运行时都需要复位,以使CPU和系统中的其 它部件处于一个确定的初始状态,并从这个状态开始工作。
2.4.1
程序存储器
ISP技术(下载):在单片机上固化一些用户看不到的程序,单片 机上电后自动运行这些程序,并检查单片机的工作模式。当单片机处 于下载模式时,这些程序就控制单片机经由串口从PC机接收用户应用 程序,并将之写入程序存储器,这个过程称为下载;若单片机处于正 常工作模式,就按普通方式从程序存储器中取出指令来运行。
2.3.3
复位电路
典型的复位电路:
(1)上电自动复位电路 (2)人工复位电路
(3)看门狗复位电路
2.3.3
复位电路
+5V Vcc
+5V Vcc
C
MCS-51单片机 RST
R2 MCS-51单片机 RST
R1
GND
GND
RC上电自动复位电路
人工复位电路
对外部时钟的占空比要求不高,但要有一定的幅度.
2.3.2
时钟电路
C1
XTAL1
NC
XTAL1
MCS-51单片机
MCS-51单片机 外部振荡信号
XTAL2
C2
XTAL2
内部振荡方式Biblioteka 外部振荡方式2.3.3
复位电路
所有单片机在启动运行时都需要复位,以使CPU和系统中的其 它部件处于一个确定的初始状态,并从这个状态开始工作。
2.4.1
程序存储器
ISP技术(下载):在单片机上固化一些用户看不到的程序,单片 机上电后自动运行这些程序,并检查单片机的工作模式。当单片机处 于下载模式时,这些程序就控制单片机经由串口从PC机接收用户应用 程序,并将之写入程序存储器,这个过程称为下载;若单片机处于正 常工作模式,就按普通方式从程序存储器中取出指令来运行。
2.3.3
复位电路
典型的复位电路:
(1)上电自动复位电路 (2)人工复位电路
(3)看门狗复位电路
2.3.3
复位电路
+5V Vcc
+5V Vcc
C
MCS-51单片机 RST
R2 MCS-51单片机 RST
R1
GND
GND
RC上电自动复位电路
人工复位电路
第2章 MCS-51单片机
• 外部数据存储器
在单片机内部数据存储器容量不够的情况下,可 扩展外部数据存储器。 ① 用于存放随机读写的数据。 ② MCS-51外部数据存储器和外部I/O口统一编址。
③ MCS-51最大扩展空间为64KB,地址范围为 0000H~FFFFH。
2.3.5 特殊功能寄存器 MCS-51单片机共有21个字节的特殊功能寄 存器SFR (Special Fuction Register)。 1.用途:
1. 运算器
算术运算:加、减、乘、除、加1、减1、比较 BCD码十进制调整等 逻辑运算:与、或、异或、求反、循环等逻辑操 作 位操作:内部有布尔处理器,它以进位标志位C 为位累加器,用来处理位操作。可对位置 “1” 、对位清零 、位判断等。 操作结果的状态信息送至状态寄存PSW。
2.程序计数器PC 程序计数器PC是16位的寄存器,用来存放即将 要执行的指令地址,可对64KB程序存储器直接寻 址。执行指令时,PC内容的低8位经P0口输出,高 8位经P2口输出。
例:单片机外接晶振频率12MHZ时的各种时序 单位: 振荡周期=1/fosc=1/12MHZ=0.0833us
状态周期=2/fosc=2/12MHZ=0.167us
机器周期=12/fosc=12/12MHZ=1us 指令周期=(1~4)机器周期=1~4us
2.5
复位状态与复位电路
2.5.1 复位状态
各个引脚的功能:
2.2.1 电源引脚 GND:接地端。 Vcc:电源端,接+5V。 2.2.2 时钟信号引脚 XTAL1,XTAL2: 接外部晶体或外部时钟。
2.2.3 控制信号引脚 RST/VPD: ①复位信号输入。 ②接备用电源,VCC掉电后,在低功耗条件下保持内部RAM中 的数据。 PSEN:程序存储器允许。输出读外部程序存储器的选通信号。 ALE/PROG: ①ALE 地址锁存允许。 ALE输出脉冲的频率为振荡频率的 1/6。 ②PROG 对8751单片机片内 EPROM 编程时,引入编程脉冲。 EA/VPP: ① EA =0,单片机只访问外部程序存储器。 EA =1,单片机访问内部程序存储器。 ②在8751片内EPROM编程期间,引入21V编程电源VPP。
2 MCS-51系列单片机的结构和原理
0023H~002AH
地址去执行程序
串行中断地址区
中断响应后,系统能按中断种类,自动转到各中断区的首
但8个单元难以存下一个完整的中断服务程序, 故一般在中断地址区首地址开始存放一条无条件转移指令
JMP、 AJMP以便中断响应后,通过中断地址区,转到
中断服务程序的实际入口地址去
2.3.4 堆栈操作 堆栈只允许在其一端进行数据插入和数据删除操作的线性表 数据写入堆栈称为插入运算(入栈),PUSH 从堆栈中读出数据称为删除运算(出栈),POP
地址:80H~FFH 存放相应功能部件 的控制命令、状态 或数据 21个专用寄存器
(SFR)
(1)累加器A (Accumulator) 累加器A是8位寄存器,又记做ACC,是一个最常用的专用 寄存器。在算术/逻辑运算中用于存放操作数或结果。
(2)寄存器B 寄存器B 是8位寄存器,是专门为乘除法指令设计的,也 作通用寄存器用。
I/O口P0、P1、P2、P3集数据输入缓冲、数据输出驱动及锁
存等多项功能于一体
• 字节地址为90H,位地址为90H~97H,只作通用I/O口使用. • 由一个数据输出锁存器、两个三态输入缓冲器和输出驱动电 路组成。 内有电阻, 输出时无需 外接上拉电 阻 P1口作输出口 使用时: 内部总线 输出数据给输 出数据锁存器 的输入数据线 D.
1. 芯片封装形式
双列直插式DIP(Dual In line Package) 44引脚方形扁平式QFP(Quad Flat Package)
2. 芯片引脚介绍
1)输入/输出口线 4个8位双向口线
2)ALE 地址锁存控制信号 • 在系统扩展时,用于控制把P0口输出的低8位地址
送入锁存器锁存起来,以实现低位地址和数据的分
第2章 MCS-51单片机的结构和原理
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
DSP芯片的诞生及发展对近20年来通信、计算机、控制
等领域的技术发展起到十分重要的作用。
典型的DSP算法
Algorithm Finite Impulse Response Filter Equation
y(n)
a
k 0
M
M
k
x( n k )
Infinite Impulse Response Filter
8051片内有ROM(程序存储器,只能读)和RAM(数据存储器, 可读可写)两类,它们有各自独立的存储地址空间,与一般微机
的存储器配臵方式不同。
8051有四个8位并行接口,即P0-P3.它们都是双向端口,每 个端口各有8条I/O线,均可输入/输出。P0-P3口四个锁存器同 RAM统一编址,可以把I/O口当作一般特殊功能寄存器来寻址
冯· 诺曼(Van Neuman)结构
控制命令 程序存储器 地址线
CPU
数据存储器
数据线
哈佛结构 控制命令 地址线 程序总线 程序存储器
CPU
控制命令 地址线 数据总线
数据存储器
8051/8751/8031芯片的外部引脚和指令系统完全兼容,其 内部结构除ROM/EPROM不同外,其余完全相同。
第2章 MCS-51 单片机组成原理
P0口的输出级的每一位可驱动8个LSTTL门。P0口作通用I/O口时,由于输出级是开漏电路,故用它驱动NMOS电路时需外加上拉电阻;而作地址/数据总线时,无需外接上拉电阻。
P1口~P3口的输出级的每一位可驱动4个LSTTL门。由于它们的输出级内部有上拉电阻,因此组成系统时无需外加上拉电阻。
2、作分时复用的地址/数据总线
2.5.2 P1口
P1口是一个专用的8位准双向I/O口,只具有通用输入/输出口功能,每一位都能设定为输入或输出,它的位结构如图2-7(b)所示。
2.5.3 P2口
P2口是一个8位准双向I/O口,具有两种功能。一是作通用I/O口用,与P1口相同。二是作扩展系统的高8位地址总线。输出高8位地址,与P0口一起组成16位地址总线。它的位结构如图2-7(c)所示。
2、程序计数器PC
程序计数器PC的功能与普通微机相同,它用来存放CPU执行的下一条指令的地址。当一条指令按照PC所指的地址从程序存储器中取出后,PC会自动加1,指向下一条指令。程序计数器PC是一个16位的寄存器,可寻址64KB的程序存储器空间。
3、堆栈指针SP
4、数据指针寄存器DPTR
2、特殊功能寄存器SFR(又称专用寄存器)
这21个特殊功能寄存器详情见表2-2。
这21个特殊功能寄存器中,有11个寄存器具有位寻址功能,即寄存器中的每位都具有位地址,可以按位寻址。11个寄存器的位地址如图2-3所示。
2.3 MCS-51单片机存储器
2.3.1 程序存储器
2.2.3 工作寄存器和特殊功能寄存器
1、工作寄存器
MCS-51有32个工作寄存器,分为四个区(或组)每个区为8个寄存器R0、R1、R2、R3、R4、R5、R6、R7,每一时刻只有一个区工作。由PSW寄存器中的RS1、RS0的值来决定当前的工作区:
P1口~P3口的输出级的每一位可驱动4个LSTTL门。由于它们的输出级内部有上拉电阻,因此组成系统时无需外加上拉电阻。
2、作分时复用的地址/数据总线
2.5.2 P1口
P1口是一个专用的8位准双向I/O口,只具有通用输入/输出口功能,每一位都能设定为输入或输出,它的位结构如图2-7(b)所示。
2.5.3 P2口
P2口是一个8位准双向I/O口,具有两种功能。一是作通用I/O口用,与P1口相同。二是作扩展系统的高8位地址总线。输出高8位地址,与P0口一起组成16位地址总线。它的位结构如图2-7(c)所示。
2、程序计数器PC
程序计数器PC的功能与普通微机相同,它用来存放CPU执行的下一条指令的地址。当一条指令按照PC所指的地址从程序存储器中取出后,PC会自动加1,指向下一条指令。程序计数器PC是一个16位的寄存器,可寻址64KB的程序存储器空间。
3、堆栈指针SP
4、数据指针寄存器DPTR
2、特殊功能寄存器SFR(又称专用寄存器)
这21个特殊功能寄存器详情见表2-2。
这21个特殊功能寄存器中,有11个寄存器具有位寻址功能,即寄存器中的每位都具有位地址,可以按位寻址。11个寄存器的位地址如图2-3所示。
2.3 MCS-51单片机存储器
2.3.1 程序存储器
2.2.3 工作寄存器和特殊功能寄存器
1、工作寄存器
MCS-51有32个工作寄存器,分为四个区(或组)每个区为8个寄存器R0、R1、R2、R3、R4、R5、R6、R7,每一时刻只有一个区工作。由PSW寄存器中的RS1、RS0的值来决定当前的工作区:
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运算器:运算器以完成二进制的算术逻辑运算单元 ALU(Arithmetic logic Unit)为核心,再加上暂存器 TMP、累加器ACC、寄存器B、程序状态标志寄存 器PSW。 控制器:控制器是CPU的神经中枢,它包括定时控
制逻辑电路、指令寄存器、译码器、地址指针
DPTR及程序计数器PC、堆栈指针SP等。
内部RAM
2. CPU的专用寄存器组
入栈时,SP值先加1,数据再压入SP指向的单元。 出栈操作时先将SP指向的单元的数据弹出,然 后,SP再减1,这时SP指向的单元是新的栈顶。
例:指令PUSH 63H
A SP 89H A 入栈过程 89H 63H PUSH ACC 80H 62H 70H 61H 60H
定 时 及 控 制
指 令 译 码 器
指 令 寄 存 器
ALU PSW
PC加1
PC DPTR
P1锁存器 内部 时钟 外接晶振 P1驱动器
P3锁存器
P3驱动器 P3.0~P3.7
P1.0~P1.7
2.2.3 中央处理器CPU(P14)
1. CPU 的结构 MCS-51内部有一个8位CPU,8位是CPU 的字长,指CPU对数据的处理是按一个字 节进行的。CPU包括: 运算器 控制器
例:ADD A , #0EH RL A MOV A, 52H
2.CPU的专用寄存器组 (3)寄存器B
寄存器B也是一个8位寄存器,在乘法和除法运算中 用作ALU的输入之一。
–
乘法运算时,ALU的两个输入分别为A、B,运 算结果存放在A、B寄存器中,其中A存放积的 低8位,B则存放积的高8位。(MUL AB) 除法运算时,被除数取自A,除数取自B;运算 结果商存于A,而余数存于B。( DIV AB) 其它情况下,B可作为一个工作寄存器使用。
TL0
RXD SBUF
TH1 IE
PSW
中断、串行口和定时器
定 时 控 制
指 令 译 码 器
指 令 寄 存 器
P1锁 存 器 P3锁 存 器
DPTR
OSC
XT AL1
XT AL2
由定时和控制部件构成的控制器,包括定时控 P3驱 动 器 P1驱 动 器 制逻辑、指令寄存器、指令译码器、数据指针 DPTR、程序计数器PC、堆栈指针SP、RAM地 址寄存器以及16位地址缓冲器等。 P1.0~P1.7 P3.0~P3.7
(p17)
普林斯顿(Princeton)结构:将程序和数据合用一 个存储器空间的结构。
哈佛(Harvard)结构:为绝大多数单片机所采用。
程序存储器ROM和数据存储器RAM截然分开。
在MCS-51系列单片机中,不仅在片内预留了一定
容量的ROM 和 RAM,以及众多的特殊功能寄存器 (SFR),而且还具有很强的外部存储器扩展能力, 程序存储器和数据存储器的寻址能力均可达64KB。
2. CPU的专用寄存器组 (6) 数据指针寄存器DPTR
数据指针DPTR是一个 16 位的专用寄存器, 其高位字节寄存器用DPH表示、低位字节寄
存器用DPL表示。既可作为一个 16 位寄存
器DPTR来处理,也可作为两个独立的 8 位 寄存器DPH和DPL来处理。
DPTR 主要用来存放 16 位地址,可通过它访
PC工作过程示例 程序 ORG 0000H INC A ;(A)+1
ROM
A
ROM 0FH 00101110 0EH 01011000
A 01101010 PC 00000000
0FH 00101110 0EH 01011000
01H 01000000 00H 00000100 执行前
A 01101011 PC 00000001
2. CPU的专用寄存器组
1、构成(6个)
与运 算器 相关 的寄 存器 指 针 类 寄 存 器 累加器A 寄存器B
E0H
FFH
F0H 寄存器B 累加器A psw DPH DPL 堆栈指针SP
程序状态标志寄存器PSW
D0H
堆栈指针SP 数据指针DPTR 程序计数器PC
83H 82H 81H 00H
DPTR
总线控制
中断系统 5中断源、2优先级
串行口 全双工 1个
并行口 4个
RST EA ALE PSEN
图2-2 80C51的基本结构
P0
P1 P2
P3
2.1.1 MCS-51单片机的内部结构
8051单片机组成部分: (1) 面向控制的8位中央处理器(CPU)
(2) 64KB程序存储器空间 (3) 64KB数据存储器空间 (5) 4KB片内程序存储器(ROM) (6) 128B内部数据存储器(RAM) (7) 一组特殊功能寄存器(SFR) (8) 32根双向并行I/O端口线(P0~P3) (9) 一个串行口(P3.0、P3.1) (10) 2个16位定时器/计数器 (11) 5个中断源
问 64 KB外部数据存储器(MOVX)或外部程序
存储器(MOVC)空间。 例 (DPTR)=0445H MOVX A, @DPTR ; 例: MOV DPTR, #2345H MOV A, #10H MOVC A, @A+DPTR ;(DPTR)=2345H ;(A)=10H ; (A)=(2355) ( (DPTR) ) A
RAM地 址 寄存器
1. CPU 的结构
128B RAM P0锁 存 器
运算器(ALU、专 4kB P2锁 存 器 ROM 用寄存器)
程序地址寄 存器
B寄 存 器
TMP1
TMP2
ACC
SP
PCON SCON TMOD
ALU ALE
TCON TL1 IP
缓冲器 PC增 1 PC
TH0
TXD SBUF
本章主要内容
2.1 MCS-51系列单片机的基本结构 2.2 MCS-51存储器组织 2.3 MCS-51的并行口结构与操作 2.4 MCS-51的引脚封装 2.5 MCS-51的时序和工作方式
第二章 MCS-51单片机的结构和原理
MCS-51系列单片机的基本结构、CPU 的组成。 MCS-51系列单片机的存储器结构、功 能区划分和各自寻址特点。 MCS-51系列单片机4个8位并行I/O端口 的各自功能和应用特点。 MCS-51系列单片机器件的外部引脚功 能、封装形式及单片机的工作方式。
2. 3 MCS-51单片机的存储器组织
一、 MCS-51存储器可以分成两大类 数据存储器,CPU在运行时能随时进行数据的写 入和读出,但在关闭电源时,其所存储的信息将丢 失。它用来存放暂时性的输入输出数据、运算的中 间结果或用作堆栈。(RAM-Random-Access Memory ,随机存取存储器 ) 程序存储器,写入信息后不易改写的存储器。断 电后,其中的信息保留不变。用来存放固定的程序 或数据,如系统监控程序、常数表格等。(ROMRead Only Memory,只读存储器)
POP 63H
89H
先进 后出
SP
SP SP
89H
80H 70H 50H 栈底
50H
栈底
出栈过程 POP ACC
2. CPU的专用寄存器组
入栈(压栈):将断点处的PC 值或现场数据存入堆栈 出栈(弹栈):将堆栈中的数据弹出使现场恢复 凡是关系到堆栈操作的场合,都需要借助MCS-51的CPU中 一个专用8位寄存器SP来间接指示堆栈中数据存取的位置, 该寄存器被称为堆栈指针SP。 MCS-51的堆栈是向上(即向地址增加的方向)生成的,堆 栈指针SP的初始值称为栈底。 存取数据的一端称为栈顶,在 堆栈操作过程中,SP始终指向堆栈的栈顶。 单片机复位后SP的值为07H,因此入栈数据将从08H存起。 08H~1FH为工作寄存器区1~3,故通常把栈底设计在片内 RAM中地址值较高的地方,如60H等。
64K
1 2 3 4 5 6 7 RAM 8 6264 9 10 11 12 13 14
内部RAM
2.CPU的专用寄存器组
(1)程序计数器PC(Program Counter)
PC 是 一 个 16 位 寄 存 器 , 其 寻 址 范 围 是 64KB ( 即 216Byte)。 专用寄存器组中只有PC在物理上是独立的,其余5个 寄存器都有相应的直接地址编码(称字节地址)。 PC是一个独立的计数器,用于存放下一条待执行指令 的地址。 PC的基本工作过程可以描述为:PC中的数作为指令 地址输出给程序存储器,程序存储器按此地址输出指 令字节,同时PC本身自动加1,指向下一条指令。
概述
MCS-51系列单片机都是以8051为核心电路 发展起来的,功能上分为51子系列(基本型) 和52子系列(增强型)两类。 基本型: 8051/8751/8031 80C51/87C51/80C31 增强型: 8052/8752/8032 80C52/87C52/80C32
概述
基本型与增强型的几点不同
2.CPU的专用寄存器组
RS1、 RS0与片内工作寄存器组的对应关系
RS1
0 0 1 0
RS0
0 1 0 1
寄存器组
0组 1组 2组 3组
片内PAM地 址
00H~07H 08H~0FH 10H~17H 18H~1FH
通用寄存器名 称
R0~R7 R0~R7 R0~R7 R0~R7
工作寄存器:存放数据的寄存器,所存放的数 据可以进行数据传输、运算、逻辑运算、控制 转移等操作。 例1:MOV R2,#25H SUBB A, R2 例2:DJNZ R0, #55H
片内ROM:从4K增加到8K 片内RAM:从128增加到256 定时/计数器:从2个增加到3个 中断源:从5个增加到6个
2.1 MCS-51系列单片机的结构