一种新的单片机“ 看门狗” 电路软件设计方法
基于单片机按键控制看门狗仿真设计
基于单片机按键控制看门狗仿真设计本文档旨在介绍《基于单片机按键控制看门狗仿真设计》的主题,并提供写作大纲的目的概述。
该文档将深入探讨如何利用单片机按键控制看门狗的仿真设计。
我们将详细介绍看门狗的概念和原理,并提供一个基于单片机按键的仿真设计案例。
通过本文档的阅读,读者将了解如何使用单片机按键来控制看门狗,在系统遇到异常情况时采取适当的措施来保护系统的稳定性和可靠性。
接下来,将按照以下大纲扩写内容,详细介绍《基于单片机按键控制看门狗仿真设计》的相关内容。
在介绍基于单片机按键控制看门狗的仿真设计之前,我们需要先了解单片机和看门狗的概念,并探讨为什么使用单片机按键控制看门狗是有意义的。
单片机是一种集成了微处理器核心、内存、输入/输出设备和其他功能模块的微型计算机系统。
它具有体积小、功耗低、成本低等特点,因而广泛应用于各种电子设备中。
看门狗(Watchdog)是一种用于检测和处理系统故障的硬件或软件机制。
它监视系统运行状态,并在系统发生故障时自动执行预定的纠错操作。
看门狗的主要作用是保障系统的稳定性和可靠性。
基于单片机按键控制看门狗的仿真设计就是利用单片机上的按键来控制看门狗的功能。
通过按下特定的按键,我们可以触发或关闭看门狗的工作,以解决系统故障或异常情况。
使用单片机按键控制看门狗具有以下意义:提高系统的稳定性:通过按键控制看门狗,可以及时检测和处理系统故障,保障系统的稳定运行。
简化系统调试过程:按键控制看门狗可以方便地触发系统故障模式,便于调试和定位问题。
提升系统的可靠性:看门狗机制可以在系统故障时自动执行纠错操作,提高系统的可靠性和容错能力。
综上所述,基于单片机按键控制看门狗的仿真设计是一种有效的解决方案,可以提高系统的稳定性、简化系统调试过程并提升系统的可靠性。
本文将阐述按键控制看门狗的仿真设计步骤,包括硬件和软件方面的具体要点。
硬件设计步骤准备所需材料和器件,包括单片机、按键、继电器等。
按照电路原理图连接各个器件,确保电路的正确性和稳定性。
C51单片机看门狗电路及程序设计方案
C51单片机看门狗电路及程序设计案院系:信息工程学院年级:2010级电子一班禹豪电子一班训虎电子二班邓启新一、引言在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。
由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog)(1)看门狗电路基本原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连**,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
*此处设计原理实际上为下文中硬件看门狗设计思路。
(2)看门狗电路一般设计式“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计式。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。
如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。
常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等.软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的法实现(即利用单片机部定时器资源,通过编程模拟硬件看门狗工作式),以51系列为例:因在51单片机中有两个定时器,在利用部定时器资源来对主程序的运行进行监控时。
基于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原理与应用》课程报告指导老师韩阳班级信工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)
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)的工作原理及其应用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)
厦门办事处
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
单片机复位看门狗电路
705系列复位电路#概述GC705/706/707/708/813L是一组CMOS微处理器监控电路,可用来监控微处理器系统供电异常、电池故障和工作状态。
和采用分立元件及多片IC组合成电路相比,明显减小了系统电路的复杂性和元器件的数量,并提高了系统的可靠性和精度。
GC705/706/813L具备以下四项基本功能:1)电源开机,关机及电源供电不足时给出复位输出。
2)内含独立的看门狗电路输出。
如看门狗电路输入在1.6秒内未得到翻转信号,看门狗电路输出端将变成低电平。
3)内含门限1.25V的检测器,用于掉电报警,电池欠电监测和监测加错电源的状况(以+5V为准)。
4)手动复位时,给出确定脉宽的负向复位脉冲GC707/708和GC705/706基本功能一致,区别只在于GC705/706芯片中的第8脚正脉冲的复位(RESET)输出取消了,换成了看门狗定时器,原第6脚空脚被用做看门狗电路的输入端。
GC813L则除了第7脚输出正脉冲的RESET外,其它功能和GC705/706完全一样。
这几种电路的管脚功能定义和差异详见管脚定义图和管脚说明附表。
#应用范围计算机,微处理器和微控制器系统;嵌入式控制器系统;智能仪器仪表;通信系统;工业自动化系统;电池供电手持设备等等。
# 电气参数 除非特殊说明,Vcc =4.75V~5.5V (GC705/GC707/GC813), Vcc=4.5V~5.5V (GC706/GC708),T A = T MIN to T MAX参数符号 测试条件最小值典型值 最大值 单位GC705、706、707、708 1.0 5.5电源电压范围 Vcc GC813 1.1 5.5VGC705、706、813 150 350电源电流IccGC707、70850 350uAGC705、707、8134.50 4.65 4.75 GC706、708 4.25 4.40 4.50 复位门限 V RT GC706T 3.00 3.08 3.15 V复位门限迴差40 mV复位脉冲宽度 t RS 140 200 280 ms I SOURSE =800uAVCC-1.5 I SINK = 3.2mA 0.4GC705~708,VCC=1V ,I SINK =50uA 0.3GC707\708,I SOURCE =800uAVCC-1.5GC707\708,I SINK = 1.2mA 0.4 复位输出电压GC813,I SOURCE =4uA,V CC =1.1V 0.8V看门狗计时长度 t WD GC705\706\813 1.00 1.60 2.25 秒 WDI 脉冲宽度 t WPVIL =0.4V ,VIH =(VCC)(0.8) 50 ns 下限 0.8WDI 输入阈值 上限 GC705\706\813 V CC =5V3.5 VGC705\706\813,WDI =VCC 50 150WDI 输入电流 GC705\706\813,WDI =0V -150 -50uAGC705\706\813,I SOURCE =800uA VCC-1.5WDI 输出电压 GC705\706\813,I SINK =1.2mA 0.4VMR 上拉电流MR =0V100 250 600 uA MR 脉冲宽度 t MR150 ns 下限 0.8MR 输入阈值 上限2.0VMR 到RESET 的延迟 t MD250 ns PFI 输入阈值 VCC =5V V PFI 输入电流-25 25 nAI SOURCE =800uA VCC-1.5PFO 输出电压I SINK =3.2mA0.4V#极限参数源跌落),RESET引脚就会变低。
单片机应用系统中的_看门狗_电路及低成本实现
, 看 门 狗 电路 如 图 1 所 示. 图 中
! 63!
2008 年
商丘职业技术学院学报
74LS123 触发器的输入端接高电平 , 负脉冲触发 . 第一个触发器工作状态由单片机 P1 口的 P1 . 7 控制, 系统 开始工作时 , P1 . 7 向 2A 端输入一个负脉冲, 使 2Q 端产生一个正跳变, 但并不能触发第二个单稳态触发器 动作, 1Q 端仍为低电平. P1 . 7负触发脉冲的时间间隔取决于系统控制主程序运行周期 . 在单片机应用系统 应用程序设计中 , 软件流程要设计成循环结 构. 发出喂狗信号的指令包 含在主程序中, 使用 CLR P1 . 7和 SETB P1. 7 两条指令. 如果主程序运行周期小于单稳态触发器的暂态时间 , 则当单片机正常运行时 , 将不断 重新触发第二个单稳态触发器, 其输出端 2Q 端始终保持高电平, 1A 端保持高电平 , 第一个单稳态触发器就 不会产生动作. 如果单片机受到干扰 , 产生了死循环, 那么第二单稳态触发器的暂态时间内 , 就不会出现送 给 2A 端的负脉冲 , 第二个单稳态触发器脱离暂态 , 2Q 端回到低电平触发第一个单稳态触发器翻转到暂态 , 1Q 端产生脉冲信号, 使单片机可靠复位, 系统运行的可靠性大大提高.
[ 2 ] 374- 375
.
图 2 由计数器构成的 看门狗 电路
2 . 3 由门电路构成 看门狗 电路 在电路的设计中往往会有多余的门电路, 这时可以用作 看门狗 电路 , 既降低了成本, 又提高了电路的 可靠性 . 电路形式可以有很多种 , 特别在 89C1051 / 2051 的应用电路中, 利用其 P1 . 0 /P1. 1 口没有上拉电阻 的特点 , 可以用两个 CMOS 门电路 ( 本例中是六反相器 CD4069 中的两个空余反相器 ) 设计一个极简单的低 成本 看门狗 电路, 如图 3 . 由于需要的定时时间比较长 , 因此只能使用输入阻抗高的 CMOS 门电路, 当然也 ! 64!
“看门狗”电路DS1232在单片机产品中的应用
免费赠阅
《L ED 光柱专用芯片应用专集》
L ED 光柱被誉为替代指针式动圈表的优 选产品 , 本专集汇集了常用 L ED 光柱有关技 术数据及各种显示方式的驱动电路 , 是设计人 员开发光柱仪表的实用手册 。
成熟技术奉献 函索电告即寄
杭州三可仪表厂 (市场部) 赠阅电话 : (0571) 6994515 传真 :6985324 联系人 :冯国强 地址 :杭州艮山西路 158 号 邮编 :310021
(2) DS1232 内部第 6 引脚没有上拉电阻 , 如果 单片机的其它外围接口芯片需要用到低电平复位信 号 , 那么 , 必须在该引脚上外接一个上拉电阻 , 如图 3 中的 R 。
(3) 如果用仿真器调试用户目标板 ,并且 S T 端 与 单 片 机 的 AL E 相 连 , 那 么 最 好 先 不 要 插 上 DS1232 芯片 , 因为在仿真器与 PC 机相连单步运行 程序时 , 单片机的 AL E 信号并不是连续供给的 , 容 易造成非正常复位 ,影响调试工作的进行 。
图 1 DS1232 外形及引脚排列
图 2 DS1232 内部结构框图
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
“看门狗”电路 DS1232 在单片机产品中的应用
- 21 -
●不需要分立元件 ; ●适应温度范围宽 , - 40~ + 85 ℃。
J ia Zhenguo Xu Lin
摘要 : 介绍一种看门狗集成电路 DS1232 的功能及与单片机的实际接口电路 , 结合工程实际指出了
DS1232 在应用中的注意事项 。
(完整word版)C51单片机看门狗电路及程序设计方案
常熟理工学院项目设计报告项目:C51单片机看门狗电路及程序设计方案专业电气工程及其自动化学生姓名____________班级________学号________指导教师完成日期目录1.引言 (1)1.1看门狗电路基本原理 (2)1. 2看门狗电路一般设计方式 (3)1.3知识点应用 (4)2。
看门狗电路整体设计思路 (5)2。
1硬件设计原理 (6)2.2软件设计原理 (7)1.1设计思路:1。
2软件设计流程图:1.3“看门狗“定时器设置程序:1。
4溢出中断服务程序:1.5喂狗代码:1.6完整测试程序清单:3。
作品调试 (8)4。
结语 (17)5.参考文献 (18)一.引言在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环.由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称”看门狗"(watchdog)(1)看门狗电路基本原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位.(2)看门狗电路一般设计方式“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计方式。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。
SPI接口应用之一---看门狗芯片X25045
SPI接口应用之一---看门狗芯片X25045 SPI接口应用之一---看门狗芯片X25045hadao 发表于 2006-5-8 0:08:41一、引脚定义及通信协议SO:串行数据输出脚,在一个读操作的过程中,数据从SO脚移位输出。
在时钟的下降沿时数据改变。
SI:串行数据输入脚,所有的操作码、字节地址和数据从SI脚写入,在时钟的上升沿时数据被锁定。
SCK:串行时钟,控制总线上数据输入和输出的时序。
/CS :芯片使能信号,当其为高电平时,芯片不被选择,SO脚为高阻态,除非一个内部的写操作正在进行,否则芯片处于待机模式;当引脚为低电平时,芯片处于活动模式,在上电后,在任何操作之前需要CS引脚的一个从高电平到低电平的跳变。
/WP:当WP引脚为低时,芯片禁止写入,但是其他的功能正常。
当WP引脚为高电平时,所有的功能都正常。
当CS为低时,WP变为低可以中断对芯片的写操作。
但是如果内部的写周期已经被初始化后,WP变为低不会对写操作造成影响。
二、硬件连接三、程序设计状态寄存器:7 6 5 4 3 2 1 0X X WD1 WD0 BL1 BL0 WEL WIP WIP:写操作标志位,为1表示内部有一个写操作正在进行,为0则表示空闲,该位为只读。
WEL:写操作允许标志位,为1表示允许写操作,为0表示禁止写,该位为只读。
BL0,BL1:内部保护区间的地址选择。
被保护的区间不能进行看门狗的定时编程。
WD0,WD1:可设定看门狗溢出的时间。
有四种可选择:1.4s,600ms,200ms,无效。
操作码:WREN 0x06 设置写允许位WRDI 0x04 复位写允许位RDSR 0x05 读状态寄存器WRSR 0x01 写状态寄存器READ 0x03/0x0b 读操作时内部EEPROM页地址 WRITE 0x02/0x0a 写操作时内部EEPROM页地址程序代码:#i nclude <reg51.h>sbit CS= P2^7;sbit SO= P2^6;sbit SCK= P2^5;sbit SI= P2^4;#define WREN 0x06 //#define WRDI 0x04 //#define RDSR 0x05 //#define WRSR 0x01 //#define READ0 0x03 //#define READ1 0x0b //#define WRITE0 0x02 //#define WRITE1 0x0a //#define uchar unsigned charuchar ReadByte() //read a byte from device{bit bData;uchar ucLoop;uchar ucData;for(ucLoop=0;ucLoop<8;ucLoop++){SCK=1;SCK=0;bData=SO;ucData<<=1;if(bData){ ucData|=0x01; }}return ucData;}void WriteByte(uchar ucData)//write a byte to device {uchar ucLoop;for(ucLoop=0;ucLoop<8;ucLoop++){if((ucData&0x80)==0) //the MSB send first{SI=0;}else{SI=1;}SCK=0;SCK=1;ucData<<=1;}}uchar ReadReg() //read register{uchar ucData;CS=0;WriteByte(RDSR);ucData=ReadByte();CS=1;return ucData;}uchar WriteReg(uchar ucData) //write register{uchar ucTemp;ucTemp=ReadReg();if((ucTemp&0x01)==1) //the device is busyreturn 0;CS=0;WriteByte(WREN);//when write the WREN, the cs must have a high levelCS=1;CS=0;WriteByte(WRSR);WriteByte(ucData);CS=1;return 1;}void WriteEpm(uchar cData,uchar cAddress,bit bRegion) /* 写入一个字节,cData为写入的数,cAddress为写入地址,b Region为页 */{while((ReadReg()&0x01)==1); //the device is busyCS=0;WriteByte(WREN); //when write the wren , the cs must hav e a high levelCS=1;CS=0;if(bRegion==0){ WriteByte(WRITE0);} //write the page addrelse{WriteByte(WRITE1);}WriteByte(cAddress);WriteByte(cData);SCK=0; //CS=1;}uchar ReadEpm(uchar cAddress,bit bRegion)/* 读入一个字节,cAddress为读入地址,bRegion为页 */ {uchar cData;while((ReadReg()&0x01)==1);//the device is busyCS=0;if(bRegion==0){WriteByte(READ0); }else{WriteByte(READ1);}WriteByte(cAddress);cData=ReadByte();CS=1;return cData;}main(){WriteReg(0x00);//set the watchdog time as 1.4s CS=1;CS=0; //reset the watchdog}基于X25045的新型看门狗电路图作者:重庆三峡学院应用技术学院谢辉来源:不详点击数:更新时间:2007年02月14日看门狗(watchdog)电路是嵌入式系统需要的抗干扰措施之一。
单片机设计自动路灯(lm393比较器)
第1章说明背景随着我国经济高速发展,人民生活水平日益提高,能源和资源变得日益紧张,电力短缺已成为制约国民经济发展的突出矛盾。
目前我国照明消耗的电能约占电力生产总量的10%~20%,而城市公共照明则在照明耗电中占30%,并且近几年随着让城市亮起来的口号的提出,全国路灯的数量仍在迅猛地增长。
公共路灯节能的口号便由此而提出。
通常的节能途径有两个:一个是采用节能光源;二是采用合理的控制系统。
本文在使用节能光源的情况下采用合理的控制系统来实现路灯节能。
在供电系统中,为避免送电过程中的线路损耗和用电高峰时造成末端电压过低,供电部门均采用较高电压进行传输。
因此路灯承受电压多高于灯具的额定电压。
然而据调查我国小型城市晚上21:00后,大中城市00:00以后道路上几乎空无一人。
从而造成了“人少车稀灯更亮”的不合理情况。
为了避免这种情况,大多数城市和地区均采用了发达国家早已淘汰了的隔盏关灯的原始路灯控制方法。
日本大藏省曾要求在工厂、办公室和道路上进行间隔电灯的实验,结果导致生产率和办公效率降低以及治安和道路交通事故的大幅上升,这种方法不仅导致路面照度分布不均,而且会减少路灯使用寿命。
不到一年的时间,这种方法就在一片反对声中放弃。
因此,城市的路灯照明工程是构建良好城市环境和树立城市形象的重要组成部份,对城市的建设和发展有着重要的意义。
总之,随着城市规模的不断扩大,现有的路灯管理的方式方法已远远不能满足城市路灯发展与管理的需要,必须依靠现代化的高科技管理手段进行改造。
路灯管理工作需要一个以环境照度监控为核心的自动化的管理手段来替代传统的钟控,并结合普通的路灯监控系统使整个城市照明监测,决策和管理工作变得智能化。
因此,建设现代化光控型“路灯监控管理系统”已迫在眉睫。
意义根据上述内容,本课题的研究目的在于设计出一种路灯照明控制系统,能够有效解决现现阶段路灯照明存在的几点不足,其意义在于:第一,为城市交通提供一种科学有效的方案,保证路灯照明的有效性和安全性;第二,有效利用电力资源,尽量避免电力资源的浪费;第三,提高了城市基础设施管理水平,在改善城市道路照明质量的同时,也节省人力财力物力。
用CD4060制作看门狗报警电路
用CD4060制作看门狗报警电路看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。
如果程序运行正常,过一段时间CPU应发出指令让看门狗,重新开始倒计数。
如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。
原理图:CD4060芯片特性1) 电压范围宽,应该可以工作在3V~15V,输入阻抗高,驱动能力差外,跟74系列的功能基本没有区别;2) 输入时,1/2工作电压以下为0,1/2工作电压以上为1;3) 输出时,1=工作电压;0=0V;4) 驱动能力奇差,在设计时最多只能带1个TTL负载;5) 如果加上拉电阻的话,至少要100K电阻;6) 唯一现在使用的可能就是计数器,CD4060的计数器可以到14级二进制串行计数。
以AT89C51为例:看门狗电路由14位二进制计数器CD4060和三极管VT1、VT2等组成。
Vout接单片机AT89C51的引脚输出口P1.7,由单片机的CPU向看门狗电路发送喂狗信号——正脉冲,在两个正脉冲间隔内,P1.7保持为低电平(此功能要结合软件才能实现,相应的软件设计在下面介绍)。
我们知道,单片机AT89C51的I/O口带灌电流负载的能力比较大,每个引脚低电平时的吸入电流为20 mA,带拉电流负载的能力却很小,实测情况是,每个引脚高电平时的输出电流仅25μA,现在P1.7口被设计成带拉电流负载的方式,为了提高P1.7口带拉电流负载的能力,所以,电路中设置了上拉电阻R3。
14位二进制计数器CD4060的计数脉冲由其内部振荡器和外接阻容元件R1、R2、C1组成的电路产生,振荡周期为T0SC=2.2×R1×C1=0.22 ms振荡器产生的计数脉冲(矩形波)可以直接引出,同时还可以从CD4060的10个输出端Q4~Q10和Q12~Q14得到不同分频系数的方波输出,各方波输出信号的周期如表1所示。
看门狗芯片的选择与软件控制
”芯片的选择及软件控制看门狗”“看门狗作为一种解决微处理器因干扰而死机的有效方法,目前看门狗基本上已经成为MCU的必备辅助外围电路。
笔者在单片机应用开发中对于看门狗的使用积累了一定的经验,下面以看门狗在MCU系统中的应用为例,与同行们做一下交流。
看门狗的工作原理看门狗是由英文“WATCH DOG”翻译过来的,它的设计使用目的是做微处理器的一个监控者。
微处理器在运行中会受到各种各样的干扰,如电源及空间电磁干扰,当它们超过抗干扰极限的时候,就有可能引起微处理器死机。
尤其在MCU的应用环境中,更容易受到复杂干扰源的干扰影响。
有了看门狗这个监控,就能够在MCU死机后,重新使它复位恢复运行。
看门狗电路本身是一个带清除端和溢出触发器的定时器,如果不清除它,它就以固定频率发出溢出触发脉冲。
实际使用中把这个触发输出引入到MCU的复位端,使用MCU的一个I/O控制它的清除端。
看门狗的监控思路是:MCU正常运行时,软件被设计成定时清除看门狗定时器,而一旦MCU死机,这时认为MCU不再发出清除脉冲,看门狗定时器溢出,则自动复位MCU。
看门狗芯片的选择早期的看门狗电路一般都是使用NE555或者CD4060等定时芯片搭建的,直到目前,仍旧有一些书籍和刊物介绍这些电路,实际上它们早已被独立的看门狗芯片取代了。
提到看门狗,则必须提一下电源监控和上电复位电路。
为了使用者的方便,现在的芯片都把上电复位、电源监控及看门狗集成到一起,如IMP813L就是这样一款芯片。
还有的芯片更是把EEPROM也集成进去,如X5045芯片。
现在的MCU被集成了越来越多的功能,有的集成了看门狗,如PHILIPS的P89C51RX2,有的干脆把电源监控和上电复位及RC时钟也集成了进去,如PHILIPS的P87LPC762。
使用者可以根据自己所选择的具体MCU来配置外围看门狗电路及电源监控,除了对功能的选择外,使用看门狗还应该注意它的复位门限电压,一定要确保MCU在看门狗芯片的最小复位门限电压下可以正常工作。
KeilC51的软件看门狗系统设计
范立南 1 李震 1,2 周胜来 1 李荃高 1
(1.沈阳大学信息工程学院,辽宁 沈阳 110044;
2.东北大学信息科学与工程学院,辽宁 沈阳 110006)
摘要:本文介绍了一种基于 Keil C51 环境的软件看门狗设计方法。通过设置程序、喂狗程
序和中断服务程序的有效配合,解决软件模块的稳定性问题。设置程序在模块开始处对看门
enhance the stability of software modules, especially for the software which has a sequential structure.
Keywords:software module;watch dog; Keil C51
0 引言 单片机在工业生产中已经被广泛应用,但由于其工作现场常常受到大功率器件干扰、电
when software module runs to end.T0 interrupting serve program monitors software module, T1 interrupting serve
program monitors T0 counter,and setting program monitors T0 and T1.This cycling monitoring system can
4
} 在 MODULE2()程序段中使用以上所说的 WD_SET()和 WD_FOOD_SET()程序,并在上 述中断服务程序中将 MODULE()替换为 MODULE_ALL(),这样无论系统受到什么干扰,程 序总会运行到最末尾位置。如果需要循环到程序的开头位置,可以在最末尾位置处通过 I/O 口线向 RESET 引脚发出信号,重新复位单片机。 如果想在一个系统中使用两个不同的看门狗,可以用两个不同的定时器,用第三个定 时器监视前两个定时器的工作。设定两套相应的看门狗设置程序、喂狗程序和看门狗关闭程 序,分别应用到不同的程序段。以 AT89C52 为例,可以用 T1、T2 监视不同的程序模块, 而用 T0 监视 T1、T2。但要注意的是两套系统的嵌套,避免调用时出现混乱。 4 结束语 在笔者开发的智能小车中,应用了上述方法,并取得了很好的效果。所设计的智能小车 结构框图如图 5 所示,通过 AT89C52 单片机实现对各个传感器数据的收集,通过对数据的 处理,使单片机控制电机和显示模块输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
具体做法如下: 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定 时 中 断 系 统 失 效 , 而 主 程 序 仍 然 在 运 行 , 因为“喂狗”指令插在主程序中。那么,针对这种情形,有没有彻底解决的方法呢?“喂狗”