或I/O口的控制,这部分时序对于分析、设计硬件接口电路至关重要。 时钟电路设计
时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。 1.内部时钟方式
AT89S51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图2-13是AT89S51内部时钟方式的电路。
图2-14 AT89S51的外部时钟方式电路
C1和C2的典型值通常选择为30pF。电容大小会影响振荡器频率高低、振荡器的稳定性和起振的快速性。晶振频率范围通常是1.2~12MHz。晶体频率越高,单片机速度就越快。速度快对存储器的速度要求就高,印制电路板的工艺要求也高,即线间的寄生电容要小。晶体和电容应尽可能与单片机靠近,以减少寄生电容,保证振荡器稳定、可靠地工作。为提高温度稳定性,采用温度稳定性能好的电容。
常选6MHz或12MHz的石英晶体。随着集成电路制造工艺技术的发展,单片机的时钟频率也在逐步提高,已达33MHz。
2.外部时钟方式
用现成的外部振荡器产生脉冲信号,常用于多片AT89S51同时工作,以便于多片AT89S51单片机之间的同步,一般为低于12MHz的方波。
外部时钟源直接接到XTAL1端,XTAL2端悬空,见图2-14。 机器周期、指令周期与指令时序 各种指令时序与时钟周期相关。 1.时钟周期
时钟控制信号的基本时间单位。若晶振频率为fosc,则时钟周期Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。 2.机器周期
CPU完成一个基本操作所需时间为机器周期。执行一条指令分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读或写数据等。每12个时钟周期为1个机器周期。
1个机器周期包括12个时钟周期,分6个状态:S1~S6。每个状态又分两拍:P1和P2。因此,一个机器周期中的12个时钟周期表示为S1P1、S1P2、S2P1、S2P2、?、S6P2,如图2-16所示。
图2-13 内部时钟方式电路
3.指令周期
图2-16 AT89S51的机器周期
执行一条指令所需的时间。简单的单字节指令,取出指令立即执行,只需一个机器周期的时间。而有些复杂的指令,如转移、乘、除指令则需两个或多个机器周期。 从指令执行时间看:
单字节和双字节指令一般为单机器周期和双机器周期; 三字节指令都是双机器周期; 乘、除指令占用4个机器周期。
复位操作和复位电路
单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就使AT89S51 复位操作
复位时,PC初始化为0000H,程序从0000H单元开始执行。
除系统的正常初始化外,当程序出错(如程序跑飞)或操作错误使系统处于死锁状态时,需按复位键使RST脚为高电平,使AT89S51摆脱“跑飞”或“死锁”状态而重新启动程序。 复位操作还对其他一些寄存器有影响,这些寄存器复位时的状态见表2-7。 由表2-7可看出,复位时,SP=07H ,而P0~P3引脚均为高电平。
在某些控制应用中,要注意考虑P0~P3引脚的高电平对接在这些引脚上的外部电路的影响。
例如,当P1口某个引脚外接一个继电器绕组,当复位时,该引脚为高电平,继电器绕组就会有电流通过,就会吸合继电器开关,使开关接通,可能会引起意想不到的后果。
复位电路设计
由复位电路实现。AT89S51片内复位电路结构见图2-17。
复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。 复位电路采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路如图2-18所示。
对于CMOS型单片机,由于在RST引脚内部有一个下拉电阻,可将电阻R去掉,而将电容C选为10?F。
图2-17 片内复位电路结构 图2-18 上电复位电路
上电自动复位是给电容C 充电加给RST引脚一个短的高电平信号,此信号随着VCC对电容C 的充电过程而逐渐回落,即RST引脚上的高电平持续时间取决于电容C 充电时间。为保证系统可靠复位,RST引脚上的高电平必须维持足够长的时间。
除了上电复位外,有时还需要按键手动复位。按键手动复位有电平和脉冲两种方式。 按键手动复位电路见图2-19。
脉冲复位是利用RC 微分电路产生的正脉冲来实现的,脉冲复位电路见图2-20。图中阻容参数适于6MHz时钟。
图2-19 按键电平复位电路 图2-20 按键脉冲复位电路
低功耗节电模式
两种低功耗节电工作模式:空闲模式(idle mode)和掉电保持模式(power down mode)。 掉电保持模式下,VCC可由后备电源供电。
两种节电模式可通过PCON的位IDL和位PD的设置来实现。格式如下图所示。
PCON寄存器各位定义:
SMOD:串行通信波特率选择(该位见第7章的介绍)。 ━ :保留位。
GF1、GF0:通用标志位,两个标志位用户使用。
PD: 掉电保持模式控制位,PD=1,则进入掉电保持模式。 IDL:空闲模式控制位,若IDL=1,则进入空闲运行模式。 2.8.1 空闲模式 1. 空闲模式进入
如把PCON中的IDL位置1,由图2-22,则把通往CPU的时钟信号关断,便进入空闲模式。虽然振荡器运行,但是CPU进入空闲状态。所有外围电路(中断系统、串行口和定时器)仍继续工作,SP、PC、PSW、
A、P0~P3端口等所有其他寄存器、内部RAM和SFR中内容均保持进入空闲模式前状态。 2. 空闲模式退出
两种方法退出,响应中断方式,硬件复位方式。
空闲模式下,若任一个允许的中断请求被响应时,IDL位被片内硬件自动清0,从而退出空闲模式。当执行完中断服务程序返回时,将从设置空闲模式指令的下一条指令(断点处)继续执行程序。
当使用硬件复位退出空闲模式时,在复位逻辑电路发挥控制作用前,有长达两个机器周期时间,单片机要从断点处(IDL位置1指令的下一条指令处)继续执行程序。在这期间,片内硬件阻止CPU对片内RAM的访问,但不阻止对外部端口(或外部RAM)的访问。
为了避免在硬件复位退出空闲模式时出现对端口(或外部RAM)
的不希望的写入,在进入空闲模式时,紧随IDL位置1指令后的不应是写端口(或外部RAM)的指令。 掉电运行模式
1. 掉电模式的进入
用指令把PCON寄存器的PD位置1,便进入掉电模式。由图2-22,在掉电模式下,进入时钟振荡器的信号被封锁,振荡器停止工作。
由于没有时钟信号,内部的所有功能部件均停止工作,但片内RAM和SFR的原来的内容都被保留,有关端口的输出状态值都保存在对应的特殊功能寄存器中。 2. 掉电模式的退出
两种方法:硬件复位和外部中断。硬件复位时要重新初始化SFR,但不改变片内RAM的内容。只有当VCC恢复到正常工作水平时,只要硬件复位信号维持10ms,便可使单片机退出掉电运行模式。 掉电和空闲模式下的WDT
掉电模式下振荡器停止,意味着WDT也就停止计数。用户在掉电模式下不需操作WDT。
退出有两种方法:硬件复位和外部中断。当用硬件复位退出掉电模式时,对WDT的操作与正常情况一样。中断方式退出掉电模式时,应使中断输入保持足够长时间的低
电平,以使振荡器达到稳定。当中断变为高电平之后,该中断被执行,在中断服务程序中复位寄存器WDTRST。在外部中断引脚保持低电平时,为防止WDT溢出复位,在系统进入掉电模式前先对寄存器WDTRST复位。
在进入空闲模式前,应先设置AUXR中的WDIDLE位,以确认WDT是否继续计数。
当WDIDLE=0,空闲模式下的WDT保持继续计数。为防止复位单片机,用户可设计一定时器。该定时器使器件定时退出空闲模式,然后复位WDTRST,再重新进入空闲模式。
当WDIDLE=1,WDT在空闲模式下暂停计数,退出空闲模式后,方可恢复计数。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库AT89S51单片机 - 图文(4)在线全文阅读。
相关推荐: