采用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; i

{ ACC=com; /*将数据放入a中*/

si=c;

sck=0; /*sck产生一个上跳变*/

sck=1;

com=com

}

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脉冲*/

cs=1;

}

}

X25045的看门狗电路使用十分方便。X25045内部还集成了512BEEPROM和电压运行监视系统,只需这样一块芯片,外加晶振和复位电路就可以组成单片机的应用系统,非常适合于便携式仪器和嵌入式系统的设计。

c语言软件看门狗程序,X25045看门狗电路硬件连接图及C语言看门狗程序相关推荐

  1. 看门狗子程序 c语言,X25045看门狗电路硬件连接图及C语言看门狗程序

    采用89C51单片机和X25045组成的看门狗电路,X25045硬件连接图如图2所示.X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间.在看门狗定时器预置的时间内若没有总线活动, ...

  2. 51单片机用c语言在液晶1602上显示汉字,lcd1602与单片机连接图,基于51单片机的lcd1602液晶显示屏连接电路图...

    描述 LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符.LCD1602液晶显示原理 LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示, ...

  3. lt19264a+c语言程序,可以直接显示汉字的19264液晶驱动C语言程序

    19264 C语言程序资料 注:本程序是经过KEIL编译通过 ,并通过实验板测试通过的,直接按硬件电路连接好显示屏 然后将程序代码烧写入单片机 即可点亮,将显示 武汉2 字,并且 随意设置坐标,就可以 ...

  4. 看门狗(APB watchdog)简介,各个寄存器简介,把看门狗挂到APB总线上,看门狗的验证测试(1)

    看门狗简介: 在系统运行时,可能会在外界的干扰下,出现程序跑飞的情况,看门狗的出现就是为了解决这种故障.看门狗是一个独立于系统的计数器即它的时钟和系统时钟不是同一个时钟,在看门狗时钟的驱动下,计数器会 ...

  5. C语言软件分层的方法,单片机程序分层设计思想

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如今C语言已经成为单片机程序设计公认的语言.我用C语言进行单片机程序设计也有两年多的时间了,C语言程序的特点使我对单片机开发更加感兴趣.让我从一个了解单片 ...

  6. 西门子1200-1500博途追款锁机软件程序例程,经典程序编程及到期催款锁机,采用SCL语言编程子程序,内含物料运输顺序控制

    西门子1200-1500博途追款锁机软件程序例程,经典程序编程及到期催款锁机,采用SCL语言编程子程序,内含物料运输顺序控制,运料车自动装卸料控制,展厅人数控制,风机运行监控,卫生间定时冲水,冒泡排序 ...

  7. 单片机c语言 软件抗干扰,单片机软件抗干扰的几种常见方法

    在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活.节省硬件资源.可靠性好越来越受到重视.下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究. 1.软件抗干扰方法的研究 在工程实践 ...

  8. 在Linux下开发多语言软件(gettext解决方案)

    最近的项目出现了一个bug.项目是基于一个已有的成熟开源软件之上做修改的,新写了加解密库,用于为该成熟开源软件增添加解密功能.功能增加完成后效果都很好,可是就是中文出不来了,也就是说没办法自适应多语言 ...

  9. R 语言怎么保存工作目录到当前路径_【R语言基础】01.R语言软件环境搭建及常用操作...

    一.R语言简介 R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果: 表明R语言是该领域 ...

最新文章

  1. Visual Studio进行Web性能测试- Part III
  2. c语言程序位置式pid算法,增量式与位置式PID算法(C语言实现与电机控制项目)...
  3. 学习Spring Boot:(十八)Spring Boot 中session共享
  4. HDOJ-2036 求多边形面积
  5. 第218天:Angular---模块和控制器
  6. c语言 sizeof(unsign),C语言基础知识
  7. mysql 对日期的处理函数_MySQL日期处理函数
  8. whoosh读取+html,django-haystack+jieba+whoosh实现全文检索
  9. Oracle 10g安装 (Windows平台)
  10. python二级通过率_计算机二级考试通过率太低?别担心,是真正备考的人变少了...
  11. 如何解决Flash CS6打开后闪退的问题
  12. 腾讯三面:Cookie的SameSite了解吧,那SameParty呢?
  13. 对比MySQL和Pandas计算用户最大连续登录天数
  14. 第一次团队作业——团队选题报告
  15. 3小时做完3天工作,她是用了什么办法做到的?
  16. 从图森未来到通用、谷歌,自动驾驶怎么样了?
  17. python有趣小程序春节祝福-用python实现新年祝福微信的自动回复
  18. 推荐10本程序员必读的书籍!
  19. 用Python写一个简单的api接口
  20. Ubuntu配置网络代理

热门文章

  1. 服务器装系统2t以上,华为RH2288 V3服务器安装Cent OS 7时容量大于2T导致系统安装失败...
  2. 论文翻译 《Self-supervised Learning of LiDAR Odometry for Robotic Applications》
  3. .NET 对于构建系统应用的探索历程
  4. 复现Oriented R-CNN RTX 2080Ti
  5. Python实现抓取链接/分词/索引/搜索关键词——简单搜索引擎
  6. Cisco 7600系列Supervisor Engine 720-3BXL
  7. 汪汪汪WDG--看门狗的作用
  8. 计算机网络 - 数据链路层
  9. 一些有影响的博客推荐
  10. windows VXN(梯子)应用,域名等分流开发笔记