§ 2-3 CPU时序
§ 2-4 并行 I / O端口第二章 MCS-51单片机结构原理
§ 2-2 单片机存储器配置内容提要,
§ 2-1 单片机内部结构及引脚
§ 2-1 MCS-51单片机内部结构及引脚
MCS-51系列单片机是因特公司 1980推出的高档 8位机分为二个子系列,、三个版本:
/8KB8052
//803252子系列
4KB/8751
/4KB8051
//8031
51子系列MCS-
51
EPROM掩膜MOS
存储器类型单片机系列一,MCS-51单片机内部结构内部结构框图如下:
单片机结构框图频率基准源 计数器内部总线中断中断控制 并行 I/O 口 串行输入 /输出
8051
振荡器及定时电路
4 K /8K 字节程序存储器 ROM
128 /256 字节数据存储器 RAM
2 个 16 位定时器 /计数器
8051
CPU
64K 字节总线扩展控制可编程 I/O 口
4 × 8 位可编程串行口
1,中央处理单元 CPU( 8位)
用于数据处理、位操作(位测试、置位、复位)
2,只读存储器 ROM( 4KB或 8KB)
用于永久性存储应用程序,掩膜 ROM,EPROM,EEPROM
3,随机存取存取器 RAM( 256B)
用于程序运行中存储工作变量和数据
4,并行输入 /输出口 I / O( 32线)
用作系统总线、扩展外存,I / O接口芯片
5,串行输入 /输出口 UART ( 二线)
串行通信、扩展 I / O接口芯片
6,定时 /计数器 T( 16位增量可编程)
它与 CPU之间各自独立工作,当它计数满时向 CPU中断
7,时钟电路 fosc
分为内部振荡器、外接振荡电路
8,中断系统五源中断、两级优先,可编程进行控制。
二,MCS-51单片机外部引脚封装形式,
见右图:
01p.
71p.
SSV
1XTAL2XTAL
RD73p /.
WR63p /.
1T53p /.
0T43p /.
1INT33p /.
0INT23p /.
TXD13p /.
RXD03p /.
RST
02p.
72p.
CCV
00p.
70p.
PSEN
PROGALE /
EAVpp /
1
8
20
1819
17
16
15
14
13
12
11
10
9
21
28
40
39
32
29
30
31
8051
引脚分类:
1、主电源引脚 Vss,Vcc
2,外接晶振引脚 XTAL1,XTAL2
3,控制或复位引脚
RST / VPD —— 当出现两个机器周期高电平时,
单片机复位 。
复位后,P0 ~ P3 输出高电平; SP寄存器为 07H;
其它寄存器全部清 0; 不影响 RAM状态。
参考复位电路如下:
= 0 时,只访问外部程序存储器,即外 ROM
= 1 时,访问内部程序存储器,即内 ROM
/ Vpp —— 内 \外 ROM选择端对于 8751单片机编程时,该端施加编程电压
4、输入 /输出引脚
P0.0 ~ P0.7 ; P1.0 ~ P1.7 ; P2.0 ~ P2.7 ; P3.0 ~ P3.7
四个 I / O口,每口八条线;还兼作地址 /数据线。
EA
EA
EA
ALE / PROG —— 地址锁存控制端提供 1/6 fosc振荡频率;为其内的 EPROM输入编程脉冲
PSEN —— 外部程序存储器的读选通信号端
§ 2-2 MCS-51单片机内存配置一,MCS-51单片机的内存结构
H0000
0080H
RAM内部
00FFH
能寄存器特殊功
0FFFFH
)(
外部
K64
RAM
数据存储器
H0000
007FH
0FFFFH
0FFFH
1EAR OM?外部
0EAR OM?内部H0000
程序存储器
1000H
物理上分为,4个空间,即片内 ROM,片外 ROM
片内 RAM,片外 RAM
逻辑上分为,3个空间,
即程序内存 ( 片内,外 ) 统一编址 MOVC
数据存储器 ( 片内 ) MOV
数据存储器(片外) MOVX
二,程序存储器寻址范围,0000H ~ FFFFH 容量 64KB,即 地址长度,16位
1EA?,寻址内部 ROM;
0EA?,寻址外部 ROM。
当 PC值超过片内 ROM容量时会自动转向 外部存储器空间。
EA8031单片机 接低电平。
作 用,存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:
0000H —— 系统复位,PC指向此处;
0003H —— 外部中断 0入口
000BH —— T0溢出中断入口
0013H —— 外中断 1入口
001BH —— T1溢出中断入口
0023H —— 串口中断入口
002BH —— T2溢出中断入口三、内部数据存储器物理上分为两大区域,00H ~ 7FH即 128B内 RAM区
80H ~ FFH即 SFR区。
组通用寄存器区第 0
组通用寄存器区第 1
组通用寄存器区第 2
组通用寄存器区第 3
)(位地址位寻址区
FH7~H00
区用户 RA M
H00
H08/H07
H10/FH0
H18/H17
H20/FH1
H30/FH2
FH7
R0,R1,R2,R3,R4,R5,R6,R7
即可位寻址,又可字节寻址数据缓冲区、堆栈区、工作单元位寻址区( 20H— 2FH) 16个字节。
16*8=128位,每一位都有一个位地址,范围为,00H— 7FH,位地址区也可作为一般 RAM使用。
位寻址区单元地址 位地址
EH2
FH2
H20
H21
H77
FH7
H76
EH7
H75
DH7
H74
CH7
H73
BH7
H72
AH7
H71
H79
H70
H78
H07
FH0
H06
EH0
H05
DH0
H04
CH0
H03
BH0
H02
AH0
H01
H09
H00
H08
四,特殊功能寄存器
MCS-51单片机内共有 22个特殊功能寄存器,包括 PC及 SFR。
PC为程序计数器 。 它是一个双字节寄存器,寻址范围为,
0000H ~ FFFFH,即 0 ~ 64KB。
SFR为特殊功能寄存器 。 其寻址空间,80H ~ FFH
其中,51子系列有 18个寄存器,占有 21个字节;
52子系列有 21个寄存器,占有 26个字节 。
51子系列 SFR的地址分配及位地址见下页表:
寄存器 位地址 /位定义 地址
F7 F6 F5 F4 F3 F2 F1 F0B F0H
E7 E6 E5 E4 E3 E2 E1 E0ACC E0
D7 D6 D5 D4 D3 D2 D1 D0PSW
CY AC F0 RS1 RS0 OV / P
D0H
BF BE BD BC BB BA B9 B8IP B8H
B7 B6 B5 B4 B3 B2 B1 B0P3
P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0
B0H
IE A8H
A7 A6 A5 A4 A3 A2 A1 A0P2
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
A0H
SBUF 99H
+
+
SCON
98H
97 96 95 94 93 92 91 90 P1
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
90H
TH1 8DH
TH0 8CH
TL1 8BH
TL0 8AH
TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H
8F 8E 8D 8C 8B 8A 89 88 TCON
TF1 TR1 T F0 TR0 IE1 IT1 IE0 IT0
88H
PCON SMOD / / / GF1 GF0 PD IDL 87H
DPH 83H
DPL 82H
SP 81H
87 86 85 84 83 82 81 80 P0
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
80H
注意:
1,表中共有 5个双字节寄存器。
2,PC也为双字节寄存器,但是 不在 80H ~ FFH
范围内。
3、表中,凡地址能被 8整除的寄存器都是可位寻址的寄存器 。
各寄存器的名称:
1、算术运算寄存器
( 1) A——累加器。
( 2) B——B寄存器,乘、除法运算用。
( 3) PSW——程序状态字寄存器:包含程序运行状态、信息。
CY —— 进位 /借位标志;位累加器 。
AC —— 辅助进 /借位标志;用于十进制调整。
F0 —— 用户定义标志位;软件置位 /清零。
OV —— 溢出标志; 硬件置位 /清零。
P —— 奇偶标志; A中 1的个数为奇数 P = 1; 否则 P = 0。
RS1,RS0 —— 寄存器区选择控制位。
0 0,0区 R0 ~ R7
0 1,1区 R0 ~ R7
1 0,2区 R0 ~ R7
1 1,3区 R0 ~ R7
P—RS0RS1OVF0ACCY PSW
2、指针寄存器
( 1)程序计数器 PC
指明即将执行的下一条指令的地址 (程序存储器地址 ),
在物理上独立,复位时 PC = 0000H。
( 2) 堆栈指针 SP
指明栈顶元素的地址,8位,可软件设置初值,复位时
SP = 07H。
( 3) 数据指针 DPTR
@DPTR; 指明访问的数据存储器的单元地址,16位,
寻址范围 64KB。 DPTR = DPH + DPL,也可单独使用。
3、并行输入 /输出端口寄存器 P0,P1,P2,P3实为相应端口锁存器。
4、串行输入 /输出端口
( 1)串行数据缓冲器 SBUF
是物理上独立的两个寄存器,共同使用一个地址( 99H) 。
( 2) 串行控制 /状态寄存器 SCON
控制监视串行口的工作状态
( 3)电源控制寄存器 PCON
控制单片机的低功耗工作方式及波特率选择。
5、中断系统
( 1)中断优先级寄存器 IP,2级优先,可软件设定
( 2)中断允许寄存器 IE
6,定时 /计数器
( 1)定时器方式寄存器,TMOD
( 2) 定时器控制寄存器,TCON
( 3) 计数寄存器,TH0,TL0; TH1,TL1。 可用于设定计数初值。
五、址空间
( 1)内部 RAM 20H ~ 2FH共 16个单元可按位寻址 128位。
( 2) SFR 80H ~ FFH 51子系列,有 11个寄存器,83位; 52子系列,有 12个寄存器,93位。
六、外部数据存储器
( 1)容量最大扩展到 64KB
( 2) 寻址范围,0000H ~ FFFFH
( 3) 寻址方式:间接寻址可用 R0,R1DPTR
时钟的基本概念启动单片机后,指令执行顺序:
取指令 分析 执行
§ 2-3 CPU时序
ALE
2S 6S 2S 6S3S 4S 5S 3S 4S 5S1S 1S
一个机器周期
P1 P2 P1 P2
2S1S 6S 1S
单字节单周期指令例,INC A
读操作码 )读下一个操作码(丢弃
3S 4S 5S
以上是单周期单字节指令在执行过程中 ALE脉冲、取指 操作、
执行操作等在时间上的先后关系。
时序的定义:
单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。
执令周期,即从取指到执行完,所需时间。
不同机器指令周期不一样;即使相同机器,不同的指令其指令周期也不一样。
机器周期,机器的基本操作周期。个指令周期含若干机器周期(单、双、四周期)
每个状态周期含两个振荡周期,即相位 P1,P2。
振荡周期,由振荡时钟产生。
振荡周期 Tosc = 1/fosc
一个机器周期 = 12个振荡周期 = 12× 1/fosc 。
例如,若 fosc = 12MHz,则一个机器周期 = 1μ s。
状态周期,一个机器周期分 6个状态周期 Si
ALE
2S1S 6S 1S
单字节单周期指令例,INC A
读操作码 )读下一个操作码(丢弃
3S 4S 5S
2S1S 6S 1S3S 4S 5S
读操作码 读第二个字节双字节单周期指令例,ADD A,DATA
2S1S 6S3S 4S 5S 2S1S 6S3S 4S 5S
读操作码 读操作码(丢弃)
单字节双周期指令例,INC DPTR
2P1P1S 2S 6S 2P1P1S 2S 6S3S 4S 5S 3S 4S 5S
当 ALE( ALE信号为振荡频率 6分频)正跳变时,对应单片机进行一次读指令操作。一个机器周期二次出现,在
S1P2和 S2P1及 S4P2和 S5P1期间。
有效宽度为一个状态。
( 1)单字节单周期指令,INC A
只需进行一次读指令操作(指令只有一个字节),当第二个 ALE有效时,由于 PC没有加 1,读出的还是原指令。
属于一次无效操作。
( 2)双字节单周期指令,ADD A,#data
ALE两次读操作都有效,第一次读操作码(指令第一字节),第二次读立即数(指令第二字节)。
( 3)单字节双周期指令,INC DPTR
两个机器周期共进行四次读指令操作,但其后三次的读操作都是无效的。
时钟的产生:
XTAL1( 19),XTAL( 18)。
1,内部方式与作为反馈元件的片外晶体或陶瓷谐振器一起组成一个自激振荡器。
2、外部方式
CMOS工艺的 8031,其 XTAL1接外信号; XTAL2
可悬空。 HMOS工艺的 8031,其 XTAL2接外信号;
XTAL1接地。
小结:
1,MCS— 51存储结构分配是怎样的?
2,SFR中各寄存器的名称?
布置作业,P35 2-5
§ 2-4 并行 I / O 端口四个端口、双向、每个口包含一个锁存器、一个输出驱动器和二个输入缓冲器。
一,P0口
1、结构
P0口电路图如下图
P0口:地址 /数据复用口
Q
Q
D
CP写入内部总线读锁存器读引脚
x.0P
CCV
数据地址 / 控制锁存器
MUX
&
2、通用 I / O口
1)读(端口外数据 内部寄存器)
方式 1(读锁存器) Q G2 D 内部总线,
适于,读 — 修改 — 写,
方式 2(读引脚),P0.x G1 D 内部总线。
作为通用 I / O使用,是一个准双向口:
,在输入数据时应先把口置 1,使两个 FET都截止,引脚处于悬浮状态,可作高阻抗输入,
2)写(片内数据 端口)
数据 锁存 MUX P0.x
3)地址 /数据总线口控制 MUX
写:地址 /数据为 1,P0·x —— 高地址 /数据为 0,P0·x —— 低读:经缓冲器 G1读入
4)负载能力可带 8个 TTL输入,驱动 NMOS时,接上拉电阻。
总结特点:
( 1) P0口可作通用 I / O口使用,又可作地址 /数据总线口;
( 2) P0既可按字节寻址,又可按位寻址;
( 3) P0作为输入口使用时:是准双向口;
( 4)作通用 I / O 口输出时:是开漏输出;
( 5)作地址 /数据总线口时,P0是一真正双向口,而作通用 I / O口时,只是一个准双向口。
二,P1口
1、结构:
只能作 I / O口用,且是一个准双向口。
内部已有上拉电阻,不是开漏输出口。
2、特点:
( 1)无地址 /数据口功能
( 2)可按字节寻址,也可按位寻址
( 3)作 I / O输入口时:是一准双向口,不是开漏输出。
三,P2口
1、结构
2、特点:
( 1) 当 P2口作为通用 I / O时,是一准双向口。
( 2) 从 P2口输入数据时,先向锁存器写,1” 。
( 3) 可位寻址,也可按字节寻址
( 4) 可输出地址高 8位。
四,P3口
1、结构
2、特点:
( 1) 作通用 I / O时,,选择输出功能,应保持高电平,
( 2) 工作于第二功能时,该位锁存器应置 1,
( 3) 作输入口时,输出锁存器和选择输出功能端都应置 1
( 4) 第二功能专用输入,取自输入通道第一缓冲器
( G1) 输出端,通用输入信号取自,读引脚,。
小结:
1,P0口:地址低 8位与数据线分时使用端口,
2,P1口:按位可编址的输入输出端口,
3,P2口:地址高 8位输出口
4,P3口:双功能口。若不用第二功能,也可作通用 I / O 口。
5、按三总线划分:
地址线,P0低八位地址,P2高八地址;
数据线,P0输入输出 8位数据;
控制线,P3口的 8位加上 /PSEN,ALE共同完成 控制总线。
布置作业,P35 2-2
2-4。