第二章 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单片微型计算机结构
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。
MCS-51系列单片机的结构及原理
阻。P1口可驱动4个LSTTL门电路。
第2章 MCS-51系列单片机的结构及原理
图2-4 P1口的位结构图
第2章 MCS-51系列单片机的结构及原理
(2) P1口其他功能。
P1口在EPROM编程和验证程序时输入低8位地址;在 8032/8052系列中P1.0和P1.1是多功能的,P1.0可作定时器/计数 器2的外部计数触发输入端T2,P1.1可作定时器/计数器2的外部 控制输入端T2EX。 3) P2口——准双向口 P2口(P2.0~P2.7,21~28脚)的位结构如图2-5所示,引脚 上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。
第2章 MCS-51系列单片机的结构及原理
图2-3 P0口的位结构图来自第2章 MCS-51系列单片机的结构及原理
(1) P0口作地址/数据复用总线使用。
若从P0口输出地址或数据信息,此时控制端应为高电平, 转换开关MUX将反相器输出端与输出级场效应管V2接通,同 时与门开锁,内部总线上的地址或数据信号通过与门去驱动V1 管,又通过反相器去驱动V2管,这时内部总线上的地址或数据 信号就传送到P0口的引脚上。例如,若地址/数据为0时,该信 号一方面通过与门使V1截止,另一方面,在控制信号作用下, 该信号经反相器使V2导通,从而在引脚上输出0信号;反之, 若地址/数据为1时,将会使V1导通,V2截止,引脚输出1信号。 工作时低8位地址与数据线分时使用P0口。低8位地址由ALE信 号的负跳变使它锁存到外部地址锁存器中,而高8位地址由P2
第2章 MCS-51系列单片机的结构及原理
4个并行I/O端口作为通用I/O口使用时,共有写端口、读端
口和读引脚三种操作方式。写端口实际上就是输出数据,是将 累加器A或其他寄存器中的数据传送到端口锁存器中,然后经 输出锁存器自动从端口引脚线上输出。读端口不是真正地从外 部输入数据,而是将端口锁存器中的输出数据读到CPU的累加 器。读引脚才是真正的输入外部数据的操作,是从端口引脚线 上读入外部的输入数据。端口的上述三种操作实际上是通过指 令或程序来实现的,这些将在以后的章节中详细介绍。
第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 . . .
第二章 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系列单片机的结构及原理
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
第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单片机的结构和原理
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不同外,其余完全相同。
第02章MCS51单片机内部结构
17
·P 奇偶校验位。它用来表示ALU运算结果中二进制数位 “1”个数的奇偶性。若为奇数,则P=1;否则为0。 运 算结果有奇数个1,P=1;运算结果有偶数个1,P=0。
例,某运算结果是78H(01111000),显然1的个数 为偶数,所以P=0。 (4)、I/O口专用寄存器(P0、P1、P2、P3)
9
(2)、程序计数器PC PC的作用是用来存放将要执行的指令地址,共16位,
可对64KB ROM直接寻址。PC低8位经P0口输出,高8 位经P2口输出。也就是说,程序执行到什么地方,程序 计数器PC就指到哪里。由于用户程序是存放在内部的 ROM中,执行程序就要从ROM中一个个字节的读出来, 然后到CPU中去执行,在ROM中具体执行的指令就要由 程序计数器PC来指定。
16
·AC 辅助进位标志位。当进行加、减运算出现低4位向高4位进位 或借位时,AC置位,否则被清零。AC辅助进位位也常用于十进制 调整。 ·F0 用户标志位。由用户(编程人员)决定什么时候用,什么时 候不用。 ·RS1、RS0 工作寄存器组选择位。其相关内容将在后面存储器组 织中进行介绍。 ·OV 溢出标志。带符号加减运算中,超出了累加器A所能表示的 符号数有效范围(-128~+127)时,即产生溢出,OV=1,表明 运算运算结果错误。如果OV=0,表明运算结果正确。
2
MCS-51以其典型的结构和完善的它总线、专用寄存 器集中管理方式、众多的逻辑位操作功能及面向控制的丰 富指令系统,为其他单片机的发展奠定了基础,导致后来 的许多厂商在研发产品时多沿用或参考了其体系结构。全 球许多大的电气商丰富和发展了MCS-51单片机,像 PHILIPS、Dallas、ATMEL等著名的半导体公司都推出 了兼容MCS-51的单片机产品。
·P 奇偶校验位。它用来表示ALU运算结果中二进制数位 “1”个数的奇偶性。若为奇数,则P=1;否则为0。 运 算结果有奇数个1,P=1;运算结果有偶数个1,P=0。
例,某运算结果是78H(01111000),显然1的个数 为偶数,所以P=0。 (4)、I/O口专用寄存器(P0、P1、P2、P3)
9
(2)、程序计数器PC PC的作用是用来存放将要执行的指令地址,共16位,
可对64KB ROM直接寻址。PC低8位经P0口输出,高8 位经P2口输出。也就是说,程序执行到什么地方,程序 计数器PC就指到哪里。由于用户程序是存放在内部的 ROM中,执行程序就要从ROM中一个个字节的读出来, 然后到CPU中去执行,在ROM中具体执行的指令就要由 程序计数器PC来指定。
16
·AC 辅助进位标志位。当进行加、减运算出现低4位向高4位进位 或借位时,AC置位,否则被清零。AC辅助进位位也常用于十进制 调整。 ·F0 用户标志位。由用户(编程人员)决定什么时候用,什么时 候不用。 ·RS1、RS0 工作寄存器组选择位。其相关内容将在后面存储器组 织中进行介绍。 ·OV 溢出标志。带符号加减运算中,超出了累加器A所能表示的 符号数有效范围(-128~+127)时,即产生溢出,OV=1,表明 运算运算结果错误。如果OV=0,表明运算结果正确。
2
MCS-51以其典型的结构和完善的它总线、专用寄存 器集中管理方式、众多的逻辑位操作功能及面向控制的丰 富指令系统,为其他单片机的发展奠定了基础,导致后来 的许多厂商在研发产品时多沿用或参考了其体系结构。全 球许多大的电气商丰富和发展了MCS-51单片机,像 PHILIPS、Dallas、ATMEL等著名的半导体公司都推出 了兼容MCS-51的单片机产品。
MCS-51单片机的内部结构
作为一般的寄存器用。
整理ppt
6
MCS-51的CPU:运算器 2.寄存器 (3) 程序状态字PSW
➢程序状态字是8位寄存器,用于指示程序运行状态信息。 ➢其中有些位是根据程序执行结果由硬件自动设置的,而 有些位可由用户通过指令方法设定。
PSW中各标志位名称及定义如下:
位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 C AC F0 RS1 RS0 OV — P
写操作,但可以通过转移、调用、返回等指令改变 其内容,以实现程序的转移。 ✓ PC的寻址范围为64KB,即地址空间为0000~0FFFFH。
整理ppt
14
MCS-51的CPU:控制器
数据指针DPTR
✓ 数据指针DPTR为16位寄存器,它是MCS—51中 唯一的一个16位寄存器。
✓ DPTR通常在访问外部数据存储器时作为地址指 针使用,寻址范围为64KB。
✓ 编程时,既可按16位寄存器使用,也可作为两 个8位寄存器分开使用。DPH 为DPTR的高八位 寄存器,DPL 为DPTR的低八位寄存器。
1
组1
08~0FH
1
0
组2
10~17H
1
1
组3
18~1FH
整理ppt
10
程序状态字PSW
位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 CY AC F0 RS1 RS0 OV — P
OV:溢出标志位
在带符号数(补码数)的加减中,OV=1表示运算的结果 超出了累加器A的八位符号数表示范围(-128~ +127),产生溢出,因此运算结果是错误的。OV=0, 表示未超出表示范围,运算结果正确。
传送、位与、位或等位操作。另外某些控制转移
整理ppt
6
MCS-51的CPU:运算器 2.寄存器 (3) 程序状态字PSW
➢程序状态字是8位寄存器,用于指示程序运行状态信息。 ➢其中有些位是根据程序执行结果由硬件自动设置的,而 有些位可由用户通过指令方法设定。
PSW中各标志位名称及定义如下:
位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 C AC F0 RS1 RS0 OV — P
写操作,但可以通过转移、调用、返回等指令改变 其内容,以实现程序的转移。 ✓ PC的寻址范围为64KB,即地址空间为0000~0FFFFH。
整理ppt
14
MCS-51的CPU:控制器
数据指针DPTR
✓ 数据指针DPTR为16位寄存器,它是MCS—51中 唯一的一个16位寄存器。
✓ DPTR通常在访问外部数据存储器时作为地址指 针使用,寻址范围为64KB。
✓ 编程时,既可按16位寄存器使用,也可作为两 个8位寄存器分开使用。DPH 为DPTR的高八位 寄存器,DPL 为DPTR的低八位寄存器。
1
组1
08~0FH
1
0
组2
10~17H
1
1
组3
18~1FH
整理ppt
10
程序状态字PSW
位序 D7 D6 D5 D4 D3 D2 D1 D0 位标志 CY AC F0 RS1 RS0 OV — P
OV:溢出标志位
在带符号数(补码数)的加减中,OV=1表示运算的结果 超出了累加器A的八位符号数表示范围(-128~ +127),产生溢出,因此运算结果是错误的。OV=0, 表示未超出表示范围,运算结果正确。
传送、位与、位或等位操作。另外某些控制转移
MCS-51单片机的基本结构与工作原理
(T0)P34 _(_T_1_)P35 (W__R__)P36 (RD)P37 XTAL2 XTAL1
VSS
(a) 引脚排列
VCC
XTAL
P00(AD0)
P01(AD1) P02(AD2) P03(AD3) P04(AD4) P05(AD5) P06(AD6) P__0_7(AD7) EA /V_P_P____
D1H F1
D0H P
精选ppt
19
运算器
D7H D6H D5H D4H D3H D2H D1H D0H
CY
AC
F0
RS1
RS0
OV
F1
P
• CY(PSW. 7): 进位标志,在进行加或减运算时,如果操 作结果最高位有进位或借时,CY由硬件置“1”,否则清 “0”。
• AC(PSW.6): 辅助进位标志(又称半进位),在进行加 或减运算时,低四位数向高四位产生的进位或借位,将由
精选ppt
28
MCS-51单片机的引脚
精选ppt
29
MCS-51单片机的引脚
精选ppt
30
MCS-51单片机的引脚
精选ppt
31
第二章 MCS-51单片机的基本结构与工作原理
2.1 MCS-51单片机的总体结构 2.2 MCS-51单片机的CPU及其特点 2.3 MCS-51单片机的封装与引脚功能 2.4 MCS-51单片机的存储空间 2.5 MCS-51单片机辅助电路及CPU时序 2.6 MCS-51单片机主要硬件资源
• MCS-51系列又分为51和52两个子系列, 并以芯片型号的最末位数字作为标志。其中, 51子系列是基本型,而52子系列则属增强型。 52子系列功能增强的具体方面,从表1-1所列 内容中可以看出:
VSS
(a) 引脚排列
VCC
XTAL
P00(AD0)
P01(AD1) P02(AD2) P03(AD3) P04(AD4) P05(AD5) P06(AD6) P__0_7(AD7) EA /V_P_P____
D1H F1
D0H P
精选ppt
19
运算器
D7H D6H D5H D4H D3H D2H D1H D0H
CY
AC
F0
RS1
RS0
OV
F1
P
• CY(PSW. 7): 进位标志,在进行加或减运算时,如果操 作结果最高位有进位或借时,CY由硬件置“1”,否则清 “0”。
• AC(PSW.6): 辅助进位标志(又称半进位),在进行加 或减运算时,低四位数向高四位产生的进位或借位,将由
精选ppt
28
MCS-51单片机的引脚
精选ppt
29
MCS-51单片机的引脚
精选ppt
30
MCS-51单片机的引脚
精选ppt
31
第二章 MCS-51单片机的基本结构与工作原理
2.1 MCS-51单片机的总体结构 2.2 MCS-51单片机的CPU及其特点 2.3 MCS-51单片机的封装与引脚功能 2.4 MCS-51单片机的存储空间 2.5 MCS-51单片机辅助电路及CPU时序 2.6 MCS-51单片机主要硬件资源
• MCS-51系列又分为51和52两个子系列, 并以芯片型号的最末位数字作为标志。其中, 51子系列是基本型,而52子系列则属增强型。 52子系列功能增强的具体方面,从表1-1所列 内容中可以看出:
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 MCS-51单片机基本组成
外时钟源 外部事件计数
第二章 MCS-51单片机的结构 和工作方式
振荡器和 时钟电路
程序存储器 (4KB)
数据存储器 (256B)
2个16位 定时/计数器
80C51
CPU
中断 控制
内 部 中 断
总线扩展 控制器
可编程 并行I/O口
可编程 串行接口
外部中断
控制
P0
P1
特殊功能寄存器的位寻址:有11个特殊功能寄存器可以位寻址
SFR B ACC PSW IP P3口 IE P2口 SCON P1口 TCON P0口 MSB F7H F6H E7H E6H x AFH x x F5H E5H 位地址 F4H E4H F3H E3H F2H E2H F1H E1H LSB F0H E0H B8H B0H 字节地址 F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H
18
F0H E0H D0H B0H A0H
B ACC PSW P3口 P2口
B8H IP:中断优先控制器 A8H IE:中断允许控制器 99H SBUF:串口数据缓冲寄存器 98H SCON:串口控制寄存器 90H P1口
88H TCON:计数器控制寄存器 87H 83H 82H 81H 80H
17
DPTR:16位的数据指针
用于寻址片外数据存储器和I/O端口共64 KB (程序区 的表格也可以)。也可以分为两个8位的寄存器用, DPH是高8位,DPL是低8位。
辅助 用户 进位 进位 标 志
寄存器组 选择位
溢出 保留
RS1 0 0 1 1
RS0 0 1 0 1
寄存器组 0组 1组 2组 3组
地址 00H‾07H 08H‾0FH 10H‾17H 18H‾1FH
P2
P3
RXD
TXD
2
1. 布尔处理器
布尔处理器有很强的布尔处理能力,以位为单位进行操作 和运算,它以进位标志(CY)作为累加位,以片内RAM中可 寻址的位作为操作位或存储位,以P0‾P3的各位作为I/O位, 布尔处理器有自己的指令系统,具有很强的位操作功能。
4. 串行I/O口
全双工异步串行通讯接口。
10. P3.0-P3.7(10脚~17脚):P3口8位双向I/O口。
R X D/P3.0 :串行输入。 T X D/P3.1:串行输出。 INT0 /P3.2 : 外部中断0输入。 INT1/P3.3 :外部中断1输入。 T0/P3.4 :定时器0的外部计数输入 T1/P3.5 :定时器1的外部计数输入 WR /P3.6 :外部数据存储器、I / O端口写选通信号。 RD/P3.7 :外部数据存储器、I / O端口读选通信号。
21
22
4. 堆栈及堆栈指针SP
MSC-51系列单片机的堆栈是向上生长的栈,它 的操作规则: 进栈操作:PUSH 出栈操作:POP 先SP+1 先读出数据 后写入数据 后SP-1
2.3.2 片内程序存储器
MSC-51系列单片机除了最基本型的8031之 外,都有4KB的ROM作为程序存储器,而8031必须 有用户准备的外部程序存储器,所以8031的 EA 管脚 必须接地;而51系列的其它型号的单片机,在片内 程序存储器够用户使用的情况下,即无需片外扩展 程序存储器的情况下,EA 管脚接+5V。
第0组通用寄存器区
16
2. 特殊功能寄存器区
特殊功能寄存区(SFR:Special Function Register),共有21个特殊功能寄存器,不连续的分 散在片内RAM的80H ‾FFH单元,其中有一些空闲 单元是无意义的,对用户这些单元是不存在的。寻 址只能用直接寻址。
8DH TH1:计数器1高8位 8CH TH0:计数器0高8位 8BH TL1:计数器1低8位 8AH TL0:计数器0低8位 89H TMOD:计数器方式选择寄 存器 PCON:电源控制及波率选 择寄存器 DPH DPL SP P0
ADH ACH ABH AAH A9H A8H 9BH 9AH 99H 93H 83H 92H 82H 91H 81H 8BH 8AH 89H 98H 90H 88H 80H
A7H A6H A5H A4H A3H A2H A1H A0H 9FH 9EH 9DH 9CH 97H 96H 95H 87H 86H 85H 94H 84H 8FH 8EH 8DH 8CH
OSC
ALE
25 26
2.4.3 指令时序
3. 指令周期
执行一条指令所需要的时间成为指令周期。 以机器周期为单位,51系列单片机有一机器周 期指令,二个机器 周期指令,四个机器周期指令。
9
10
2.3 51单片机的存储器结构
存储器分类
通过外部总线 与CPU连接 磁介质存储器 光介质存储器 半导体存储器 随机存取存储 器RAM SRAM DRAM MASK ROM PROM 只读存储器 ROM EPROM FLASH MEMORY E2PROM
11 12
外部存储器
存储 器
通过内部总线 与CPU连接
( EA = 1 )
内部存储器
( EA = 0 )
半导体存储器
存储器芯片的一般组成:
An ~ A0
1. 存储矩阵
三 态 数 据 缓 冲 器
地 址 译 码 器
Dm ~ D0
存储矩阵
R/W
读/写控制逻辑
CS
13
基本存储单元:是指能够存放一个一位二进制信息的电路。 存储矩阵:在物理结构上,将基本(存储)单元按一定的规 律排成适当的矩阵。例如4096个基本单元可排成6464的矩 阵。 存储单元:由在一次读/写操作中所选中的若干个基本单元组 成,其个数与数据输出的位数一致。常用的有:1bit、4bit、 8bit(字节单元)、16bit(字单元)、32bit(双字单元)。 存储器容量: 存储矩阵中基本单元的个数,通常表示成 A B(bit)的形式。A表示存储单元的个数,B表示每个存储单元 的位数。例如: 8K 1b:存储容量为8Kb = 8192bit 8K 4b:存储容量为32Kb = 8192 4bit 8K 8b (8KB):存储容量为64Kb = 8192 8bit
7FH
用户RAM区 (堆栈、数据区)
30H 2FH 7FH 78H
位寻址区
20H 07H 1FH 18H 17H 10H 0FH 08H 07H 00H 00H
CS R / W 0 0 0 1 1 ×
操作 写操作( CPU → M ) 读操作( M → CPU ) 无效,三态缓冲器呈高阻态
15
第3组通用寄存器区 第2组通用寄存器区 第1组通用寄存器区
在访问片外存储器时为 分时复用的低8位地址/ 数据总线
恩智浦(飞利浦)P87系列、P89系列 ATMEL:89系列和AVR系列 Silabs:80C51F系列
5
在访问片外存储器时送 出高8位地址
6
1. 电源: Vcc(40脚):+5V电源。 Vss(20脚):地线。 2. XTAL2(18脚) 、XTAL1(19脚) :外接晶体和微调电容。 3. RST/VPD(9脚):在单片机工作时为复位信号,当施加 两个以上机器周期的高电平时单片机将被复位。在VCC掉 电期间该引脚可作为备用电源输入端,为片内RAM提供 备用电源。 机器周期:等于12个时钟(振荡)周期。例如外接晶振 的频率为12MHZ,则机器周期是为1us。 4. ALE/PROG(30脚):地址锁存允许控制信号,用于锁 存P0口的8位地址信息A0~A7(正脉冲的下降沿锁存)。 即使不访问片外存储器时也以六分之一的时钟(外接晶体) 频率输出正脉冲,因此可以用作系统中其它芯片的脉冲源。 (在对8751片内的 EPROM编程时作为编程脉冲的输入 端。) 5. PSEN(29脚):片外程序存储器的读选通信号,也就是 片外程序存储器的读信号。 6. EA / VPP (31脚):程序的存储器选择线, EA接地时CPU 仅访问片外存储器,对于8031EA 必须接地。EA 接高电平 时,当地址小于等于0FFFH时访问片内4KB的程序存储 器,当地址大于0FFFH访问片外程序存储器。(当对8751 内的EPROM编程时,此脚施加21V的编程电压。)
B:8 位的寄存器
主要用于乘除操作,乘法运算前放乘数,乘法操作后 乘积的高位存于B,除法操作前B放除数,除法操作 后用来存余数。B也可做一般寄存器用。
19 20
共85位
PSW:8位的标志寄存器
D7 CY D6 AC D5 F0 D4 RS1 D3 RS0 D2 OV D1 ----D0 P 奇偶 标志
2.2 51单片机引脚功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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 VCC P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA/VPP ALE/PROG PSEN P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
7 8
7. P0.0-P0.7(39脚~32脚):P0口8位双向I/O口。在访 问片外存储器时,它是分时复用的地址(低8位)和数据 总线。 8. P1.0-P1.7( 1脚~8脚):P1口8位双向I/O口。 9. P2.0-P2.7(21脚~28脚):P2口8位双向I/O口。在访 问片外存储器时, 输出高8位地址总线。
外时钟源 外部事件计数
第二章 MCS-51单片机的结构 和工作方式
振荡器和 时钟电路
程序存储器 (4KB)
数据存储器 (256B)
2个16位 定时/计数器
80C51
CPU
中断 控制
内 部 中 断
总线扩展 控制器
可编程 并行I/O口
可编程 串行接口
外部中断
控制
P0
P1
特殊功能寄存器的位寻址:有11个特殊功能寄存器可以位寻址
SFR B ACC PSW IP P3口 IE P2口 SCON P1口 TCON P0口 MSB F7H F6H E7H E6H x AFH x x F5H E5H 位地址 F4H E4H F3H E3H F2H E2H F1H E1H LSB F0H E0H B8H B0H 字节地址 F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H
18
F0H E0H D0H B0H A0H
B ACC PSW P3口 P2口
B8H IP:中断优先控制器 A8H IE:中断允许控制器 99H SBUF:串口数据缓冲寄存器 98H SCON:串口控制寄存器 90H P1口
88H TCON:计数器控制寄存器 87H 83H 82H 81H 80H
17
DPTR:16位的数据指针
用于寻址片外数据存储器和I/O端口共64 KB (程序区 的表格也可以)。也可以分为两个8位的寄存器用, DPH是高8位,DPL是低8位。
辅助 用户 进位 进位 标 志
寄存器组 选择位
溢出 保留
RS1 0 0 1 1
RS0 0 1 0 1
寄存器组 0组 1组 2组 3组
地址 00H‾07H 08H‾0FH 10H‾17H 18H‾1FH
P2
P3
RXD
TXD
2
1. 布尔处理器
布尔处理器有很强的布尔处理能力,以位为单位进行操作 和运算,它以进位标志(CY)作为累加位,以片内RAM中可 寻址的位作为操作位或存储位,以P0‾P3的各位作为I/O位, 布尔处理器有自己的指令系统,具有很强的位操作功能。
4. 串行I/O口
全双工异步串行通讯接口。
10. P3.0-P3.7(10脚~17脚):P3口8位双向I/O口。
R X D/P3.0 :串行输入。 T X D/P3.1:串行输出。 INT0 /P3.2 : 外部中断0输入。 INT1/P3.3 :外部中断1输入。 T0/P3.4 :定时器0的外部计数输入 T1/P3.5 :定时器1的外部计数输入 WR /P3.6 :外部数据存储器、I / O端口写选通信号。 RD/P3.7 :外部数据存储器、I / O端口读选通信号。
21
22
4. 堆栈及堆栈指针SP
MSC-51系列单片机的堆栈是向上生长的栈,它 的操作规则: 进栈操作:PUSH 出栈操作:POP 先SP+1 先读出数据 后写入数据 后SP-1
2.3.2 片内程序存储器
MSC-51系列单片机除了最基本型的8031之 外,都有4KB的ROM作为程序存储器,而8031必须 有用户准备的外部程序存储器,所以8031的 EA 管脚 必须接地;而51系列的其它型号的单片机,在片内 程序存储器够用户使用的情况下,即无需片外扩展 程序存储器的情况下,EA 管脚接+5V。
第0组通用寄存器区
16
2. 特殊功能寄存器区
特殊功能寄存区(SFR:Special Function Register),共有21个特殊功能寄存器,不连续的分 散在片内RAM的80H ‾FFH单元,其中有一些空闲 单元是无意义的,对用户这些单元是不存在的。寻 址只能用直接寻址。
8DH TH1:计数器1高8位 8CH TH0:计数器0高8位 8BH TL1:计数器1低8位 8AH TL0:计数器0低8位 89H TMOD:计数器方式选择寄 存器 PCON:电源控制及波率选 择寄存器 DPH DPL SP P0
ADH ACH ABH AAH A9H A8H 9BH 9AH 99H 93H 83H 92H 82H 91H 81H 8BH 8AH 89H 98H 90H 88H 80H
A7H A6H A5H A4H A3H A2H A1H A0H 9FH 9EH 9DH 9CH 97H 96H 95H 87H 86H 85H 94H 84H 8FH 8EH 8DH 8CH
OSC
ALE
25 26
2.4.3 指令时序
3. 指令周期
执行一条指令所需要的时间成为指令周期。 以机器周期为单位,51系列单片机有一机器周 期指令,二个机器 周期指令,四个机器周期指令。
9
10
2.3 51单片机的存储器结构
存储器分类
通过外部总线 与CPU连接 磁介质存储器 光介质存储器 半导体存储器 随机存取存储 器RAM SRAM DRAM MASK ROM PROM 只读存储器 ROM EPROM FLASH MEMORY E2PROM
11 12
外部存储器
存储 器
通过内部总线 与CPU连接
( EA = 1 )
内部存储器
( EA = 0 )
半导体存储器
存储器芯片的一般组成:
An ~ A0
1. 存储矩阵
三 态 数 据 缓 冲 器
地 址 译 码 器
Dm ~ D0
存储矩阵
R/W
读/写控制逻辑
CS
13
基本存储单元:是指能够存放一个一位二进制信息的电路。 存储矩阵:在物理结构上,将基本(存储)单元按一定的规 律排成适当的矩阵。例如4096个基本单元可排成6464的矩 阵。 存储单元:由在一次读/写操作中所选中的若干个基本单元组 成,其个数与数据输出的位数一致。常用的有:1bit、4bit、 8bit(字节单元)、16bit(字单元)、32bit(双字单元)。 存储器容量: 存储矩阵中基本单元的个数,通常表示成 A B(bit)的形式。A表示存储单元的个数,B表示每个存储单元 的位数。例如: 8K 1b:存储容量为8Kb = 8192bit 8K 4b:存储容量为32Kb = 8192 4bit 8K 8b (8KB):存储容量为64Kb = 8192 8bit
7FH
用户RAM区 (堆栈、数据区)
30H 2FH 7FH 78H
位寻址区
20H 07H 1FH 18H 17H 10H 0FH 08H 07H 00H 00H
CS R / W 0 0 0 1 1 ×
操作 写操作( CPU → M ) 读操作( M → CPU ) 无效,三态缓冲器呈高阻态
15
第3组通用寄存器区 第2组通用寄存器区 第1组通用寄存器区
在访问片外存储器时为 分时复用的低8位地址/ 数据总线
恩智浦(飞利浦)P87系列、P89系列 ATMEL:89系列和AVR系列 Silabs:80C51F系列
5
在访问片外存储器时送 出高8位地址
6
1. 电源: Vcc(40脚):+5V电源。 Vss(20脚):地线。 2. XTAL2(18脚) 、XTAL1(19脚) :外接晶体和微调电容。 3. RST/VPD(9脚):在单片机工作时为复位信号,当施加 两个以上机器周期的高电平时单片机将被复位。在VCC掉 电期间该引脚可作为备用电源输入端,为片内RAM提供 备用电源。 机器周期:等于12个时钟(振荡)周期。例如外接晶振 的频率为12MHZ,则机器周期是为1us。 4. ALE/PROG(30脚):地址锁存允许控制信号,用于锁 存P0口的8位地址信息A0~A7(正脉冲的下降沿锁存)。 即使不访问片外存储器时也以六分之一的时钟(外接晶体) 频率输出正脉冲,因此可以用作系统中其它芯片的脉冲源。 (在对8751片内的 EPROM编程时作为编程脉冲的输入 端。) 5. PSEN(29脚):片外程序存储器的读选通信号,也就是 片外程序存储器的读信号。 6. EA / VPP (31脚):程序的存储器选择线, EA接地时CPU 仅访问片外存储器,对于8031EA 必须接地。EA 接高电平 时,当地址小于等于0FFFH时访问片内4KB的程序存储 器,当地址大于0FFFH访问片外程序存储器。(当对8751 内的EPROM编程时,此脚施加21V的编程电压。)
B:8 位的寄存器
主要用于乘除操作,乘法运算前放乘数,乘法操作后 乘积的高位存于B,除法操作前B放除数,除法操作 后用来存余数。B也可做一般寄存器用。
19 20
共85位
PSW:8位的标志寄存器
D7 CY D6 AC D5 F0 D4 RS1 D3 RS0 D2 OV D1 ----D0 P 奇偶 标志
2.2 51单片机引脚功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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 VCC P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA/VPP ALE/PROG PSEN P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
7 8
7. P0.0-P0.7(39脚~32脚):P0口8位双向I/O口。在访 问片外存储器时,它是分时复用的地址(低8位)和数据 总线。 8. P1.0-P1.7( 1脚~8脚):P1口8位双向I/O口。 9. P2.0-P2.7(21脚~28脚):P2口8位双向I/O口。在访 问片外存储器时, 输出高8位地址总线。