新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 80C51单片机上电复位和复位延时的时序分析

80C51单片机上电复位和复位延时的时序分析

作者:时间:2011-05-18来源:网络收藏

  由于标准逻辑相对简单,源只有RST一个(相对新型来说,源比较单一),因此各种原因所导致的复位活动以及复位状态的进入,都要依靠在外接引脚RST上施加一定时间宽度的高电平信号来实现。

  标准不仅复位源比较单一,而且还没有设计内部复位的功能,因此必须借助于外接阻容支路来增加环节,如图3(a)所示。其实,外接电阻R还是可以省略的,理由是一些CMOS芯片内部存在一个现成的下拉电阻Rrst。例如,AT89系列的Rrst阻值约为50~200 kΩ;P89V51Rx2系列的Rrst阻值约为40~225 kΩ,如图4所示。因此,在图3(a)基础上,复位电路还可以精简为图3(b)所示的简化电路(其中电容C的容量也相应减小了)。

按此在新窗口浏览图片
图4 复位引脚RST内部电路

  在每次断电之后,须使延时电容C上的电荷立刻放掉,以便为随后可能在很短的时间内再次加电作好准备。否则,在断电后C还没有充分放电的情况下,如果很快又加电,那么RC支路就失去了它应有的延迟功能。因此,在图3(a)的基础上添加一个放电二极管D,复位延时电路就变成了如图3(c)所示的改进电路。也就是说,只有RC支路的充电过程对电路是有用的,放电过程不仅无用,而且会带来潜在的危害。于是附加一个放电二极管D来大力缩短放电持续时间,以便消除隐患。二极管D只有在单片机断电的瞬间(即VCC趋近于0 V,可以看作VCC对地短路)正向导通,平时一直处于反偏截止状态。

3 上电复位失败的2种案例

  假如上电复位延迟时间不够或者根本没有延时过程,则单片机可能面临以下2种危险,从而导致CPU开始执行程序时没有一个良好的初始化,甚至陷入错乱状态。

① 在时钟振荡器输出的时钟脉冲还没有稳定,甚至还没有起振之前,就因释放RST信号的锁定状态而放纵CPU开始执行程序。这将会导致程序计数器PC中首次抓取的地址码很可能是0000H之外的随机值,进而引导CPU陷入混乱状态。参考图5所示的实测信号曲线。

按此在新窗口浏览图片
图5 在时钟未稳定前释放RST的情况

② 在电源电压还没有上升到合适范围之前(自然也是时钟尚未稳定之前),就释放RST信号的锁定状态,将会使单片机永远感受不到复位信号、经历不到复位过程、包含PC在内的各个SFR内容没有被初始化而保留了随机值,从而导致CPU从一个随机地址开始执行程序,进而也陷入混乱状态。参考图6所示的实测信号曲线。

按此在新窗口浏览图片
图6 在电源和时钟均未稳定前释放RST的情况



评论


相关推荐

技术专区

关闭