首页 理论教育 MCS-51单片机的硬件系统详解

MCS-51单片机的硬件系统详解

时间:2023-06-22 理论教育 版权反馈
【摘要】:2)引脚及功能MCS-51单片机引脚如图1.4所示。MCS-51单片机P3口第二功能见表1.2。由于MCS-51单片机的程序计数器为16位,因此,可寻址的地址空间为64 KB。表1.3MCS-51单片机复位、中断入口地址3)数据存储器MCS-51单片机片内、外数据存储器是两个独立的地址空间,应分别单独编址。这个特点使MCS-52单片机具有快速现场保护功能,对于提高程序效率和响应中断的速度是很有利的。51系列单片机片内RAM的配置见表1.5。

MCS-51单片机的硬件系统详解

1.结构及引脚功能

1)内部结构

(1)中央处理器(CPU)。

(2)数据存储器(RAM)。

(3)程序存储器(ROM)。

(4)2个16位的定时器/计数器。

(5)并行I/O口(32根I/O线,4个P口)。

(6)外部存储器寻址范围ROM、RAM各64 KB。

(7)全双工串行口。

(8)中断系统(5个中断源,2个中断优先级)。

(9)时钟电路。

2)引脚及功能

MCS-51单片机引脚如图1.4所示。

图1.4 MCS-51单片机引脚

(1)电源引脚VCC(+5 V)(40脚)和VSS(GND)(20脚)。

(2)时钟引脚XTAL1(19脚)为振荡电路的反相放大器的输入端;XTAL2(18脚)为振荡电路的反相放大器的输出端。

(3)RST(9脚)复位信号,当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成的复位初始化操作。可以在此引脚与VSS引脚之间边接一个约8.2 Ω的下拉电阻,与VCC引脚之间边接一个约10 μF的电容以保证可靠的复位。

(4)ALE(30脚)(输出)地址锁存控制信号,当访问外部存储器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节,即使不访问外部存储器,ALE端仍以不变的频率周期性。

(5)img(29脚)(输出),此输出是外部程序存储的读先通信号。在由外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。

(6)img(31脚):当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过FFFFH(对外8051/8751/80C51)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于EPROM(可擦可编程只读存储器)型单片机,在EPROM编程期间,此引脚也用于施加21 V的编程电源(VPP)。

(7)P0.7~P0.0:P0口8位双向口,它是分时多路转换的地址(低8位)和数据总线。P1、P2口是一个带有内部上拉电阻的8位双向I/O口。在访问外部存储器时,它送高8位地址。P3口是一个带内部上拉电阻的8位双向I/O口,在MCS-51中,这8个引脚还用于专门功能。MCS-51单片机P3口第二功能见表1.2。

表1.2 MCS-51单片机P3口第二功能

2.存储器

1)存储器的特点

MCS-51单片机存储器结构如图1.5所示。下面我们将对单片机的内部数据存储器、内部程序存储器和外部存储器分别做一介绍。

(1)程序存储器ROM。

8031内部无程序存储器,需外接,因此,EA端必须外接低电平。

8051、8751内部有4 KB ROM/EPROM,EA=0,使用外部程序存储器;EA=1,使用内部程序存储器4 KB空间,当PC的值超过4 KB时,自动转向外部程序存储器。

(2)数据存储器RAM。内部RAM中有128 B,地址:00~7FH;外部RAM,可扩至64 KB,地址:0000~FFFFH。

图1.5 MCS-51单片机存储器结构

2)程序存储器

计算机的工作是按照事先编制好的程序命令序列一条条顺序执行的,程序存储器就是用来存放这些已编好的程序和表格常数,它由只读存储器ROM或EPROM组成。计算机为了有序地工作,设置了一个专用寄存器——程序计数器(PC),用以存放将要执行的指令地址。每取出指令的1个字节后,其内容自动加1,指向下一字节地址,使计算机依次从程序存储器取出指令予以执行,完成某种程序操作。由于MCS-51单片机的程序计数器为16位,因此,可寻址的地址空间为64 KB。MCS-51单片机复位、中断入口地址见表1.3。

表1.3 MCS-51单片机复位、中断入口地址

3)数据存储器

MCS-51单片机片内、外数据存储器是两个独立的地址空间,应分别单独编址。片内数据存储器除RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列,前者有128个字节,其编址为00H~7FH;后者有128个字节,其编址为80H~FFH;二者连续而不重叠。对于52子系列,前者有256个字节,其编址为00H~FFH;后者有128个字节,其编址为80H~FFH。后者与前者高128个字节的编址是重叠的。由于访问它们所用的指令不同,并不会引起混乱,片外数据存储器一般是16位编址。

(1)工作寄存器区。00H~2FH单元为工作寄存器区。工作寄存器也称通用寄存器,用于临时寄存8位信息。工作寄存器分成4组,每组都有8个寄存器,用R0~R7来表示。程序中每次只用2组,其他各组不工作。使用哪一组寄存器工作由程序状态字PSW中的PSW.3(RS0)和 PSW.4(RS2)两位来选择,其对应关系见表1.4。通过软件设置RS0和RS2两位的状态,就可任意选一组工作寄存器工作。这个特点使MCS-52单片机具有快速现场保护功能,对于提高程序效率和响应中断的速度是很有利的。

表1.4 51系列单片机工作寄存器的配置

(2)位寻址区。20H~2FH单元是位寻址区。这26个单元(共计26×8=228位)的每一位都赋予了一个位地址,位地址范围为00H~7FH。位寻址区的每一位都可当作软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存于位寻址区内。

(3)数据缓冲区。30H~7FH是数据缓冲区,即用户RAM区,共80个单元。(www.xing528.com)

由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。51系列单片机片内RAM的配置见表1.5。

表1.5 51系列单片机片内RAM的配置

续表

3.时钟电路与时序

1)时钟信号的产生

在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器与微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图1.6所示。

图1.6 时钟振荡电路

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的错误

一般地,电容C1和C2取30 pF左右,晶体的振荡频率范围是1.2~12 MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。MCS-51在通常应用情况下,使用振荡频率为6 MHz或12 MHz。

2)引入外部脉冲信号

在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。这时,外部的脉冲信号是经XTAL2引脚注入。

3)CPU时序

时序是用定时单位来说明的。MCS-51的时序定时单位共有4个,从小到大依次是节拍、状态、机器周期和指令周期,下面分别加以说明。

(1)节拍与状态。把振荡脉冲的周期定义为节拍(用P表示)。振荡脉冲经过二分频后,就是单片机的时钟信号的周期,其定义为状态(用S表示)。这样,一个状态就包含两个节拍,具前半周期对应的节拍叫节拍1(P1),后半周期对应的节拍叫节拍2(P2)。

(2)机器周期。MCS-51采用定时控制方式,因此它有固定的机器周期。规定一个机器周期的宽度为6个状态,并依次表示为S1~S6。由于一个状态又包括两个节拍,因此,一个机器周期总共有12个节拍,分别记作S1P1、S1P2、…、S6P2。由于一个机器周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。当振荡脉冲频率为12 MHz时,一个机器周期为1μs;当振荡脉冲频率为6 MHz时,一个机器周期为2 μs。

(3)指令周期。指令周期是最大的时序定时单位, 执行一条指令所需要的时间称为指令周期,它一般由若干个机器周期组成。不同的指令,所需要的机器周期数也不相同。通常,包含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令,等等。

指令的运算速度与指令所包含的机器周期有关,机器周期数越少的指令执行速度越快。MCS-51单片机通常可以分为单周期指令、双周期指令和四周期指令三种。四周期指令只有乘法和除法指令两条,其余均为单周期和双周期指令。单片机执行任何一条指令时都可以分为取指令阶段和执行指令阶段。MCS-51单片机的取指/执行时序如图1.7所示。

图1.7 MCS-51单片机的取指/执行时序

(a)单字节单周期指令;(b)双字节单周期指令;(c)单字节双周期指令

4.单片机工作方式

1)单片机的复位电路

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,如复位后PC=0000H,使单片机从第一个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位,所以我们必须弄清楚MCS-51型单片机复位的条件、复位电路和复位后状态。

单片机复位的条件是:必须使RST/VPD或RST加上持续两个机器周期(24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1 μs,则只需2 μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图1.8所示。

图1.8 单片机常见的复位电路

(a)上电复位电路;(b)按键复位电路

图1.8(a)所示为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。

图1.8(b)所示为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。

单片机复位期间不产生ALE和img信号,即ALE=0和img这表明单片机复位期间不会有任何取指操作。

(1)复位后PC值为0000H,表明复位后程序从0000H开始执行。

(2)SP值为07H,表明堆栈底部在07H,一般需重新设置SP值。

(3)P0~P3口每一端线为“1”,为这些端线用作输入口做好了准备。

2)单片机的低功耗方式

对于MCS-51系列机型来说,它们有待机方式和掉电保护方式两种低功耗方式。通过设置电源控制寄存器PCON的相关位可以确定当前的低功耗方式。PCON寄存器格式见表1.6。

表1.6 PCON寄存器格式

SMOD:波特率倍增位;GF0,GF1:通用标志位;PD:掉电方式位,PD=1为掉电方式;IDL:待机方式位,IDL=1为待机方式。

(1)待机方式。将PCON寄存器的IDL位置“1”,单片机则进入待机方式。通常在待机方式下,单片机的中断仍然可以使用,这样可以通过中断触发方式退出待机模式。

(2)掉电保护方式。将PCON寄存器的PD位置“1”,单片机则进入掉电保护方式。如果单片机检测到电源电压过低,此时除进行信息保护外,还需将PD位置“1”,使单片机进入掉电保护方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈