看门狗的实现.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
看门狗的实现

标题:单片机看门狗电路 2009-04-22 10:50:36 51单片机看门狗电路 采用89C51单片机和X25045组成的看门狗电路,X25045硬件连接图如图2所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU复位。图2电路中,CPU的复位信号共有3个:上电复位(C1、R2),人工复位(S、R1、R2)和Watchdog复位(C2、R3),通过或门综合后加到RESET端。C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU的振荡器已经在工作。 图2 X25045看门狗电路硬件连接图 ??? 看门狗定时器的预置时间是通过X25045的状态寄存器的相应位来设定的。如表2所示,X25045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPROM的工作设置有关。 表2 X25045状态寄存器 WD1=0,WD0=0,预置时间为1.4s。 WD1=0,WD0=1,预置时间为0.6s。 WD1=1,WD0=0,预置时间为0.2s。 WD1=1,WD0=1,禁止看门狗工作。 ??? 看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。编程时,可在软件的合适地方加一条喂狗指令,使看门狗的定时时间永远达不到预置时间,系统就不会复位而正常工作。当系统跑飞,用软件陷阱等别的方法无法捕捉回程序时,则看门狗定时时间很快增长到预置时间,迫使系统复位。 ??? 以下是C语言编写的看门狗程序部分。 #include reg51.h sbit cs=P1^2;/*片选信号由P1.2产生*/ sbit sck=P1^3; /*时钟信号由P1.3 产生*/ sbit si=P1^0; /*SI由P1.0产生*/ sbit so=P1^1; /*SO由P1.1产生*/ sbit c=ACC^7; /*定义位变量*/ bdata unsigned char com; void tran() /*发送一字节数据子函数*/ { unsigned char i; for(i=0; i8; i++) { ACC=com; /*将数据放入a中*/ si=c; sck=0; /*sck产生一个上跳变*/ sck=1; com=com1; /*左移一位*/ } return; } main() { com=0x06; /*发写读使能命令*/ cs=0; tran(); cs=1; com=0x01; /*发写状态字命令*/ cs=0; tran(); com=0x00; /*定时1.4s*/ tran(); cs=1; ...;系统正常运行的程序部分 } ??? 需要注意的是,在程序正常运行的时候,应该在适当的地方加一条喂狗指令,使系统正常运行时的定时时间达不到预置时间。系统就不会复位。喂狗指令如下。 main() { ...;系统正常运行的程序部分 { cs=0; /*产生cs} } ??? X25045的看门狗电路使用十分方便。X25045内部还集成了512BEEPROM和电压运行监视系统,只需这样一块芯片,外加晶振和复位电路就可以组成单片机的应用系统,非常适合于便携式仪器和嵌入式系统的设计。 摘要:单片机控制系统“看门狗”电路的有效性,除硬件电路的可靠性以外,主要取决于如何正确给“看门狗”电路进行复位(即“喂狗”),文章在介绍了一种采用MAX706和89C52构成的硬件电路的基础上,给出了一种新颖可靠的“看门狗”电路软件设计方法。 关键词:抗干扰 单片机 看门狗 MAX706 89C52 随着MCS-51系列单片机的发展,其芯片价格在不断下降,但同时也带来了单片机芯片的抗干扰问题,该问题可能导致一些智能型仪器仪表单片机工业控制系统发生“死机”。笔者通过近几年的设计实践及不断试验,总结了一套可靠的“看门狗”硬件电路及软件设计方法。由于一些专业期刊曾经刊登过许多关于“看门狗”硬件电路构成的文章,同时也详细的关于“看门狗”电路非正常失效故障原因的分析及针对性软件设计技巧[1],本文给出了一个采用MAX706和89C52构成的“看门狗”硬件电路,并且从新的角度说明了如何确保“看门狗”电路的正常工作,同时给出了它的软件设计方法。 1 “看门狗”硬件电路简述 现以MAX706监控电路为例(见图1)来说明“看门狗”硬件电路的工作过程,我们知道,MAX706是一种性能优良的低功耗CMOS监控电路芯片,其内部电路由上电复位、可重触发“看门狗”定时器及电压比较器等组成[2]。MAX706只要在1.6秒时间内检测到WCI引脚有高低电平跳变信

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档