- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C51 单片机看门狗电路及
程序设计方案
院系:信息工程学院年级:2010 级
电子一班 刘禹豪电子一班 赵训虎电子二班 邓启新
一 、 引 言
在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog)
看门狗电路基本原理
看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个 I/O 引脚相连**,该 I/O 引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段 进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
看门狗电路一般设计方式
“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计方式。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。如果出现死循环,或者说PC 指针不能回来,那么定时时间到后就会使单片机复位。常用的 WDT 芯片如 MAX813,5045,IMP 813 等,价格 4~10 元不等.
软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的方法实现(即利用单片机
* 此处设计原理实际上为下文中硬件看门狗设计思路。
内部定时器资源,通过编程模拟硬件看门狗工作方式),以51 系列为例:因在51 单片机中有两个定时器,在利用内部定时器资源来对主程序的运行进行监控时。可以对T1(或 T0) 设定一定的定时时间(设定的定时值要小于主程序的运行时间),当产生定时中断的时候对一个变量进行赋值(此变量在主程序运行的开始已有一个初值)。当主程序运行至最后时对 此变量的值进行判断,如果值发生了预期的变化,就说明T0 中断正常,如果没有发生变化则使程序复位。
考虑到设计要求,本设计采用软件看门狗设计思路。
二、 看门狗电路整体设计思路
根据设计要求,本设计利用 C51 单片机内部自带的定时器 1 进行编程,并配合少量电路实现“看门狗“电路功能。整个设计分为软件部分与硬件部分,如下:
软件部分设计原理:
软件设计分为三部分:“看门狗“定时器设置程序、溢出中断服务程序和喂狗代码。
设计思路:
在主程序开头,“看门狗“定时器设置程序设置定时器 1 计时 50ms。
当定时达50ms 时,定时器1 产生溢出中断,溢出中断服务程序开始工作,将看门狗标志 num 加 1。当num 的值等于 100 时,说明看门狗定时器已经计时5s,此时,单片机 I/O 端口 P1.0 输出高电平,对程序进行复位。
在此过程中,喂狗代码将被穿插于程序中循环体末尾。当循环体结束时,喂狗 代码执行,关闭定时器 1、清空 num 并重新初始化定时器设置。若循环体进入死循环, 喂狗代码无法执行,num 将一直累加至 100,此时程序复位。
注:喂狗代码放置位置可根据 num 预计数值进行调整:当 num 门限值较小,即
看门狗计数时间较短时,喂狗代码可放于程序中各循环体之后或均匀分布于整个主程序中。当 num 门限值较大,即看门狗计数时间较长时,喂狗代码可放于程序主循环体末尾。但是需注意看门狗计数时间必须长于正常工作时间,以免非正常复位。
软件设计流程图:
START
START
主程序
定时器 1
定时器 1 设置
寄存器累加
开定时器 1
溢出中断
循环
中断服务程序
喂狗代码
num+1
No
num=100?
Yes
复位
以下为三部分详细程序设计
“看门狗“定时器设置程序:
“看门狗“定时器设置程序对定时器 1 进行设置。设定时器 1 为工作方式 1。设
M 为工作方式 1 下,定时器最大计数值,可知 M=65536。所以,设定时器 1 的初值为 X,则初值X 与机器周期I 机及定时时间T 的关系为:
(M-X)T 机 = T (1)
其中:T 机 =12 个时钟周期 =12 /fosc。所以,定时器 1 的初值为:
X = M-T/ T 机 (2)
因此,当 T1 工作于方式 1,定时时间为 50ms,时钟频率 fosc=12MHz 时,可知: X=M- T/ T 机 = 65536-50000/1 =15536=3CB0H
所以,“看门狗“定时器设置
1亿VIP精品文档
相关文档
最近下载
- 营养指导员理论考试题库及答案.docx
- 2022版初中物理课程标准测试卷题库(附答案)(初中物理新课程标准试题教师资格考试教师招聘考试试卷).docx
- GCP精神病专业组应急及抢救预案流程.docx
- 中考临界生会议课件.ppt
- 狂犬疫苗接种种知情同意书.pdf VIP
- 附件12014年牛塘镇行政村(社区)安全生产考评细则.doc VIP
- 创新思维与发明问题解决方法(西安建筑科大)中国大学MOOC慕课 章节测验期末考试答案.docx
- 一种从含铊废弃物中选择性分离铊的方法.pdf VIP
- 剑桥少儿英语一级上册期末考试试题.doc VIP
- 国家开放大学《机械设计基础》形考任务1-4参考答案.docx VIP
文档评论(0)