单片机控制技术及应用
上QQ阅读APP看书,第一时间看更新

2.6 80C51单片机的时钟与复位

单片机本身是一个复杂的同步时序系统,为保证同步工作方式的实现,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。而所谓时序,则是指指令执行过程中各信号之间的相互时间关系。

复位是单片机的硬件初始化操作。系统复位后,单片机系统才能开始正常工作。

2.6.1 80C51单片机的时钟

1.振荡电路

80C51芯片中的高增益反相放大器,其输入端为引脚XTAL1,输出端为引脚XTAL2。通过这两个引脚在芯片外并联石英晶体振荡器和两只电容器(电容C1C2一般取30pF)。石英晶体为感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器,如图2-11所示。

除使用石英晶体振荡器外,若对时钟频率要求不高,还可以用电感或陶瓷振荡器,但使用陶瓷振荡器时要把电容的容量稍微提高一些。

978-7-111-44921-8-Chapter02-43.jpg

图2-11 80C51单片机自激振荡电路

2.分频电路

振荡电路产生的振荡信号并不直接为单片机所用,而要进行分频,经分频后才能得到单片机各种相关的时钟信号,如图2-12所示。

978-7-111-44921-8-Chapter02-44.jpg

图2-12 80C51单片机的时钟电路框图

系,否则会造成概念上的错误),在二分频的基础上再进行三分频产生ALE信号,在二分频的基础上再进行六分频得到机器周期信号。

3.晶振频率

晶振频率是指晶体振荡器的振荡频率,也就是振荡电路的脉冲频率,所以也称振荡频率。80C51的晶振频率范围一般为1.2~33MHz。随着技术的发展,单片机的晶振频率还在逐步提高,如现在一些高速芯片的晶振频率已达40MHz。晶振频率是单片机的一项重要性能指标。因为单片机的时钟信号是通过振荡信号分频得到的,所以晶振频率直接影响着时钟信号频率。晶振频率高,系统的时钟频率就高,单片机运行速度也就快。晶振频率不但影响速度,而且对单片机的工作电流也有一定的影响,所以在选择晶振频率时,要兼顾速度、功耗和线路工艺。

4.从外部引入脉冲信号驱动时钟电路

978-7-111-44921-8-Chapter02-45.jpg

图2-13 外部脉冲源接法

高频振荡信号除了由振荡电路产生外,还可以从外部脉冲源直接引入。直接引入外部脉冲信号的情况多发生在由多片单片机组成的系统中,因为统一从一个外部脉冲源引入脉冲信号,可以保证各单片机之间时钟信号的同步。对于80C51芯片,外部脉冲信号经XTAL1引脚注入,但同时要把XTAL2引脚悬空,其连接电路如图2-13所示。

实际使用时,引入的脉冲信号应为高低电平持续时间大于20ns的矩形波,且脉冲频率应低于12MHz。注意,尽管80C51与8051兼容,但当使用外部脉冲信号驱动芯片的时钟电路时,应注意它们之间的差别。80C51的外部脉冲信号经XTAL1引脚接入,而8051则是经XTAL2引脚接入。两种芯片之所以有如此差别,是芯片内部的原因,80C51的时钟电路是由XTAL1引脚信号驱动的,而8051则是由XTAL2引脚信号驱动的。

2.6.2 80C51单片机的定时单位

80C51的时序就是80C51在执行指令时所需控制信号的时间顺序。80C51单片机的时序定时单位从小到大依次为,时钟周期(状态周期)、机器周期和指令周期。

1.时钟周期

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

2.机器周期

80C51采用定时控制方式,因此它有固定的机器周期。规定一个机器周期的宽度为6个状态,并依次表示为S1~S6。由于一个状态又包括两个节拍,因此,一个机器周期总共有12个节拍,分别记作S1P1、S1P2、…、S6P2。由于一个机器周期共有12个晶振周期,因此机器周期就是晶振脉冲的十二分频。

当晶振脉冲频率为12MHz时,一个机器周期为1μs;当晶振脉冲频率为6MHz时,一个机器周期为2μs。

3.指令周期

指令周期是最大的时序定时单位,执行一条指令所需要的时间称为指令周期。它一般由若干个机器周期组成。不同的指令,所需要的机器周期数也不相同。通常,包含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。指令的运算速度与指令所包含的机器周期有关,机器周期数越少的指令执行速度越快。80C51单片机通常可以分为单周期指令、双周期指令和四周期指令三种。四周期指令只有乘法和除法指令两条,其余均为单周期和双周期指令。

2.6.3 80C51单片机的复位方式与初始化状态

复位是单片机的硬件初始化操作。经复位操作后,单片机系统才能开始正常工作。

1.复位方式

80C51有复位信号引脚RST,用于从外界引入复位信号。复位操作比较简单,只有两种复位方式:加电复位和手动复位。

(1)加电复位

加电复位是指通过专用的复位电路产生复位信号。它是系统的原始复位方式,发生在开机加电时,是系统自动完成的。加电复位是任何单片机系统都具有最基本的功能。

(2)手动复位

手动复位也应通过专用的复位电路实现。在单片机系统中,手动复位是必须具有的功能。在调试或运行程序时,若遇到死机、死循环等情况,手动复位是摆脱这种尴尬局面的最常用方法。这时,手动复位所完成的是一次重新启动操作。

在实际系统中,总是把加电复位电路和手动复位电路结合在一起,形成一个既能加电复位,又能手动复位的公用复位电路。另外,目前已经出现了专用的复位芯片,如Maxim公司推出的MAX813L。该芯片具有4项基本功能:加电复位、手动复位、看门狗和掉电监视。

2.初始化状态

复位操作有:为一些专用寄存器设置初始状态、PSW清0、PC被赋值为0000H,以及为芯片的某些引脚设置电平状态等内容。复位操作后,部分专用寄存器(SFR)的初始化状态见表2-6。

表2-6 部分专用寄存器(SFR)的初始化状态

978-7-111-44921-8-Chapter02-46.jpg

完成复位操作共需24个状态周期。复位结束后,单片机从地址0000H开始执行程序。对于专用寄存器的复位状态,值得关注的是,PC为0000H,SP为07H,各I/O口锁存器为FFH,SBUF状态不定,其他寄存器大多被置为00H。此外,复位操作还对单片机的个别引脚信号有影响。例如,把ALE和PSEN信号变为无效状态,即ALE=0,PSEN=1。

2.6.4 80C51单片机的复位电路

复位电路用于产生复位信号,通过RST引脚送入单片机,进行复位操作。复位电路的好坏直接影响单片机系统工作的可靠性。

1.复位电路的分类

目前,在单片机系统中共使用过4种类型的复位电路:积分电路型、微分电路型、比较器型和看门狗型。其中前3种是在芯片外面用分立元器件或集成电路芯片搭建的;而最后一种位于芯片内部,是单片机芯片的一部分。对于片外复位电路,无论哪种类型,加电复位和手动复位都是必不可少的基本功能。下面把最常用的积分电路型和微分电路型复位电路做一简单说明。

(1)积分型

积分型复位电路是在积分电路的基础上形成的,用于产生低电平复位信号。图2-14所示为最基本的积分型复位电路及其演化过程。

(2)微分型

微分型复位电路是在微分电路的基础上形成的,用于产生高电平复位信号。图2-15所示为最基本的微分型复位电路。

978-7-111-44921-8-Chapter02-47.jpg

图2-14 积分型复位电路

978-7-111-44921-8-Chapter02-48.jpg

图2-15 微分型复位电路

2.80C51单片机的基本复位电路

80C51基本复位电路共有上电复位、按键电平复位和按键脉冲复位3种。其中上电自动复位是通过电容充电来实现的,比较简单的上电复位电路如图2-16a所示。只要电源UCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源即可完成系统的复位初始化。

手动复位是通过按键实现的,有电平方式和脉冲方式两种。其中按键电平复位是通过使复位端经电阻与UCC电源接通而实现的,电路如图2-16b所示。而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,电路如图2-16c所示。

上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于两个机器周期。

3.80C51芯片内复位电路

80C51的RST引脚是复位信号的输入端。复位信号RST是高电平有效,其有效时间应持续24个振荡脉冲周期(即2个机器周期)以上。若使用频率为6MHz的晶振,则复位信号持续时间应超过4μs才能有效。产生芯片内复位信号的电路逻辑如图2-17所示。

可见,整个复位电路包括芯片内、外两部分。外部电路产生的复位信号RST送施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,最后才得到内部复位操作所需要的信号。

978-7-111-44921-8-Chapter02-49.jpg

图2-16 80C51单片机的基本的复位电路

978-7-111-44921-8-Chapter02-50.jpg

图2-17 芯片内复位信号的电路