"?@"A,BC?#!**+$*!A*!*,A*D单片机应用系统中的看门狗技术胡屏"F柏军!#"(哈尔滨工业大学威海分校信息与控制工程系F山东威海!?D!*CG!(哈尔滨工业大学威海分校计算机科学与工程系F山东威海!?D!" />
第!"卷第!期吉林大学学报#信息科学版$%&’(!")&(!!**+年,月-./0)12.3-424)/)4%506478#4)3.09174.)6:45):55;474.)$9<=!
**+文章编号>"?@"A ,B C ?#!**+$*!A *!*,A *D 单片机应用系统中的看门狗技术
胡屏"F 柏军!
#"(哈尔滨工业大学威海分校信息与控制工程系F 山东威海!?D !*C G
!(哈尔滨工业大学威海分校计算机科学与工程系F 山东威海
!?D !*C $摘要>分析研究了单片机应用系统中软件看门狗H 单I 双时限和强制复位看门狗等几种常见的看门狗技术及具体的实现方法F 从提高看门狗工作可靠性的角度F 分析了各种看门狗方案的优缺点F 给出了基本的硬件电路和软件控制策略F 指出了在设计和应用过程中需注意的一些问题J
关键词>单片机G 看门狗G 抗干扰G K ,*D ,看门狗定时器
中图分类号>7L +C 文献标识码>1
引言
随着单片机技术的发展和制造工艺的日益成熟F 单片机的应用领域不断拓宽F 但由于单片机自身的抗干扰能力较差F 尤其是在一些条件比较恶劣F 噪声大的场合F 常会出现单片机因受外界干扰而导致死机的现象F 造成系统不能正常工作J 设置看门狗是防止单片机死机H 提高单片机系统抗干扰性的一种重要途径F 笔者研究分析了几种较为实用的看门狗技术F 供读者参考J
"软件看门狗
软件看门狗是利用单片机片内闲置的定时器I 计数器单元作为看门狗F 在单片机程序中适当地插入M 喂狗N 指令F 当程序运行出现异常或进入死循环时F 利用软件将程序计数器L :赋予初始值F 强制性地使程序重新开始运行J 具体实现方法如下J
"$首先在初始化程序中设置好定时器I 计数器的方式控制寄存器#79.;
$和定时时间的初值F 并开中断J
!$根据定时器的定时时间F 在主程序中按一定的间隔插入复位定时器的指令F 即插入M
喂狗N 指令F 两条M 喂狗N 指令间的时间间隔#可由系统时钟和指令周期计算出来$应小于定时时间F 否则看门狗将发生误动作J
+$在定时器的中断服务程序中设置一条无条件转移指令F 将程序计数器L :转移到初始化程序的入口J
以9:6
A ,"系列单片机为例F 晶振频率为"!9O P F 定时器7*工作在方式"F 定时时间为!*Q R F 则定时器7*的初值应设为7O *S T "O H 72*S 5*O F 具体程序段如下J
.0U
****O 1-9L
4)47.0U
***T O 650%7*>1-9L
4)47G 定时器7*溢出中断服务.0U
*"**O 4)47
>9.%79.;FV*"O G 定时器7*工作在方式W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W "E 收稿日期>!**!A ""A *D 作者简介>胡屏#"C ?C X $女F 吉林长春人F 哈尔滨工业大学讲师F 工学硕士F 主要从事应用电子研究F 5A Q
"""_Z &‘Q