一种新的单片机“ 看门狗” 电路软件设计方法

合集下载

基于单片机按键控制看门狗仿真设计

基于单片机按键控制看门狗仿真设计

基于单片机按键控制看门狗仿真设计本文档旨在介绍《基于单片机按键控制看门狗仿真设计》的主题,并提供写作大纲的目的概述。

该文档将深入探讨如何利用单片机按键控制看门狗的仿真设计。

我们将详细介绍看门狗的概念和原理,并提供一个基于单片机按键的仿真设计案例。

通过本文档的阅读,读者将了解如何使用单片机按键来控制看门狗,在系统遇到异常情况时采取适当的措施来保护系统的稳定性和可靠性。

接下来,将按照以下大纲扩写内容,详细介绍《基于单片机按键控制看门狗仿真设计》的相关内容。

在介绍基于单片机按键控制看门狗的仿真设计之前,我们需要先了解单片机和看门狗的概念,并探讨为什么使用单片机按键控制看门狗是有意义的。

单片机是一种集成了微处理器核心、内存、输入/输出设备和其他功能模块的微型计算机系统。

它具有体积小、功耗低、成本低等特点,因而广泛应用于各种电子设备中。

看门狗(Watchdog)是一种用于检测和处理系统故障的硬件或软件机制。

它监视系统运行状态,并在系统发生故障时自动执行预定的纠错操作。

看门狗的主要作用是保障系统的稳定性和可靠性。

基于单片机按键控制看门狗的仿真设计就是利用单片机上的按键来控制看门狗的功能。

通过按下特定的按键,我们可以触发或关闭看门狗的工作,以解决系统故障或异常情况。

使用单片机按键控制看门狗具有以下意义:提高系统的稳定性:通过按键控制看门狗,可以及时检测和处理系统故障,保障系统的稳定运行。

简化系统调试过程:按键控制看门狗可以方便地触发系统故障模式,便于调试和定位问题。

提升系统的可靠性:看门狗机制可以在系统故障时自动执行纠错操作,提高系统的可靠性和容错能力。

综上所述,基于单片机按键控制看门狗的仿真设计是一种有效的解决方案,可以提高系统的稳定性、简化系统调试过程并提升系统的可靠性。

本文将阐述按键控制看门狗的仿真设计步骤,包括硬件和软件方面的具体要点。

硬件设计步骤准备所需材料和器件,包括单片机、按键、继电器等。

按照电路原理图连接各个器件,确保电路的正确性和稳定性。

C51单片机看门狗电路及程序设计方案

C51单片机看门狗电路及程序设计方案

C51单片机看门狗电路及程序设计案院系:信息工程学院年级:2010级电子一班禹豪电子一班训虎电子二班邓启新一、引言在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。

由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog)(1)看门狗电路基本原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连**,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

*此处设计原理实际上为下文中硬件看门狗设计思路。

(2)看门狗电路一般设计式“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计式。

硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。

如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。

常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等.软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的法实现(即利用单片机部定时器资源,通过编程模拟硬件看门狗工作式),以51系列为例:因在51单片机中有两个定时器,在利用部定时器资源来对主程序的运行进行监控时。

基于MAX706的可靠看门狗电路设计方法

基于MAX706的可靠看门狗电路设计方法

基于MAX706的可靠看门狗电路设计方法摘要:单片机控制系统“看门狗”电路的有效性,除硬件电路的可靠性以外,主要取决于如何正确给“看门狗”电路进行复位(即“喂狗"),文章在介绍了一种采用MAX706和89C52构成的硬件电路的基础上,给出了一种新颖可靠的“看门狗”电路软件设计方法。

关键词:抗干扰单片机看门狗 MAX706 89C52随着MCS-51系列单片机的发展,其芯片价格在不断下降,但同时也带来了单片机芯片的抗干扰问题,该问题可能导致一些智能型仪器仪表单片机工业控制系统发生“死机".笔者通过近几年的设计实践及不断试验,总结了一套可靠的“看门狗"硬件电路及软件设计方法。

由于一些专业期刊曾经刊登过许多关于“看门狗”硬件电路构成的文章,同时也详细的关于“看门狗”电路非正常失效故障原因的分析及针对性软件设计技巧[1],本文给出了一个采用MAX706和89C52构成的“看门狗"硬件电路,并且从新的角度说明了如何确保“看门狗"电路的正常工作,同时给出了它的软件设计方法。

1 “看门狗"硬件电路简述现以MAX706监控电路为例(见图1)来说明“看门狗”硬件电路的工作过程,我们知道,MAX706是一种性能优良的低功耗CMOS监控电路芯片,其内部电路由上电复位、可重触发“看门狗”定时器及电压比较器等组成[2]。

MAX706只要在1.6秒时间内检测到WCI引脚有高低电平跳变信号,则“看门狗”定时器清零并重新开始计时;若超出1.6秒后,WCI引脚仍无高低电平跳变信号,则“看门狗”定时器溢出,WDO引脚输出低电平,进而触发MR手动复位引脚,使MAC706复位,从而使“看门狗”定时器清零并重新开始计时,WDO 引脚输出高电平,MAX706的RST复位输出引脚输出大约200毫秒宽度的低电平脉冲,使单片机控制系统可靠复位,重新投入正常运行。

2 “看门狗”电路软件设计方法以往的“看门狗"电路复位指令(即“喂狗”)一般总是插入在主程序中,而且“喂狗”指令一般是脉冲式,可以连续用两条取反指令(如CPL P1。

基于单片机的智能照明控制系统设计-毕业论文

基于单片机的智能照明控制系统设计-毕业论文

基于单片机的智能照明控制系统设计摘要随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。

楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。

本文介绍了基于单片机AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。

该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对学校教室室内照明的控制。

系统设计包括硬件设计和软件设计两部分。

该照明控制系统的主控制器、分控制器分别是以AT89C51和AT89C2051单片机为基础,实现了通信、信号采集、控制与显示等功能。

使用光电子镇流器,使光源具备自动调节功能。

文中详细地描述了控制电路的设计过程,包括:光信号取样电路、人体信号采集电路、键盘与LED显示电路、RS485通信电路、照明灯控制电路、看门狗电路以及信号处理电路等。

对于软件设计主要有主控制器、分控制器的有线通信程序设计以及灯光控制、定时控制、键盘扫描与LED显示等程序设计。

工作时,光信号取样电路采集光照强弱、人体信号采集电路采集室内是否有人、是否为工作时间等信息并将信号送到单片机,单片机根据这些信息通过控制电路对照明设备进行开关操作,从而实现照明控制,以达到节能的目的。

关键词:智能控制,主控制器,分控制器,单片机,定时控制The Control System for Intelligent Lighting Based onSingle–chip MicrocomputerAuthor: Li GuozhongTutor: Sun ManAbstractWith the rapid development of electronic technology, the system of control based on Single-chip Microcomputer is widely applied in industry, agriculture, electric power, electron, intelligent building and so on. Microcomputer, as the subject and core of the embedded system of control, replaces the traditional system—electronic circuit. At the same time, the development and maturation of the intelligent building have established the substantial foundation for the popularization and application of the control system for lighting based on single-chip microcomputer。

DSP课程总结

DSP课程总结

《DSP原理与应用》课程报告指导老师韩阳班级信工0802姓名李明泽学号200843139考试号139正文提纲:(一)论文《几种监视保护单片机程序运行的有效办法》选自广东海洋大学工程学院范海红于2006年发表于《现代电子技术》杂志的一篇文章。

1.软件“陷阱法”a.什么事软件“陷阱”法b.软件“陷阱”法的缺陷2.软硬件相结合的方法a.软硬件结合方法的原理b.基于单稳态触发器的软硬件监视器3.利用内部定时器进行监视4.结语(二)论文《WatchDog 再嵌入式开发中的应用》选自湖南师范大学数学与计算机科学学院唐明与2007年9月发表的一篇文章。

1.WatchDog介绍2.WatchDog的工作描述3.WatchDog存在的意义4.WatchDog 失效现象5.失效解决方案6.结束语(三)论文《一种基于TMS320VC5509的音频采集与回放系统》选自重庆邮电大学通信与信息工程学院雷宏江,程方,明艳合作发表的一篇论文。

1. 系统总体方案2.系统硬件电路设计a.c5509与音频编解码器的接口设计b.系统的存储器扩展c.c5509的电源与时钟电路设计3.系统的软件设计4.结语一、几种监视保护单片机程序运行的有效方法微机在受到某种外界干扰的情况下, 会出现程序跑飞( run o ut ) 和非法循环( dead lock) 等现象, 从而导致程序失控。

因此, 有必要对单片机应用系统采取一些有效措施来监视程序运行。

通过实践总结, 分别从软件和软硬件相结合的角度介绍几种有效的实用方法。

在系统非正常工作时能自动引导系统复位, 这为排除系统的故障提供了理想的手段。

1. 1 软件“陷阱”法原理任何正常工作的微机, 运行的是正确的程序流程。

程序跑飞意味着微机执行非正常流程程序, 故可在程序模块间和程序之后, 增设由若干个空操作指令和一条无条件跳转指令组成的陷阱, 一旦程序跑飞, 跌落陷阱, 便转入初始程序或有关的失控恢复处理程序, 从而恢复程序的正确流程1.2缺陷由于干扰的随机性, 微机失控后的现象无法事先预料。

看门狗(WatchDog)

看门狗(WatchDog)
综上,我们建议:在调试自己的系统时,先不再补上看门狗功能。
1.4 WatchDog 库函数
1. 运行控制
函数 WatchdogEnable( )的作用是使能看门狗。该函数实际执行的操作是使能看门狗中断 功能,即等同于函数 WatchdogIntEnable( )。中断功能一旦被使能,则只有通过复位才能被 清除。因此库函数里不会有对应的 WatchdogDisable( )函数。参见表 1.2 的描述。
i
广州周立功单片机发展有限公司 Tel:(020)38730923 38730976 Fax:38730925
第1章 看门狗(WatchDog)
函数原型 void WatchdogEnable(unsigned long ulBase) tBoolean WatchdogRunning(unsigned long ulBase) void WatchdogResetEnable(unsigned long ulBase) void WatchdogResetDisable(unsigned long ulBase) void WatchdogStallEnable(unsigned long ulBase) void WatchdogStallDisable(unsigned long ulBase) void WatchdogReloadSet(unsigned long ulBase, unsigned long ulLoadVal) unsigned long WatchdogReloadGet(unsigned long ulBase) unsigned long WatchdogValueGet(unsigned long ulBase) void WatchdogLock(unsigned long ulBase) void WatchdogUnlock(unsigned long ulBase) tBoolean WatchdogLockState(unsigned long ulBase) void WatchdogIntEnable(unsigned long ulBase) unsigned long WatchdogIntStatus(unsigned long ulBase, tBoolean bMasked) void WatchdogIntClear(unsigned long ulBase) void WatchdogIntRegister(unsigned long ulBase, void(*pfnHandler)(void)) void WatchdogIntUnregister(unsigned long ulBase)

单片机看门狗(Watchdog)的工作原理及其应用

单片机看门狗(Watchdog)的工作原理及其应用

单片机看门狗(Watchdog)的工作原理及其应用2010年05月16日星期日 23:00在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环。

程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果。

所以,出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)。

看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行。

这个时候,看门狗电路就会由于得不到单片机送来的信号。

便在它和单片机复位引脚相连的引脚上送出一个复位信号。

使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

看门狗,又叫 watchdog timer,是一个定时器电路。

一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU 正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零。

如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,是MCU复位,防止MCU死机。

看门狗的作用就是防止程序发生死循环,或者说程序跑飞。

工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。

所以,在使用有看门狗的芯片时要注意清看门狗。

EnergyMicro+EFM32系列微控制器看门狗定时器(WDOG)

EnergyMicro+EFM32系列微控制器看门狗定时器(WDOG)

厦门办事处
E-mail:sales.xiamen@
沈阳办事处
E-mail:sales.shenyang@
产品应用笔记
©2012 Guangzhou ZLG MCU Technology Co., Ltd. ii
广州周立功单片机科技有限公司
看门狗定时器
EFM32 系列微控制器
2.1
基本操作 ................................................................................................................... 4
2.1.1 看门狗使能...........................................................................................................4
广州专卖店
地址:广州市天河区新赛格电子城 203-204 室 电话:(020)87578634 87569917 传真:(020)87578842
南京周立功
地址:南京市珠江路 280 号珠江大厦 1501 室 电话:(025) 68123901 68123902 传真:(025) 68123900
北京周立功
2.1.2 喂狗.......................................................................................................................4
2.2
配置........................................................................................................................... 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在主程序中适当插入“喂狗”指令,大多数场合的单片机系统都能够比较可靠地工作。但 是有一种特殊情况,即中断响应功能已经失效,而主程序仍然能够正常运行,这时“看门狗” 电路对恢复单片机系统正常工作时无能为力的。例如:当程序正在执行中断子程序时,系统突 然 受 到 强 烈 干 扰 , 程 序 跑 飞 , 而 且 PC指 针 刚 好 落 在 主 程 序 的 指 令 字 节 上 , 堆 栈 也 不 溢 出 , 使 主 程序能够继续正常运行。这时“看门狗”的“喂狗”动作正常,而中断再也不法响应了。这时 因 为 在 MCS-51的 中 断 系 统 中 有 两 个 不 可 寻 址 的 优 先 级 状 态 触 发 器 , 分 别 指 标 两 级 中 断 响 应 状 态 。 当 CPU响 应 中 断 时 , 首 先 置 位 相 应 的 优 先 级 状 态 触 发 器 ( 该 触 发 器 能 指 出 CPU正 在 处 理 的 中 断 优 先 级 别 ) , 这 时 会 屏 蔽 掉 同 级 别 的 所 有 中 断 申 请 , 直 到 执 行 RETI指 令 时 , 才 由 CPU硬 件 清 零 该 优 先 级 状 态 触 发 器 , 从 而 使 以 后 的 中 断 请 求 能 被 正 常 地 响 应 [3]。 如 果 响 应 中 断 后 而 不 执 行 RETI指 令 , 那 么 同 级 别 中 断 申 请 就 不 会 被 响 应 了 。
具体做法如下: ORG 0000H LJMP START ORG 000BH LJMP INTT0 …… ORG 0030H START: MOV SP, #30H …… MAIN: NOP NOP SETB P1.0 NOP NOP SETB EA NOP SETB ET0 …… LJMP MAIN …… INTT0: NOP NOP CLR P1.0 NOP NOP
另外,为了消除可能的“喂狗”误动作,建议对所应用的用户程序进行彻底仔细的检查, 以 防 程 序 错 乱 时 生 成 多 余 的 SETB P1.0( 指 令 码 D290H) 或 者 CLR P1.0( 指 令 码 C290H) 指 令 。 利 用 通 用 编 程 软 件 ( 如 EDIT) 的 查 找 功 能 可 搜 索 用 户 程 序 在 LST文 件 中 的 “ 90” 字 符 串 , 就 能 方 便 地 找 到 所 有 可 能 的 非 法 “ SETB P1.0或 CLR P1.0” 指 令 , 然 后 用 NOP指 令 将 其 分 离 开 来 就可以了。如
可以修改为
……
0306 74C2 MOV A, #0C2H
0308 00 NOP
0309 901000 MOV DPTR, #1000H
……
mhtml:file://D:\LJW\应 用 文 章 \一 种 新 的 单 片 机 “ 看 门 狗 ” 电 路 软 件 设 计 方 ... 2004-7-11 PDF created with FinePrint pdfFactory trial version
关 键 词 : 抗 干 扰 单 片 机 看 门 狗 MAX706 89C52
随 着 MCS-51系 列 单 片 机 的 发 展 , 其 芯 片 价 格 在 不 断 下 降 , 但 同 时 也 带 来 了 单 片 机 芯 片 的 抗 干扰问题,该问题可能导致一些智能型仪器仪表单片机工业控制系统发生“死机”。笔者通过 近几年的设计实践及不断试验,总结了一套可靠的“看门狗”硬件电路及软件设计方法。由于 一些专业期刊曾经刊登过许多关于“看门狗”硬件电路构成的文章,同时也详细的关于“看门 狗 ” 电 路 非 正 常 失 效 故 障 原 因 的 分 析 及 针 对 性 软 件 设 计 技 巧 [1], 本 文 给 出 了 一 个 采 用 MAX706 和 89C52构 成 的 “ 看 门 狗 ” 硬 件 电 路 , 并 且 从 新 的 角 度 说 明 了 如 何 确 保 “ 看 门 狗 ” 电 路 的 正 常 工作,同时给出了它的软件设计方法。
技 术 与 应 用 文 章 -- 为 全 体 电 子 工 程 师 全 力 奉 献 !!
页 码 , 1/4
一种新的单片机“看门狗”电路软件设计方法
摘要:单片机控制系统“看门狗”电路的有效性,除硬件电路的可靠性以外,主要取决于 如 何 正 确 给 “ 看 门 狗 ” 电 路 进 行 复 位 ( 即 “ 喂 狗 ” ) , 文 章 在 介 绍 了 一 种 采 用 MAX706和 89C52 构成的硬件电路的基础上,给出了一种新颖可靠的“看门狗”电路软件设计方法。
技 术 与 应 用 文 章 -- 为 全 体 电 子 工 程 师 全 力 奉 献 !!
页 码 , 3/4
……
RETI
这 样 , 在 整 个 用 户 程 序 中 只 唯 一 的 一 对 指 令 ( SETB P1.0及 CLR P1.0) 能 使 “ 看 门 狗 ” 定 时器复位。也就是说不会有任何“非法”的指令能使“看门狗”定时器误复位,致使系统已经 “ 死 机 ” 而 “ 看 门 狗 ” 失 效 。 当 然 , 对 对 没 有 中 断 的 用 户 系 统 , 只 需 将 清 零 指 令 ( CLR P1.0) 也插在主程序中就可以了;对于有多种中断的用户系统,如果没有中断嵌套,则清零指令 ( CLR P1.0) 可 以 插 在 任 一 个 中 断 子 程 序 中 , 而 在 主 程 序 中 适 当 加 入 一 些 有 关 中 断 的 冗 余 指 令 ( 如 SETB ET0等 ) , 以 免 因 有 关 中 断 的 特 殊 功 能 寄 存 器 数 据 受 到 干 扰 时 导 致 中 断 功 能 失 效 ; 对 于 有 二 级 中 断 嵌 套 的 用 户 系 统 , 清 零 指 令 ( CLR P1.0) 可 以 插 在 中 断 种 数 比 较 多 的 那 一 级 中 的 任一个中断子程序中,插有“喂狗”指令的那一级中断系统将会受到“看门狗”的保护,而另 一级中断系统如果失效,“看门狗”是“无动于衷”的,这时只能尽量减少这种中断子程序的 执行时间以减少受到干扰的可能性。如果二级中断嵌套系统者受到“看门狗”的保护,就必需 设计一个非常复杂的“看门狗”电路,其“喂狗”指令要由三部分来保证各个部分都能正常工 作 , 需 要 说 明 的 是 , 如 果 主 程 序 运 行 一 次 的 时 间 ( 包 括 可 能 被 中 断 的 时 间 ) 超 过 1.6秒 , 则 要 适 当 再 插 入 一 条 SETB P1.0指 令 , 而 T0中 断 时 间 间 隔 是 不 能 超 过 1.6秒 的 。
mhtml:file://D:\LJW\应 用 文 章 \一 种 新 的 单 片 机 “ 看 门 狗 ” 电 路 软 件 设 计 方 ... 2004-7-11 PDF created with FinePrint pdfFactory trial version
2“看门狗”电路软件设计方法
以往的“看门狗”电路复位指令(即“喂狗”)一般总 是插入在主程序中,而且“喂狗”指令一般是脉冲式,可以 连 续 用 两 条 取 反 指 令 ( 如 CPL P1.0) 。 这 是 因 为 一 般 情 况 下,程序跑飞或者陷入“死循环”时,中断功能可能不受影 响 , CPU仍 能 象 正 常 运 行 时 一 样 响 应 和 执 行 中 断 子 程 序 。 这 时如果中断子程序中插有“喂狗”指令,则“看门狗”定时器始终处于正常无溢出状态,无法 对已经混乱的微机系统重新启动以投入正常运转状态。
ROM地 址 指 令 码 源 程 序
……
0306 C2 MOV A, #0C2H
0308 901000 MOV DPTR, #1000H
……
B4D290 CJNE A, #0D2H, STEP1
……
0401 B4D290 CJNE A, #0D2H, STEP1
0494 00 STEPLJW\应 用 文 章 \一 种 新 的 单 片 机 “ 看 门 狗 ” 电 路 软 件 设 计 方 ... 2004-7-11 PDF created with FinePrint pdfFactory trial version
1“看门狗”硬件电路简述
现 以 MAX706监 控 电 路 为 例 ( 见 图 1) 来 说 明 “ 看 门 狗 ” 硬 件 电 路 的 工 作 过 程 , 我 们 知 道 , MAX706是 一 种 性 能 优 良 的 低 功 耗 CMOS监 控 电 路 芯 片 , 其 内 部 电 路 由 上 电 复 位 、 可 重 触 发 “ 看 门 狗 ” 定 时 器 及 电 压 比 较 器 等 组 成 [2]。 MAX706只 要 在 1.6秒 时 间 内 检 测 到 WCI引 脚 有 高 低 电 平 跳 变 信 号 , 则 “ 看 门 狗 ” 定 时 器 清 零 并 重 新 开 始 计 时 ; 若 超 出 1.6秒 后 , WCI引 脚 仍 无 高 低 电 平 跳 变 信 号 , 则 “ 看 门 狗 ” 定 时 器 溢 出 , WDO引 脚 输 出 低 电 平 , 进 而 触 发 MR手 动 复 位 引 脚 , 使 MAC706复 位 , 从 而 使 “ 看 门 狗 ” 定 时 器 清 零 并 重 新 开 始 计 时 , WDO引 脚 输 出 高 电 平 , MAX706的 RST复 位 输 出 引 脚 输 出 大 约 200毫 秒 宽 度 的 低 电 平 脉 冲 , 使 单 片 机 控 制 系 统 可 靠 复 位 , 重 新 投 入 正常运行。
当 然 , 象 上 述 这 种 情 况 是 比 较 少 见 的 。 大 多 数 情 况 下 , 程 序 跑 飞 后 都 会 使 PC指 针 越 出 有 效 程序区,造成“死机”。这时“看门狗”就起作用了。在大多数系统中,中断子程序执行的时 间 占 总 运 行 时 间 的 百 分 比 都 非 常 小 , 而 在 执 行 中 断 程 序 时 , PC指 针 跑 飞 越 过 RETI指 令 , 而 主 程 序又能正常运行的机会就更少。但是如果中断子程序处理数据比较复杂或带有一些函数运算的 功能时,则出现这种系统失常的情况就有可能发生了。以前,在笔者设计的智能流量计中就曾 经出现过这种现象:键盘显示操作都正常,看起来不象“死机”,但是在设定参数时,数据位 该 内 烁 的 不 闪 烁 , 总 流 量 不 会 累 计 上 去 , 显 然 是 T0定 时 中 断 系 统 失 效 , 而 主 程 序 仍 然 在 运 行 , 因为“喂狗”指令插在主程序中。那么,针对这种情形,有没有彻底解决的方法呢?“喂狗”
相关文档
最新文档