微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 555定时器的电路结构与功能,由555定时器实现看门狗电路

555定时器的电路结构与功能,由555定时器实现看门狗电路

时间:04-23 来源:网络整理 点击:

首先在单片机初始化时用指令"ORBPORT1,#01H"置P1.0 为"1",则三极管T 导通,555 芯片的R 为"1",TH、TR 端经R、C 充电,电位逐渐上升,当电位还低于1/3 UDD 时,OUT 输出"1",D端对地断路,电容C 正常充电,(http://www.diangon.com/版权所有)一旦程序跑飞或进入死循环,在电位上升到高于2/3 UDD时仍没有"喂狗",则OUT输出变为"0",经三极管T拉低单片机的RESET 脚,并使复位电容放电,这时

  D 端对地短路,电容C 也通过Rf 放电,当TH、TR端电位放电到低于1/3 UDD(注意)时,OUT输出重新变为"1",单片机进入复位状态。

  "喂狗"是指复位看门狗,在本电路中只须运行以下指令即可。

  ANDB PORT1,#0FEH ;使P1.0 为"0"

  SKIP ;空操作,用于延时

  SKIP ;以使TR电压降到1/3 UDD为宜

  ORB PORT1,#01H ;使P1.0 为"1"

  当P1.0 被置为"0"时,555 定时器的R 端为"0",三极管T 截止。R 端为"0"则555 芯片被复位,OUT 输出为"0",同时D 端对地短路,电容C放电为重新延时做准备,但因为三极管的截止,此时OUT 输出虽然也为"0"却并不影响单片机的RESET脚,单片机正常工作,从而区分开了"喂狗"与系统故障时看门狗发生作用的不同之处。

  4、需要注意的问题

  这里仍然有一个问题需要注意,那就是555定时器的正常工作与否完全依赖于单片机P1.0的状态,但在某些干扰比较严重的情况下,单片机的误操作是有可能改变P1.0 的预置状态的,若单片机在进入死循环之前,P1.0 被误置为了"0",看

  门狗始终处于"被喂"的状态,那这个电路便就无法再发挥作用了,对这种情况我们可用软件冗余的方法来应对,就是在程序的关键地方多次插写看门狗的激活指令:

  NOP

  ORB PORT1,#01H

  值得提醒一下的是这里"NOP"指令的作用不容忽视,可使跑飞的程序纳入正轨,不致冲散后面的关键指令。不过尽管如此软件冗余的应用也还是有一个前提的,那就是跑飞的程序必须落在程序区,冗余的指令得到执行方可生效,若跑飞的程序落在了非程序区,仅凭指令冗余技术便不可靠了,这时我们便还须借助其他抗干扰技术的支持,如软件陷阱、标志技术,本质可靠性程序的设计等,在此不再赘述,但这些都必须包含在一个可靠的程序内———毕竟,单片机系统来自干扰的影响是立体的,那么,我们的应对策略便也须是全方位的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top