- 单片机及接口技术项目教程
- 李建兰主编
- 1857字
- 2025-03-01 11:47:58
2.3 MCS-51单片机内部结构
2.3.1 单片机内部结构
MCS-51系列单片机内部结构框图如图2-1所示。

图2-1 MCS-51单片机内部结构框图
2.3.2 单片机信号引脚
图2-2是MCS-51单片机的信号引脚图,其为标准40引脚双列直插式集成芯片,各部分引脚功能如下。

图2-2 MCS-51单片机信号引脚图
1.电源引脚
VCC(40):电源输入端。
GND(20):接地端。
2.外接晶振引脚
XTAL1(18)是片内振荡器的反相放大器输入端,XTAL2(19)则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1上,而XTAL2悬空。采用内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1~24MHz内选择,如可选择12MHz、16MHz、20MHz、24MHz等。
3.复位引脚
RST/VPD(9):在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个引脚保持高电平,51芯片便循环复位。复位后P0~P3口均置1,4个I/O口的各个引脚表现为高电平,程序计数器PC和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,单片机芯片从ROM的0000H处开始运行程序。
4.输入/输出(I/O)引脚
MCS-51单片机共有4个8位并行I/O端口,称为P0(P0.0~P0.7)、P1(P1.0~P1.7)、P2(P2.0~P2.7)和P3(P3.0~P3.7)口,每个端口都各有8条I/O口线,每条I/O口线都能独立地用做输入或输出。有关各端口内部结构将在后续内容中介绍。
5.其他的控制或复用引脚
1)(30)
当CPU访问片外存储器时,ALE(地址锁存允许)的输出信号用于控制锁存P0口输出的低8位地址,从而实现P0口数据与低字节地址的分时复用。单片机上电正常工作后,即使CPU不访问外部存储器,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6)。
在访问外部数据存储器时,出现一个ALE脉冲。对Flash存储器编程时,这个引脚用于输入编程脉冲PROG。
2)(29)
该引脚是片外ROM的选通信号输出端,低电平有效,以实现对片外ROM的读操作。当MCS-51单片机由片外ROM取指令或常数时,每个机器周期输出2个脉冲即2次有效。但访问片外RAM时,将不会有脉冲输出。3)(31)
该引脚为外部访问允许端。当该引脚访问片外ROM时,应输入低电平。要使MCS-51单片机只访问片外ROM(地址为0000H~FFFFH),这时该引脚必须保持低电平;而要使用片内ROM时,该引脚必须保持高电平。对Flash存储器编程时,该引脚用于施加VPP编程电压。
2.3.3 单片机时钟电路
晶振的作用:单片机要能工作,必须有一个标准时钟信号,而晶振就为单片机提供了标准时钟信号。
CPU的时序就是CPU在执行指令时所需控制信号的时间顺序。单片机的时序定时单位从小到大依次为:时钟周期、状态周期、机器周期和指令周期。
时钟周期(或称振荡周期):时钟周期是为单片机提供时钟信号的振荡源的周期,是时序中最小的时间单位。
状态周期:状态周期是振荡源信号经二分频后形成的时钟脉冲信号的周期,一个状态周期(或状态S)是振荡周期的两倍。
机器周期:一条指令的执行过程分为几个基本操作,机器周期是完成一个基本操作所需要的时间。一个机器周期包含6个时钟周期,也就等于12个振荡周期。
指令周期:指令周期是指CPU执行一条指令所需要的时间,是时序中的最大时间单位。由于单片机执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不相同,一个指令周期通常含有1~4个机器周期。
若MCS-51单片机外接晶振为12MHz,则单片机的4个周期的具体值为:
振荡周期=1/12μs=0.0833μs
时钟周期=1/6μs=0.167μs
机器周期=1μs
指令周期=1~4μs
MCS-51单片机的时钟信号通常由两种方式产生:一种是内部振荡方式,另一种是外部时钟方式,如图2-3所示。

图2-3 时钟电路
1.内部振荡方式
在MCS-51单片机内部有一个高增益的反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2。内部振荡方式是在XTAL1和XTAL2引脚两端跨接石英晶体振荡器,与两个电容构成稳定的自激振荡电路。电容C1和C2通常取30pF,对振荡频率有微调作用,晶振频率范围是1.2~24MHz。
2.外部时钟方式
外部时钟方式是把外部已有的时钟信号引入到单片机内。
对8051而言:外部时钟由XTAL2输入,直接送入内部时钟电路,XTAL1接地。
对CHMOS型80C51而言:外部时钟由XTAL1输入,XTAL2悬空。
一般要求外部时钟信号为高电平,持续时间大于20ns且频率低于12MHz的方波。
2.3.4 单片机复位电路
复位是单片机的初始化操作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。单片机的复位引脚RST出现两个机器周期以上的高电平时,单片机就执行复位操作。
单片机常见的复位操作有上电自动复位和按键手动复位两种方式,其电路如图2-4所示。
上电自动复位是通过外部复位电路的电容C充电来实现的。
按键手动复位是通过复位端经电阻与电源VCC接通而实现的,它兼备上电复位功能。

图2-4 单片机复位电路