复位电路
在80C51中,最常见的复位电路就是下图的上电复位电路。
它能有效地实现上电复位和手动复位。RST引脚高电平有效。
其有效时间应持续24个振荡周期以上才能完成复位操作。若使用6MHz晶振,则需持续4us以上才能完成复位操作。
在通电瞬间,由于RC电路的充电过程,在RST端出现一定宽度的正脉冲,只要正脉冲保持10mS以上,就能使单片机自动复位。
CPU在第二个及其周期内执行内部复位操作,以后每个机器周期重复一次,直至RST端电平变低。
在单片机复位器件,ALE和~PSEN信号都不产生。复位操作将对部分专用寄存器产生影响,复位后,这些内部寄存器的状态发生变化,如下表。
时钟电路
在80C51单片机内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。
根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式。
在内部时钟方式中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pf,晶振频率取值在1.2~12MHz之间。
对于外接时钟电路,要去XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。
晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。
P1信号在每个状态的前半周期有效,P2信号在每个状态的后半周期有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。
指令时序
单片机的基本操作周期称作机器周期,一个机器周期由6个状态组成,每个状态由两个时钟信号P1和P2构成,故一个机器周期可依次表示为S1P1,S1P2,……,S6P1,S6P2,即一个机器周期共有12个振荡脉冲。
1)振荡周期振荡源的周期或外部输入时钟的周期。
2)状态周期是振荡周期的两倍,分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的传送操作。
3)机器周期由6个状态组成,如果把一条指令的执行过程分为几个基本操作,那么完成一个基本操作的时间就是机器周期。
4)指令周期指令周期就是执行一条指令所占用的全部时间,通常为1~4个机器周期。
下图给出了80C51单片机典型取指,执行时序。
由图可知,在每个机器周期内,地址锁存信号ALE两次有效,一次在S1P2和S2P1之间,一次在S4P2和S5P1之间。
单片机的低功耗方式
通过设置电源控制寄存器PCON的相关位可以确定当前的低功耗方式。
1)待机方式将PCON寄存器的IDL位置1,单片机进入待机方式。此时,振荡器仍然处于工作状态,并且向中断逻辑,串行口和定时/计数器电路提供时钟,但是向CPU提供的时钟的电路被断开,因此CPU停止工作。
通常在待机方式下,单片机的中断仍然可以使用,这样可以通过中断除法方式退出待机模式。
2)掉电保护方式将PCON寄存器的PD位置1,单片机则进入掉电保护方式。如果单片机检测到电源电压过低,此时除进行信息保护外,还需将PD位置1,使单片机进入掉电保护方式。
此时,单片机停止工作,但是内部RAM中的数据仍被保存。如果有备用电源如80C51,待电源正常后,硬件复位信号持续10mS后使单片机退出掉电方式。