第二章 MCS-51单片机原理第 二 章 MCS-51单片机原理
1.1 MCS-51单片机的内部组成及信号引脚
1.2 8051的内部存储器
1.3 并行输入/输出端口结构
1.4 时钟电路与时序
1.5 MCS-51单片机工作方式第二章 MCS-51单片机原理
1.1 MCS-51单片机的内部组成及信号引脚
1.1.1 8051单片机的基本组成:
MCS - 51单片机结构框图第二章 MCS-51单片机原理
1,CPU,8位
2,内部 RAM,256单元前 128 单元:用户使用后 128单元:专用寄存器占用 。
3,内部 ROM,4KB掩膜 ROM
4,定时器 /计数器,2× 16位 。
5,并行 I/O口,4× 8位 。 P0,P1,P2,P3。
6,串行口:一个,全双工 。
7,中断控制系统,5
外中断,2
定时 /计数中断,2
串行中断,1个
8,时钟电路,fosc―― 振荡频率最高为 12MHz。
第二章 MCS-51单片机原理 1.1.1 MCS-51 信号引脚介绍第二章 MCS-51单片机原理
1,主电源引脚 Vcc和 Vss
VCC( 40脚 ),接 +5 V电源正端 ;
VSS( 20脚),接 +5 V电源地端。
2,外接晶体引脚 XTAL1和 XTAL2
XTAL1( 19脚 ),接外部石英晶体的一端 。 在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器 。 当采用外部时钟时,对于 HMOS
单片机,该引脚接地 ; 对于 CHMOS单片机,该引脚作为外部振荡信号的输入端 。
第二章 MCS-51单片机原理
XTAL2( 18脚 ),接外部晶体的另一端 。 在单片机内部,接至片内振荡器的反相放大器的输出端 。 当采用外部时钟时,对于 HMOS单片机,该引脚作为外部振荡信号的输入端 ; 对于 CHMOS芯片,该引脚悬空不接 。
第二章 MCS-51单片机原理
3,控制信号或与其它电源复用引脚控制信号或与其它电源复用引脚有:
RST/VPD、,和 等 4种形式。
( 1) RST/VPD( 9脚 ),RST即为 RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端 。
( 2) (30脚 ),当访问外部存储器时,ALE
( 允许地址锁存信号 ) 以每机器周期两次的信号输出,
用于锁存出现在 P0口的低 8位地址 。
/.A L E P R O G P S E N/ PPEA V
/ALE PRO G
第二章 MCS-51单片机原理
( 3) ( 29脚),片外程序存储器读选通信号输出端,低电平有效。
( 4) ( 31脚 ),为访问外部程序存储器控制信号,低电平有效 。
PSEN
/ PPEA V EA
第二章 MCS-51单片机原理
4,输入 /输出 ( I/O) 引脚 P0口,P1口,P2口及 P3口
( 1) P0口( 39脚~ 32脚),P0.0~ P0.7统称为 P0口。
( 2) P1口( 1脚~ 8脚),P1.0~ P1.7统称为 P1口,可作为准双向 I/O接口使用。
( 3) P2口( 21脚~ 28脚),P2.0~ P2.7统称为 P2口,
一般可作为准双向 I/O接口。
( 4) P3口( 10脚~ 17脚),P3.0~ P3.7统称为 P3口。
第二章 MCS-51单片机原理第二章 MCS-51单片机原理
2.2 8051的存储器配置
MCS-51单片机的存储空间分为,
程序存储器( 64KB ROM)
数据存储器( 64KB RAM)。
8051有四个存储空间:
片内 ROM,片外 ROM,片内 RAM,片外 RAM.
但从用户使用的角度,8051存储器地址空间分为三类:
第二章 MCS-51单片机原理
( 1) 片内、片外统一编址 0000~ FFFFH的 64K字节的程序存储器地址空间(用 16位地址);
( 2) 64K字节的 片外数据存储器 地址空间,地址也从
0000~ FFFFH(用 16位地址);
( 3) 256字节数据存储器 地址空间(用 8位地址)。
8051存储器空间配置如图 2-3所示。
第二章 MCS-51单片机原理
FFFFH
1000H
片外扩展存储器
8051片内存储器
0FFFH
0000H
4KB
ROM
7FH
00H
FFH
80H SFR
RAM
64KB
ROM
64KB
RAM
(I/O)
FFFFH
0000H
图 2-3 8051存储空间分布图
0FFFH
0000H
第二章 MCS-51单片机原理
2.2.1 程序存储器 ( ROM)
用途,用于存放编好的程序和表格常数 。
8051片内有 4KB ROM,
片外 16位地址线可扩展 64KB ROM,二者是统一编址的 。
当引脚,8051从 0000H执行片内 ROM中的程序 。
当指令地址超过 0FFFH后,就自动转向片外 ROM取指令 。
当引脚 8051片内 ROM不起作用,CPU只能从片外
ROM/EPROM中取指令,地址可以从 0000H开始编址 。 这种接法特别适合于没有内部 ROM的 8031单片机,此时必须使= 0,
以便能够从外部扩展的 EPROM中取指令 。
,"1"EA?
,"0"EA?
第二章 MCS-51单片机原理内部 ROM中的一些特殊单元:
第二章 MCS-51单片机原理
2.2.2 数据存储器 RAM
用途,用于存放运算的中间结果,数据暂存和缓冲
,标志位等 。
RAM分类:
片内 RAM,256字节 ; 地址 从 0000~ 00FFH;
片外 RAM,64K字节 ;地址 从 0000~ FFFFH。
第二章 MCS-51单片机原理
1,片外 RAM
由于 片外 RAM 与 片内 RAM 的低 地址 0000H ~
00FFH单元是重叠的 。 因此,MCS-51有两种指令使用
MOV--片内 RAM
MOVX-- 片外 64K RAM。
2,片内 RAM
第二章 MCS-51单片机原理
2.2.1 内部数据存储器低 128单元低 128单元是单片机的真正 RAM存储器,按其用途划分为 三个区域,
F F H~80 128
7 F H~00 128256R A M
单元:高单元:低单元)(内部第二章 MCS-51单片机原理第二章 MCS-51单片机原理
1),存储器区,共有四组寄存器,每组 8个寄存单元 ( 8
位 ),各组都以 R0,R1,R2,R3,R4,R5,R6,R7作寄存单元编号 。 寄存器常用于存放操作数及中间结果等,由于它们的功能及使用不作预先规定因此称之为 通用寄存器,有时也叫工作寄存器,四组通用寄存器占据内部 RAM的 00H~
1FH单元地址 。
在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组 。 到底是那一组由程序状态字寄存器 PSW中 RS0,RS1位 的状态组合来决定 。
第二章 MCS-51单片机原理
2),位寻址区,( 表 1-2)
内部 RAM的 20H~ 2FH单元,既可作为一般 RAM单元使用进行 字节操作,也可以对单元中的 每一位 进行位操作,
因此把该区称之为 位寻址区,位寻址区共有 16个 RAM单元
,共 128位,位地址为 00H~ 7FH。
3),用户 RAM区:
在内部 RAM低 128单元中,通用寄存器,32个单元,位寻址区,16个单元,剩下 80个单元为用户使用的一般 RAM
区,其单元地址为 30H~ 7FH。
应当提及,在一般应用中常把 堆栈 开辟在此区中 。
第二章 MCS-51单片机原理第二章 MCS-51单片机原理
2.2.3 内部数据存储器高 128单元专用寄存器区,被 特殊功能寄存器 ( SFR) 使用 。
其单元地址为 80H~ FFH。
1,专用寄存器简介:
8051共 有 22个专用寄存器,现部分介绍:
第二章 MCS-51单片机原理
( 1) 程序计数器 PC( Program Counter)
PC,16位的计数器 。
其内容为将要执行的指令地址,寻址范围达 64KB。
有自动加 1功能,从而实现程序的顺序执行,但 PC没有地址,是不可寻址的,因此无法对它进行读写 。 但可以通过转移,调用,返回等指令改变其内容,以实现程序的转移

可见单片机中的大部分数据操作都是通过累加器进行的,
第二章 MCS-51单片机原理
( 2)累加器 ACC( Accumulator)
8位寄存器,是最常用的专用寄存器大部分单操作数指令的操作数就取自 ACC,许多双操作数指令中的一个操作数也取自累加器。
( 3) B寄存器
8位寄存器,主要用于 乘除运算 。
B寄存器也可作为一般数据寄存器使用 。
第二章 MCS-51单片机原理
( 4)程序状态字 PSW( Program Status Word)
8位寄存器,用于寄存程序运行的状态信息。
其中:有些位状态是根据程序执行结果,由硬件自动设置的而有些位状 态则使用软件方法设定.
D7 D6 D5 D4 D3 D2 D1 D0
Cy AC F0 RS1 RS0 OV … P
第二章 MCS-51单片机原理
· CY( PSW.7) —— 进位标志位
· AC( PSW.6) —— 辅助进位标志位加减运算中当有 低 4位向高 4位进位或借位时,AC由硬件置位,否则 AC位被清零。
·F0( PSW.5) —— 用户标志位需要时用软件方法置位或复位,用以控制程序的转向。
第二章 MCS-51单片机原理
·RS0和 RS1( PSW.4,PSW.5) —— 寄存器组选择位
RS1 RS0 寄存器组 片内 RAM地址 通用寄存器名称
0 0 0组 00H~07H R0~R7
0 1 1组 08H~0FH R0~R7
1 0 2组 10H~17H R0~R7
0 1 3组 18H~1FH R0~R7
第二章 MCS-51单片机原理
·OV( PSW.2) —— 溢出标志位
8位带符号数字 加减运算结果 是否超出运算范围 。
8位有符号数字表示的范围,- 128~+ 127。
OV= 0,运算正确,即无溢出产生 。
在 乘法运算 中,OV= 1,表示乘积超过 255;
在 除法运算 中,OV= 1,表示除数为 0,除法不能进行 。
,P( PSW.0) -一一奇偶标志位 。 表明累加器 A中数的奇偶性 。 奇 0偶 1。
第二章 MCS-51单片机原理
( 5) 数据指针 ( DPTR)
16位寄存器 。
MCS一 51中 唯一的一个 16位寄存器 。
编程时,DPTR既可按 16位寄存器使用,也可以按两个 8位寄存器分开使用 。
DPH,DPTR高位字节
DPL,DPTR低位字节作用,通常在访问 外部 RAM时作地址指针 使用,由于外部数据存储器的寻址范围 64KB。
第二章 MCS-51单片机原理
7,I/O端口 P0~ P3( 80H,90H,A0H,B0H)
P0~ P3为四个 8位特殊功能寄存器,分别是四个并行 I/O端口的锁存器 。 它们都有字节地址,每一个口锁存器还有位地址,所以当每一条 I/O线独立地用作输入或输出时
,数据可以锁存;作输入时,数据可以缓冲 。
当 I/O端口某一位用于输入信号时,对应的锁存器必须先置,1”。
第二章 MCS-51单片机原理
MCS- 51共有 22个 专用寄存器中 。
有 21个 是可 字节寻址 的 。
可字节寻址 寄存器的名称,符号及单元地址见表 1-3。
第二章 MCS-51单片机原理表 2.6 SFR
第二章 MCS-51单片机原理表 2.6 SFR
第二章 MCS-51单片机原理几点说明:
① 专用寄存器 不连续地分散 在内部 RAM高 128单元之中、空闲地址 不能被 用户使用 。
② 22个 专用寄存器中,程序计数器 PC是 唯 一 一个不可寻址的 SFR,
③ 使用 SFR时,既可使用 寄存器符号,也可使用 寄存器单元地址。
例如,MOV B,ACC
MOV B,0E0H
第二章 MCS-51单片机原理
3,可位寻址专用寄存器:
在 21个可寻址的专用寄存器中,有 11个寄存器是可以位寻址的,见表 l- 4。
全部专用寄存器可寻址的位为,83位位寻址区,128位共 211位第二章 MCS-51单片机原理表 2.6 SFR
第二章 MCS-51单片机原理表 2.6 SFR
第二章 MCS-51单片机原理
2.2.4 堆栈及堆栈指示器堆栈,只允许在其一端进行数据插入和数据删除操作的线性表 。
堆栈是内存在一个 特殊的存储区域 。
传送数据方式:
入栈,PUSH
出栈,POP。
堆栈 操作的 最大特点,,后进先出,。
第二章 MCS-51单片机原理第二章 MCS-51单片机原理
1,堆栈的功能:
堆栈是为子程序调用和中断操作而设立的 。
功能,保护断点和保护现场 。
保护断点,PC。
保护现场:寄存器中的内容 。
例如,SUB A,B
JZ LOOP
* * *
LOOP,MOV R0,#30H
* * *
RET
第二章 MCS-51单片机原理例如,SUB A,B
(PC=1000H) JZ LOOP
ADD A,#12H
* * *
(PC=2000H) LOOP,MOV R0,#30H
* * *
RET ;返回第二章 MCS-51单片机原理
ROM
PC 1000H 23H
45H
2000H 78H
RET
第二章 MCS-51单片机原理堆栈要求:
具有 足够的容量 (或者说足够的堆栈深度)。
2,堆栈开辟
1) 外堆栈:在主存储器中开辟堆栈,例如 8080,Z80等早期的微型机 。 主要优点是堆栈容量大 。 但外堆栈的操作速度较慢 。
2) 内堆栈:在 CPU芯片内部存储器中开辟 。 MCS- 51的堆栈就是开辟在内部 RAM中 。
主要优点 是操作速度快,但堆栈容量有限 。
第二章 MCS-51单片机原理
4.堆栈两种类型,向上生长型和向下生长型 。
MCS- 5l 为 向上生长型,其操作规则为:
进栈操作;先 SP加 1,后写入数据出栈操作:先读出数据,后 SP减 1。
MCS-51 8086
第二章 MCS-51单片机原理
5,堆栈使用方式,两种
(1),自动方式,( 保护断点 )
在调用子程序或中断时,返回地址 ( 断点 ) 自动进栈 。
程序返回时,断点再自动弹回 PC.
操作的特点,堆栈操作无需用户干预 -- 自动方式 。
LCALL NEXT
JMP LOOP
第二章 MCS-51单片机原理
(2),指令方式 (保护现场)
进栈指令,PUSH
出栈指令,POP。
例如:
PUSH A
PUSH B
POP B
POP A
第二章 MCS-51单片机原理
2.3 并行输入 /输出端口结构
MCS-51单片机共有 4个 8位双向并行输入 /输出 ( I/O) 口,
分别 为,P0,P1,P2,P3。
口,是一个集数据 输入缓冲,数据输出缓冲驱动及锁存 等多项功能为一体的 I/O电路,也 称 端口 。
四个 I/O口在结构和特性上基本相同的,但又各具特点 。
下面 介绍这些口的特性和功能 。
第二章 MCS-51单片机原理
2.3.1 P0~ P1口的功能
1,P0口为双向 ( 输入 /输出 ) 三态口 -- AD线 。
用作,地址 /数据总线口 。
低 8位地址 /8位 数据总线分时复用 。
2,P1口,作为可编程的输入或输出线 。
3,P2口,
用作,( 1) 可作为输入或输出线用 ;
( 2) 当扩展系统外设时,可作为扩展系统的高 8位地址总线,与 P0口一起组成 16位地址总线 。
说明,对 8031单片机来说,P2口一般只作为地址总线使用,而不作为 I/O线直接与外设相连 。
第二章 MCS-51单片机原理
4,P3口,双功能口 。
( 1),可作为输入或输出 口线用 ;
( 2):特殊的第二功能。
第二章 MCS-51单片机原理
2.3.2 P0~ P3口的结构与操作
1,P0口第二章 MCS-51单片机原理第二章 MCS-51单片机原理
P1口口线逻辑电路图
2,P1口第二章 MCS-51单片机原理
2,P2口第二章 MCS-51单片机原理
P3口口线逻辑电路图
4,P3口第二章 MCS-51单片机原理
2.4 时钟电路与 CPU时序时钟电路:用于产生单片机工作所需要的时钟信号;
时序:指令执行中各信号之间的相互关系 。
2.4.1 时钟电路
1,内部时钟方式利用芯片内部的振荡器,然后在引脚 XTAL1 和
XTAL2两端跨接晶体振荡器和微调电容,就构成了一个稳定的自激振荡器,其发出的脉冲直接输入单片机的内部时钟电路 。
2,外部时钟方式第二章 MCS-51单片机原理单片机时钟电路
( a) 内部时钟电路; ( b) 外部振荡源第二章 MCS-51单片机原理
2.4.2 CPU的时序
MCS-51的时序定时单位 共有 4个,从小到大依次是:
拍节,状态,机器周期,指令周期 。
1,拍节与状态拍节 ( P),振荡脉冲的周期,又称振荡周期 。
状态 ( S),时钟信号的周期,又称时钟周期 。
关系:振荡频率= 2倍时钟频率时钟周期= 2倍振荡周期,
即 1S=2P
( 拍节 1( P1),拍节 2( P2)) 。
第二章 MCS-51单片机原理
2.机器周期机器周期,指 CPU访问存储器一次所需要的时间。
例如取指令,读存储器、写存储器等。
MCS-51的一个机器周期包括 12个振荡周期( 12P)= 6S
即 6个状态,S1~ S6。
而每个状态又分为两拍,称为 P1和 P2。
因此,一个机器周期中的 12个振荡周期表示为 S1P1、
S1P2,S2P1……,S6P2。
第二章 MCS-51单片机原理
3.指令周期定义,执行一条指令所需要的时间称之为指令周期。
最大的时序定时单位,无固定值。
指令不同,指令周期不同。
MCS-51的指令包含 一、二、四个机器周期 。
第二章 MCS-51单片机原理例如,外接晶振频率 fOSC为 12 MHz时,MCS—51单片机的 4个时间周期值为,
振荡周期 P=1/fosc= 1/12μs;
状态周期 S=2P= 1/6 μs;
机器周期 =6S= 12P= 1μs;
指令周期 =1~ 4 μs。
第二章 MCS-51单片机原理
2.5 复位电路复位,单片机的初始化操作 。
复位的功能:
( 1) 进入系统的正常初始化;
( PC) = 0000H,
单片机从 0000H单元执行程序;
( 2) 使系统摆脱困境 。
2.5.1 复位信号要求:
高电平;
应持续 24个振荡周期 ( 即两个机器周期以上 ) 。
第二章 MCS-51单片机原理
25.2 复位方式复位电路第二章 MCS-51单片机原理复位后内部寄存器状态