第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章 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 系统中, 有单周期指令、双周期指
第二讲 第2章 MCS-51单片微型计算机结构
S1
S2
S3
读下一个操作 码(丢弃) P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P S1 S2 S3 S4 S5 S6 S1 (a) 单字节,单周期指令 例:MOV A R1
读操作码 读操作码 读第二字节
2
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P S1 S2 S3 S4 S5 S6 S1 (b) 双字节,单周期指令 例:ADD A dir 读操作码
MCS-51单片机的结构原理
一、计算机的经典组成 计算机的经典结构见 图1.1 所示。这种结 构是由计算机的开 拓者——数学家约 翰· 诺依曼最先提 冯· 出的,所以就称之 为冯· 诺依曼计算机 体系结构,也叫普 林斯顿结构。
图 1.1 计算机经典结构
二、 MCS-51单片机的基本组成
(一) 8051单片机的结构
﹡IP B8H ﹡IE A8H TMOD ﹡TCON TL0 TH0 TL1 TH1 PCON ﹡SCON 寄存器 SBUF
IP.7~IP.0 BFH~B8H 中断优先控制器 IE.7~IE.0 AFH~A8H 中断允许控制器 89H 定时器方式选择 88H TCON.7~TCON.0 8FH~88H 定时控制寄存器 8AH 定时器T0低8位 8CH 定时器T0高8位 8BH 定时器T1低8位 8DH 定时器T1高8位 87H 电源控制及波特率选择 98H SCON.7~SCON.0 9FH~98H 串行口控制 99H 串行口数据缓冲器
F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H
特 殊 功 能 寄 存 器 中 位 寻 址
FFFFH 外部 RAM
第二章--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章 MCS-51单片机结构与时序_110905
2.3.1 运算部件及专用寄存器组 2.3.2 控制部件及振荡器 2.3.3 单片机工作的基本时序
2.3.1 运算部件及专用寄存器组
运算部件以算术逻辑单元ALU为核心,包括一个位处理器和 两个8位暂存寄存器(不对外开放),它能实现数据的算术运 算、逻辑运算、位变量处理和数据传输操作。 累加器ACC 寄存器B 专用寄存器组 程序状态字PSW 程序计数器PC 堆栈指针SP 数据指针寄存器DPTR
锁 存 器
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 VCC VSS
地 址 总 线 (AB)
数 据 总 线 (DB)
VCC VSS
ห้องสมุดไป่ตู้(a)
(b)
MCS-51系列单片机引脚及总线结构
2.3 微 处 理 器
Program State Word
accumulator
ALU --Arithmetic and Logic Unit
图2.1 MCS-51单片机内部结构框图
1.算术逻辑单元ALU与累加器ACC、寄存器B
算术逻辑单元不仅能完成8位二进制的加、减、乘、除、加 1、减1及BCD加法的十进制调整等算术运算,还能对8位变量进 行逻辑"与"、"或"、"异或"、循环移位、求补、清零等逻辑运 算,并具有数据传输、程序转移等功能。 累加器(ACC,简称累加器A,地址E0H)为一个8位寄存器, 它是CPU中使用最频繁的寄存器。进入ALU作算术和逻辑运算的 操作数多来自于A,运算结果也常送回A保存。 寄存器B(地址F0H )是为ALU进行乘除法运算而设置的。 若不作乘除运算时,则可作为通用寄存器使用。
2.3.1 运算部件及专用寄存器组
运算部件以算术逻辑单元ALU为核心,包括一个位处理器和 两个8位暂存寄存器(不对外开放),它能实现数据的算术运 算、逻辑运算、位变量处理和数据传输操作。 累加器ACC 寄存器B 专用寄存器组 程序状态字PSW 程序计数器PC 堆栈指针SP 数据指针寄存器DPTR
锁 存 器
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 VCC VSS
地 址 总 线 (AB)
数 据 总 线 (DB)
VCC VSS
ห้องสมุดไป่ตู้(a)
(b)
MCS-51系列单片机引脚及总线结构
2.3 微 处 理 器
Program State Word
accumulator
ALU --Arithmetic and Logic Unit
图2.1 MCS-51单片机内部结构框图
1.算术逻辑单元ALU与累加器ACC、寄存器B
算术逻辑单元不仅能完成8位二进制的加、减、乘、除、加 1、减1及BCD加法的十进制调整等算术运算,还能对8位变量进 行逻辑"与"、"或"、"异或"、循环移位、求补、清零等逻辑运 算,并具有数据传输、程序转移等功能。 累加器(ACC,简称累加器A,地址E0H)为一个8位寄存器, 它是CPU中使用最频繁的寄存器。进入ALU作算术和逻辑运算的 操作数多来自于A,运算结果也常送回A保存。 寄存器B(地址F0H )是为ALU进行乘除法运算而设置的。 若不作乘除运算时,则可作为通用寄存器使用。
第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单片机的基本结构
程序存储器 4K/8K
数据存储器 128/256B
2/3×16位 定时器/计数器
CPU
64KB 总线 扩展控制器 内中断 外中断
返回小结
可编程I/O
可编程全双工 串行口 串行通信
控制
并行口
返回
8XX51单片机 内部结构图
RAM地 址寄存 器
P0.0-P0.7 P2.0-P2.7 P0驱动器 P2驱动器 P0锁存器 P2锁存器
2.1.2 80C51系列
80C51 是 MCS-51 系列中 CHMOS 工艺的一个典 型品种 ;其它厂商以8051为基核开发出的CMOS 工艺单片机产品统称为 80C51 系列。当前常用的 80C51系列单片机主要产品有:
﹡ Intel的:80C31、80C51、87C51,80C32、80C52、 87C52等; ﹡ ATMEL的:89C51、89C52、89C2051等; ﹡ Philips、华邦、Dallas、Siemens(Infineon)等公司 的许多产品 。
(3)在功能上,该系列单片机有基本型 和增强型两大类:
基本型: 8051/8751/8031 80C51/87C51/80C31 89S51
增强型: 8052/8752/8032 80C52/87C该系 列 单 片 机 有 三 种 形 式 , 即 掩 膜 ROM 、 EPROM和ROMLess(无片内程序存储器)。如:
加1、减1、比较、BCD码十进制调整等
逻辑运算:与、或、异或、求反、循环等逻辑操作 位操作:内部有布尔处理器,它以进位标志位C为位累
加器,用来处理位操作。可对位置 “1”、对位清零 、 位判断等。
操作结果的状态信息送至状态寄存PSW。
运算器由算数/逻辑运算单元ALU、累加器 ACC、寄存器B、暂存器1、暂存器2、程序状 态寄存器PSW组成。
第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。
51单片机指令和时序讲解
1110 0101 direct
mov a, direct
8位的 RAM地址
三字节指令(16条): ①指令中的操作数为双字节。 MOV DPTR,#data16 1001000B,data15-8,data7-0 ②指令中分别包含1个字节的操作数和1个字节的操作数地址。 MOV direct ,#data 举例:MOV 20H,#0FFH
特点: 直接存储在程序存储器ROM中、被CPU直接识别、 运行的指令形式,也称机器码。
缺点:不便于人工阅读、记忆和调试修改。
2,十六进制表示方式:
它是对二进制形式的一种简化。
00100100B 00001000B
二进制表示的形式
24H 08H
十六进制表示的形式
在实验室等少数环境下,可以将这种形式作为输入程 序的一种辅助手段。但是,这种形式的指令格式必须由对 应的监控程序把它们翻译成二进制的“机器码”后存入程 序存储器并运行。
指令的字节数:MCS-51单片机的指令系统有: 单字节 双字节 (占用1个ROM存储单元 — 1个 字节); (占用2个ROM存储单元 — 2个字节);
三字节指令(占用3个ROM存储单元 — 3个字节)。
ROM ROM ROM
OP
O P2-2 O P2-1
O P3-3 O P3-2 O P3-1
单字节指令
T
机器周期:完成特定功能所需要的时间。
机器周期由12个时钟周期构成,为了描述方便将其分6个状态 (S1-S6),每个状态又分为P1和P2两拍。 既:
S1P1,S1P2,S2P1,S2P2,S3P1,S3P2 … S6P1,S6P2 一种描述时序图时间参数的定标方法
T S1 S2 S3 S4 S5 S6
MCS51单片机的硬件结构
S3 S4 S5 S6 S1
例:MOV A,#09H
3、指令周期 是执行一条指令所需时间. 指令分为:单字节、双字节、三字节指令. 执行一条指令的时间:简单的1个机器周期,复杂的需2个或多
个机器周期.〔单、双字节指令为单机器周期;三字节都是双机器 周期;乘、除为4个机器周期〕
4、指令时序 执行指令,分为取指阶段和执行指令阶段.
2拍P1、P2,一个时钟周期时钟脉冲可表示为:S1P1,…S6P2〕 〔fosc=6MHz时,Tcy=2μs; fosc=12MHz时,Tcy=1μs 〕
一个机器周期
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
P1 P2
P1 P2
ALE
读操作码 S1 S2
读下一个操作码(丢弃 ) 单字节单周期指令
*输出电路有上拉电阻〔输出不是三态的,为准双向口〕,在输入数据时, 应先向其锁存器写入1,使输出驱动电路的FET截止.
P2口的位结构电路原理图
四、P3端口 字节地址B0H,位地址B0H~B7H. 作用:通用I/O口;第二功能口.
P3口的位结构电路原理图
2.6 时钟电路与时序
时钟电路→产生时钟控制信号→ 控制单片机严格地按照时序执 行指令.
一、P0端口 字节地址80H,位地址80H~87H. 结构:锁存器,输出驱动电路,输入缓冲器 工作过程: *地址/数据线;
*通用I/O口〔输入时,应先向锁存器写入1;输入分有读引脚、读端口; 输出时须外接上拉电阻〕;
读锁存器
地址/数据 控制 &
内部总线 写入
D锁存器Q CP Q
MUX
VCC P0.x
时序:单片机内的各种操作都是在一系列脉冲〔控制信号〕 控制下进行的,而各个脉冲〔控制信号〕在时间上是有先后顺序的, 这种顺序就称为时序.
第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)。
举例: 若MCS-51单片机外接晶振为12MHz时,则单 片机的四个周期的具体值为: 振荡周期=1/12MHz=1/12μs=0.0833μs 时钟周期=1/6μs=0.167μs ,状态周期 机器周期=1μs 指令周期=1~4μs
各种周期的关系图
指令周期 机器周期 S1 机器周期 S4 S3 S4 S5 S6 S1 S2 S3 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
② 作地址数据线使用 当CPU对片外存储器进行读写时,P0口用作 地址总线低8位/数据总线(分时使用)
2. P1口组成结构与功能
(1)P1口的结构 (P.28)
从P1口的结构图可以看出,P1口在电路上只是P0 口的一部分,没有多路选择开关MUX以及相应控制电 路;另外,输出电路只有一个场效应管,内部有上拉 电阻,无须外接。 (2)P1口的功能 (P. 28) P1口是一个专供用户使用的通用双向I/O口。 ◆ 用作输出口 此时,能通过内部的上拉电阻提供负载电流,不 须外接上拉电阻; ◆ 用作输入口 此时,同P0口一样,有两种读操作:“读锁存器”和 “读引脚”。
(4)关于堆栈
原理上讲,堆栈可以设在内部RAM区的任意地方, 但由于很多区域有其特殊用途,故堆栈一般设在30H ~ 7F H 之间。 MCS-51单片机的堆栈是从低地址向高地址生长的, 复位后SP的内容为07H,若不重新定义,则以07H为 栈底,进栈的数据从08H单元开始存放。
5.片内高128字节RAM—SFR 区 (P24)
(2)附加要点
◆ 访问片内、片外ROM的指令均为MOVC; ◆ 复位后,PC的值为0000H,也就是说CPU从程序存储 器的0000H地址处开始取指令执行程序;但由于0003H ~ 0032H单元被保留用于中断向量地址,所以应该在 0000H单元处放置一条绝对转移指令以跳过这些单元。
3. 数据存储器(RAM)
从前面已知:数据存储器RAM在物理和逻辑上都可 分为两个地址空间,一个是片内的256B的RAM,一个是 最大64KB的片外RAM。 (1)片内RAM 片内RAM的最大可寻址范围为256个单元,这256个 单元又可以分为两个独立的、功能不同的区间。 (见P22图2-8) Ⅰ:低128字节的RAM,地址为00H~7FH,主要包括: 工作寄存器区、位寻址区与用户通用RAM区。 Ⅱ:高128字节的RAM,地址为80H~FFH,被映射为特 殊功能寄存器。
第2章 MCS-51单片机结构和时序
§2.1 MCS-51单片机结构
§2.1.1 MCS-51单片机结构
1. 基本组成(具体部件见P11-12的叙述)
图2-1 8051单片机框图
2. 内部结构
§2.1.2 MCS-51的封装与引脚
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD 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 23 22 21 VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/Vpp ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
2.1.7 中断系统
MCS-51单片机可以对5个中断请求进行排队 与控制,并响应优先级最高的中断请求。 外部中断源有两个(/INT0和/INT1),用以 接受外部设备产生的中断请求,从P2.2和P2.3 引脚输入;内部中断源有3个:T0和T1中断源, 串行口中断源。 关于MCS-51单片机中断系统的详细内容在 第五章讲述。
FFH
FFFFH
外部 ROM
特 殊 功 能 寄 存 器
80H 7FH 通用 RAM区 位寻址区 0FFFH 内部 ROM (EA=1) 0FFFH 外部 ROM (EA=0) 20B0H A8H A0H 98H 90H 88H 80H
特 殊 FFFFH 功 能 寄 存 器 中 位 寻 址
3. P2口组成结构与功能
(1)P2口的结构 (P.29)
P2口的输出驱动电路与P1口相同,但比P1口增加 了一个多路开关MUX,一路选择地址信号,一路选择 通用I/O信号。 (2)P2口的功能 (P. 29) ① 作一般I/O口使用 此时,功能与P1口一样; ② 作地址线使用 当CPU对片外存储器进行读写时,P2口用作地址 总线的高8位,与P0口输出的低8位一起构成16位地址 总线。 但当只扩展片外256字节的RAM时,只须P0口提供 的低8位地址,P2口仍可作为通用I/O口用。
外部 RAM (I/O口 地址)
1000H
30H 2FH
工作寄 存器区 0000H
0000H
0000H
00H
程序存储器
内部数据存储器
外部数据存储器
2. 程序存储器(ROM)
片内ROM与片外ROM统一编址,最大范围为0000H ~ FFFFH,最大容量64KB。 (1)对于8051,其片内ROM地址范围为0000H ~ 0FFFH,共 4KB;片外ROM最大范围为: 0000H ~ FFFFH,最大容量 64KB。这样,片内与片外ROM的低4KB出现地址重叠现象。 当运行0000H ~ 0FFFH这低4KB范围的程序时作何选择(运行 片内的还是运行片外的)?答案是由引脚/EA控制! ◆ 当/EA=1,内部4KB ROM有效,外部ROM从1000H开始有效; 即:CPU首先运行内部ROM中的程序,只有当PC计数大于等 于1000H时才转向外部ROM中的程序; ◆当/EA=0,内部4KB ROM无效,从0000H开始直接运行片外 ROM中的程序; 对于8031等无片内ROM的芯片而言,/EA端必须接低电平。
§2.1.4输入/输出端口结构
概述: MCS-51单片机有4个并行双向8位I/O端口,分别 为P0、P1、P2和P3,共32根I/O口线,每个I/O线均 由锁存器,输出电路和输入缓冲器组成。每个I/O既 可作输入又可作输出,作输出时可锁存数据,作输 入时可缓冲数据。 另外MCS-51单片机还有一个全双工可编程串行 I/O端口。
8031 8051 8751
MCS-51系列芯片引 脚互相兼容,大多 采用40脚DIP封装。 具体引脚功能见 P13-14.
图2-3(a) MCS-51引脚图
§2.1.3 MCS-51的CPU结构
CPU主要包括控制器和运算器, 是单片机的核心部分。 1.中央控制器主要包括:P15
(1)程序计数器PC; (2)指令寄存器IR、指令译码 器及定时控制逻辑; (3)数据指针DPTR;
2.运算器主要包括:P16
(1)算术逻辑运算单元ALU (2)累加器A(Accumulator) 也叫ACC (3)B寄存器 (4)程序状态字寄存器 (5)堆栈指针
§2.1.4 存储器结构
1. 存储器结构与地址空间
MCS-51系列单片机存储器结构采用哈佛(Harvard) 结构,程序存储器与数据存储器各自独立,分别有自己 的地址空间、寻址方式与控制系统。 (1)4种物理存储空间 P20; (2)3种逻辑存储空间;
S2
XTAL2 (OSC)
振荡周期 时钟周期
S1
S2
P2 P1
S3
P2 P1
S4
P2 P1
S5
P2 P1
S6
P2 P1
S1
P2 P1
S2
P2 P1
(2)位寻址区
地址为20H~2FH的16个字节单元共包括128位,是 可位寻址的RAM区。这16个单元既可字节寻址,也 可位寻址。当进行位寻址时,其对应的地址00H~7FH。
表2-6 位寻址区的位地址
(3)用户RAM区
地址为30H~7FH 共有80个字节单元,可以采用字 节寻址的方式供用户使用。
§2.2 时序电路及时序
2.2.1 振荡周期、时钟周期、机器周期与指令周期
1.振荡周期:为单片机提供时钟信号的振荡源的周期。 比如:若外接晶振为6M的振荡频率,则其振荡周期为1/6us; 12M的晶振,则其振荡周期为1/12us。 2.时钟周期:是振荡源信号经2分频后形成的时钟脉冲信号的周 期。是振荡周期的2倍。也叫状态周期或S周期。 3.机器周期:通常将完成一个基本操作所需的时间称为机器周 期。一个机器周期包含6个状态周期(时钟周期),分别称为 S1~S6。因此一个机器周期包含12个震荡周期。 4.指令周期:是指CPU执行一条指令所需要的时间。一个指令 周期通常含有1~4个机器周期。
4. P3口组成结构与功能
(1)P3口的结构 (P. 30)
(2)P3口的功能 (P. 30)
① 作通用I/O口使用 此时,第二功能(变异)输出线自动置1,与非门 3打开(相当于一个反向器),P3口作为通用I/O口; 输出时通过锁存器、与非门3及输出驱动电路输出,输 入时,通过缓冲器4、2直接输入,但输入前应先对P3 口置1使FET管截止。 ② 作第2功能使用 此时,8个引脚按位独立定义,其功能见P.15的表 2-1。输出时,内部电路将锁存器置1,与非门3打开, 信号从第二输出功能端经与非门3、FET输出。输入时, FET截止,外部信号经引脚及缓冲器4从第二输入功能 处输入。
负载。 P1~P3口的每一位I/O端口可以驱动8个LSTTL 负载。
(3)并行I/O口的使用特点
Δ P0口作普通I/O口的输出口时,输出引脚必 须外接上拉电阻,其他用途下不必外接上拉电 阻。 P1~P3口各种情况下使用都不必外接上拉电 阻。 Δ P0~P3口作普通输入口时,应先向端口寄存 器写1(置输入方式),然后再读引脚。 比如:要将P1端口(引脚)的信号读入到累 加器A中,则应执行两条指令: MOV P1, #0FFH ;置输入方式 MOV A, P1