知识树
0.零碎知识点
(1)堆栈指针SP:指示栈顶在内部RAM中的位置,复位后SP被初始化为07H,堆栈实际从08H开始。
(2)从P2口输入数据时,先向锁存器输入“1”
1.MCS-51的硬件结构
可参考绪论中的表格:
型号 | 芯片引脚数 | 片内ROM | 片内RAM | I/O数据线 | 定时器/计数器 | 串行口 |
---|---|---|---|---|---|---|
8031 | 40 | 无 | 128B | 32 | 2 | 1 |
8051 | 40 | 4KB ROM | 128B | 32 | 2 | 1 |
8751 | 40 | 4KB EPROM | 128B | 32 | 2 | 1 |
8032 | 40 | 无 | 256B | 32 | 3 | 1 |
8052 | 40 | 8KB ROM | 256B | 32 | 3 | 1 |
8752 | 40 | 8KB EPROM | 256B | 32 | 3 | 1 |
2.MCS-51的引脚
(只总结常用的)
2.1 EA引脚
EA高电平时访问片内ROM,EA低电平时访问片外ROM。PC值超过0FFFH(4KB)时,自动转向外部ROM执行程序。
2.2 I/O口
名称 | 功能 |
---|---|
P0 | 1.双向I/O口;2.访问外部存储器时分时复用的低8位地址和数据总线 |
P1 | 双向I/O口 |
P2 | 1.双向I/O口;2.访问外部存储器时提供高8位地址总线 |
P3 | 1.双向I/O口;2.具有第二功能 |
P3口的第二功能:
I/O口 | 第二功能 | 说明 |
---|---|---|
P3.0 | RXD | 串行口数据接收端 |
P3.1 | TXD | 串行口数据发送端 |
P3.2 | INT0 | 外中断0 |
P3.3 | INT1 | 外中断1 |
P3.4 | T0 | 定时器/计数器0 |
P3.5 | T1 | 定时器/计数器1 |
P3.6 | WR | 外部RAM写信号 |
P3.7 | RD | 外部RAM读信号 |
3.MCS-51的CPU
3.1 运算器
(1)算数逻辑运算单元ALU
(2) 累加器A
(3) 程序状态字寄存器PSW
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
---|---|---|---|---|---|---|---|
Cy | Ac | F0 | RS1 | RS0 | OV | P |
P:奇偶标志位
P=1 累加器A中“1”的个数为奇数
P=0 累加器A中“1”的个数为偶数
3.2 控制器
(1)程序计数器PC
注意其存放的是:下一条要执行的指令在程序存储器ROM中的地址。
4.MCS-51存储器的结构
4.1 程序存储器ROM
(1)通过EA引脚决定访问片内ROM还是片外ROM;
(2)程序存储器的某些单元被固定:
固定单元 | 地址 |
---|---|
启动地址 | 0000H |
外部中断0(INT0) | 0003H |
定时器0(T0) | 000BH |
外中断1(INT1) | 0013H |
定时器1(T1) | 001BH |
串行口 | 0023H |
4.2 内部RAM
注意:
(1)对于增强型如8052,高128字节的内部RAM只能间接寻址,对于8051片内高128字节为SFR,只能通过直接寻址。
4.3 位地址空间
MCS-51在RAM和SFR中共有211个可位寻址的位地址,其中RAM有128个,SFR有83个。
RAM:
直接位地址空间有128位,00H-7FH。位于片内RAM的20H——2FH单元。
SFR:
有83位,可被位寻址的寄存器有11个,共有位地址88个,但有5个未用,故有83个。
4.4 外部RAM
MCS-51最多可外扩64KB的RAM。
4.5 特殊功能寄存器SFR
5. MCS-51的时钟电路与复位电路
5.1 时序
(1)1个机器周期=12个振荡周期
5.2 单片机复位后的状态
寄存器 | 复位状态 |
---|---|
PC | 0000H |
P0-P3 | FFH |
SP | 07H |
RAM | 随机值 |
其余SFR | 0 |