第2章McS51单片机的硬件结构 21MCS51单片机的物理结构及逻辑结构 22MCS51单片机的片外总线结构 23MCS51单片机的存储器配置 24CPU的时序及辅助电路 2.1MCS-51单片机的物理结构及逻辑结构 211MCS51单片机的封装和引脚分配 212MCS51单片机的系统结构 213MCS51单片机的引脚定义 21.4MCS51单片机硬件结构要点 215MCS51单片机内部结 216输入输出(IO)端口结构 212MCS51单片机的系统结构 (1)一个8位微处理器CPU (2)数据存储器RAM和特殊功能寄存器SFR (3)内部程序存储器ROM。 (4)两个定时数器,用以对外部事件进行计数,也可用作定时器。 (5)四个8位可编程的O(输入输出)并行端口,每个端口既可做输 入,也可做输出 (6)一个串行端口,用于数据的串行通信。 (7)中断控制系统 (8)内部时钟电路。 213MCS51单片机的引脚定义 输入输出口:P0、P1、P2、P3 RST(复位)/VPD(后备电源引入端) EA(读内外ROM控制)NVpp(编程电压 ALE(地址低8位锁存)/PROG(编程脉冲) PSEN外部ROM读选通信号 XTAL1、XTAL2外接晶振端 vcc+5v电源 vss地
第2章 MCS-51单片机的硬件结构 2.1 MCS-51单片机的物理结构及逻辑结构 2.2 MCS-51单片机的片外总线结构 2.3 MCS-51单片机的存储器配置 2.4 CPU的时序及辅助电路 2.1 MCS-51单片机的物理结构及逻辑结构 2.1.1 MCS-51单片机的封装和引脚分配 2.1.2 MCS-51单片机的系统结构 2.1.3 MCS-51单片机的引脚定义 2.1.4 MCS-51单片机硬件结构要点 2.1.5 MCS-51单片机内部结 2.1.6 输入/输出(I/O)端口结构 2.1.2 MCS-51单片机的系统结构 (1)一个8位微处理器CPU。 (2)数据存储器RAM和特殊功能寄存器SFR。 (3)内部程序存储器ROM。 (4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。 (5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输 入,也可做输出。 (6)一个串行端口,用于数据的串行通信。 (7)中断控制系统。 (8)内部时钟电路。 2.1.3 MCS-51单片机的引脚定义 • 输入输出口:P0、P1、P2、P3 • RST(复位)/ VPD(后备电源引入端) • EA (读内/外ROM控制)/Vpp(编程电压) • ALE(地址低8位锁存)/ PROG(编程脉冲) • PSEN 外部ROM读选通信号 • XTAL1、XTAL2 外接晶振端 • Vcc +5v电源 • Vss 地
P3口的第二功能 214MCS51单片机硬件结构要点 1.内部程序存储器(ROM)和内部数据存储器(RAM)容量(如表2-1 所示) 2.输入输出(IO)端口 3.外部程序存储器和外部数据存儲器寻址密间 4.中断与堆栈 5.定时汁数器与寄存墨区 6.指令系统 215MCS5单片机内部结构 运算器 运算器由8位算术逻辑运算单元ALU( Arithmetic logic unit)、8位累 加器ACC( Accumulator)、8位寄存器B、程序状态字寄存器PsW ( Program Status Word)、8位暂存寄存器TMP和TMP等组成。 2.控制器 主要由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、 数据指针DPTR、时钟发生器及定时控制逻辑等组成。 2.1.6输入/输出(ⅣO)端口结构 MCS51单片机有4个双向并行的8位MO口P~P3,P0口为三 态双向口,可驱动8个TIL电路,P、P、B口为准双向口(作为输入 时,口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电 路 1.P0口的结构 2.P口的结构 3.P2口的结构 4.P3口的结构
• P3口的第二功能 2.1.4 MCS-51单片机硬件结构要点 1.内部程序存储器(ROM)和内部数据存储器(RAM)容量(如表2-1 所示)。 2.输入/输出(I/O)端口 3.外部程序存储器和外部数据存储器寻址空间 4.中断与堆栈 5.定时/计数器与寄存器区 6.指令系统 2.1.5 MCS-51单片机内部结构 1.运算器 运算器由8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累 加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW (Program Status Word)、8位暂存寄存器TMP1和TMP2等组成。 2.控制器 主要由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、 数据指针DPTR、时钟发生器及定时控制逻辑等组成。 2.1.6 输入/输出(I/O)端口结构 MCS-51单片机有4个双向并行的8位I/O口P0~P3,P0口为三 态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入 时,口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电 路。 1.P0口的结构 2.P1口的结构 3.P2口的结构 4.P3口的结构
22MCS51单片机的片外总线结构 微型计算机中的总线通常分为 (1)地址总线(AB):地址总线宽度为16位,由P口经地址锁存器提 供低8位地址(Aa-A7);P2口直接提供高8位地址(A~A15)。地址信 号是由CPU发出的,故地址总线是单方向的。 (2)数据总线(DB):数据总线宽度为8位,用于传送数据和指令, 由P0口提供。 (3)控制总线(CB):控制总线随时掌握各种部件的状态,并根据需 要向有关部件发出命令。 23MCS51单片机的存储器配置 231存储器空间分配 232片内数据存储器 233片外数据存储器 234程序存储器 2.3.1存储器空间分配 空间分配图 物理上有四个存储器空间: (a)程序存储器[片内、片外] (b)数据存储器[片内、片外 逻辑上有三个存储空间 (a)片内外统一的64K程序存储地址空间 (b)256B内部数据存储器地址空间 (c)64KB外部数据存储器地址空间 使用上有五个存储器空间 可被直接寻址的数据地址空间 位地址空间 外部的数据地址空间 程序地址空间 ●可间接寻址的数据空间 特点:1、数据、程序存储器空间分开 2、物理存储器有内外之分
2.2 MCS-51单片机的片外总线结构 微型计算机中的总线通常分为: (1)地址总线(AB):地址总线宽度为16位,由P0口经地址锁存器提 供低8位地址(A0-A7);P2口直接提供高8位地址(A8~A15)。地址信 号是由CPU发出的,故地址总线是单方向的。 (2)数据总线(DB):数据总线宽度为8位,用于传送数据和指令, 由P0口提供。 (3)控制总线(CB):控制总线随时掌握各种部件的状态,并根据需 要向有关部件发出命令。 2.3 MCS-51单片机的存储器配置 2.3.1 存储器空间分配 2.3.2 片内数据存储器 2.3.3 片外数据存储器 2.3.4 程序存储器 2.3.1 存储器空间分配 空间分配图 物理上有四个存储器空间: (a)程序存储器 [片内、片外] (b)数据存储器 [片内、片外] 逻辑上有三个存储空间: (a)片内外统一的64KB程序存储地址空间 (b) 256B内部数据存储器地址空间 (c) 64KB外部数据存储器地址空间 使用上有五个存储器空间: ⚫ 可被直接寻址的数据地址空间 ⚫ 位地址空间 ⚫ 外部的数据地址空间 ⚫ 程序地址空间 ⚫ 可间接寻址的数据空间 特点:1、数据、程序存储器空间分开。 2、物理存储器有内外之分
232片内数据存储器 片内数据存储器低128单元,00H7FH (1)寄存器区:32个8位寄存器,00H-1FH分为4组。每组8个寄存器,分别为R0R7,4个组的选择 由状态字中的RS1、RS0的值确定。见教材P20 (2)位地址区:20H2FH,共16个字节单元,128个位单元 (3)用户RA区:30H7F通常堆栈放在此区 2.片内数据存储器高128单元,80H0FF (1)专用(特殊功能)寄存器SFR:22个,其中21个可寻址,PC不可寻址。 A、程序计数器PC(16位):用于存放将要执行的指令地址(程序存储器地址),并具有自动加1的 功能。 B、累加器A(8位):存放运算中的操作数据及运算后的结果 C、B寄存器(8位):用于乘除法中的第二个操作数和运算后的结果 D、程序状态字PSW(8位):寄存着程序运行中的状态信息,各位代表的状态见教材P20 E、栈指针寄存器SP(8位):其值始终推向栈的顶部,PUSH时值先加1,后存数 F、其它专用寄存器:数据指针寄存器DPTR(16位)、端口寄存器P0/P1/P2/P3(8位)、串行数据 缓冲器SBU(8位)、定时/计数器T0/T(16位)、控制寄存器IP/IE/TMoD/TCON/ SCON PCON(8位 (2)专用寄存器的字节寻址:只能使用直接寻址方式,在指令中既可以使用寄存器符号表示,也可 以使用寄存器地址表示。 (3)专用寄存器的位寻址:21个SFR中的11个可以位寻址。见教材P22表2-4 232片外数据存储器 外部数据存储器又称外部RAM,当片内RAM不能满足数量上 的要求时,可通过总线端口和其他LO口扩展外部数据RAM,其最大容 量可达64K字节。 在片外数据存储器中,数据区和扩展的ⅣO口是统一编址的, 使用的指令也完全相同,因此,用户在应用系统设计时,必须合理地进 行外部RAM和O端口的地址分配,并保证译码的唯一性。 233程序存储器 程序存储器的包括片内和片外程序存储器两个部分。其主要用来存放编好的用 户程序和表格常数,它以16位的程序计数器PC作为地址指针,故寻址空间为64KB。 8051片内有4kB(0000FFFH),其中特殊保留单元:系统复位后PC=0000H 0000H0002H无条件转移指令
2.3.2 片内数据存储器 • 片内数据存储器低128单元,00H—7FH。 (1)寄存器区:32个8位寄存器,00H—1FH分为4组。每组8个寄存器,分别为R0—R7,4个组的选择 由状态字中的RS1、RS0的值确定。见教材P20 (2)位地址区:20H—2FH,共16个字节单元,128个位单元。 (3)用户RAM区:30H—7FH,通常堆栈放在此区。 2. 片内数据存储器高128单元,80H—0FFH。 (1)专用(特殊功能)寄存器SFR:22个,其中21个可寻址,PC不可寻址。 A、程序计数器PC(16位):用于存放将要执行的指令地址(程序存储器地址),并具有自动加1的 功能。 B、累加器A(8位):存放运算中的操作数据及运算后的结果。 C、B寄存器(8位):用于乘除法中的第二个操作数和运算后的结果。 D、程序状态字PSW(8位):寄存着程序运行中的状态信息,各位代表的状态见教材P20。 E、栈指针寄存器SP(8位):其值始终指向栈的顶部,PUSH时值先加1,后存数。 F、其它专用寄存器:数据指针寄存器DPTR(16位)、端口寄存器P0/P1/P2/P3(8位)、串行数据 缓冲器SBUF(8位)、定时/计数器T0/T1(16位)、控制寄存器IP/IE/TMOD/TCON/SCON/PCON(8位) (2)专用寄存器的字节寻址:只能使用直接寻址方式,在指令中既可以使用寄存器符号表示,也可 以使用寄存器地址表示。 (3)专用寄存器的位寻址:21个SFR中的11个可以位寻址。见教材P22表2-4 2.3.2 片外数据存储器 外部数据存储器又称外部RAM,当片内RAM不能满足数量上 的要求时,可通过总线端口和其他I/O口扩展外部数据RAM,其最大容 量可达64K字节。 在片外数据存储器中,数据区和扩展的I/O口是统一编址的, 使用的指令也完全相同,因此,用户在应用系统设计时,必须合理地进 行外部RAM和I/O端口的地址分配,并保证译码的唯一性。 2.3.3 程序存储器 程序存储器的包括片内和片外程序存储器两个部分。其主要用来存放编好的用 户程序和表格常数,它以16位的程序计数器PC作为地址指针,故寻址空间为64KB。 8051片内有4kB(0000H—0FFFH),其中特殊保留单元:系统复位后PC=0000H 0000H—0002H 无条件转移指令
0003H000 AH NT0中断地址区 000BH_0012H T0中断地址区 0013H001AH INT1中断地址区 001BH0022H T1中断地址区 0023H002AH串行中断地址区 24CPU的时序及辅助电路 24.1单片机的时钟电路 2.4.2振荡周期、时钟周期、机器周期和指令周期 243MCS51单片机指令的取指和执行时序 244单片机复位电路及复位状态 241单片机的时钟电路 单片机时钟电路通常有两种形式: 1.内部振荡方式:MCS-51单片机片内有一个用于构成振荡器的高增益 反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。 把放大器与作为反馈元件的晶体振荡器或陶瓷诸振器连接,就构成了内 部自激振荡器并产生振荡时钟脉冲(如图1所示) 2.外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片 机内(如图2所示)。 24.2振荡周期、时钟周期、机器周期和指令周期 1·振荡周期:为单片机提供时钟信号的振荡源的周期。 2.时钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。 3.机器周期:通常将完成一个基本操作所需的时间称为机器周期。 4.指令周期:是指CPU执行一条指令所需要的时间。一个指令周期通 常含有1~4个机器周期。 若MCS51单片机外接晶振为12MH小时,则单片机的四个周期的具体值 为 振荡周期=1/12MHz=1/12us=0.0833us 时钟周期=1/6us=0167us 机器周期=1μs 指令周期=1~4us
0003H—000AH INT0中断地址区 000BH—0012H T0中断地址区 0013H—001AH INT1中断地址区 001BH—0022H T1中断地址区 0023H—002AH 串行中断地址区 2.4 CPU的时序及辅助电路 2.4.1 单片机的时钟电路 2.4.2 振荡周期、时钟周期、机器周期和指令周期 2.4.3 MCS-51单片机指令的取指和执行时序 2.4.4 单片机复位电路及复位状态 2.4.1 单片机的时钟电路 单片机时钟电路通常有两种形式: 1.内部振荡方式:MCS-51单片机片内有一个用于构成振荡器的高增益 反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。 把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内 部自激振荡器并产生振荡时钟脉冲(如图1所示)。 2.外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片 机内(如图2所示)。 2.4.2 振荡周期、时钟周期、机器周期和指令周期 1.振荡周期:为单片机提供时钟信号的振荡源的周期。 2.时钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。 3.机器周期:通常将完成一个基本操作所需的时间称为机器周期。 4.指令周期:是指CPU执行一条指令所需要的时间。一个指令周期通 常含有1~4个机器周期。 若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值 为: 振荡周期=1/12MHz=1/12μs=0.0833μs 时钟周期=1/6μs=0.167μs 机器周期=1μs 指令周期=1~4μs
243MCS51单片机指令的取指和执行时序 244单片机复位电路及复位状态 复位电路 单片机复位电路包括片内、片外两部分。外部复位电路就是为内 部复位电路提供两个机器周期以上的高电平而设计的。MCS51单片机 通常采用上电自动复位和按键手动复位两种方式。如图所示 2.单片机复位后的状态 单片机运行出错或进入死循环时,可按复位键重新运行。21个特殊 功能寄存器复位后的状态为确定值,如表所示。 复位后,P0P3口输出高电平,初值07H写入栈指针SP,清“0 其余的特殊功能寄存器和程序计数器PC。只要 RESETA保持高电平,单 片机循环复位 RESET由高变低后,单片机从0地址开始执行程序。单片 机初始复位不影响内部RAM的状态,包括工作寄存器R0R7
2.4.3 MCS-51单片机指令的取指和执行时序 2.4.4 单片机复位电路及复位状态 1.复位电路 单片机复位电路包括片内、片外两部分。外部复位电路就是为内 部复位电路提供两个机器周期以上的高电平而设计的。MCS-51单片机 通常采用上电自动复位和按键手动复位两种方式。如图所示。 2.单片机复位后的状态 单片机运行出错或进入死循环时,可按复位键重新运行。21个特殊 功能寄存器复位后的状态为确定值,如表所示。 复位后,P0—P3口输出高电平,初值07H写入栈指针SP,清“0” 其余的特殊功能寄存器和程序计数器PC。只要RESET保持高电平,单 片机循环复位RESET由高变低后,单片机从0地址开始执行程序。单片 机初始复位不影响内部RAM的状态,包括工作寄存器R0—R7