电子工程师技术服务社区
- 社区首页
- 下载
- 看门狗应用.rar
资料描述
要求是:本例系统启动时,led1点亮,正常运行时,led1熄灭,led2开始闪 烁程序设置看门狗溢出时间为1.9s,定时器必须在此时间内复位看 门狗(喂狗),否则会引起系统复位,led1再次点亮后熄灭,led2重新 开始持续闪烁。
但现在是led1过一些时间又亮一下,按k1没有作用。
特注:
这个程序放在书本配的电路又可以,我把配的电路里cpu参数一个个复制过来也不行,那些cpu参数一个个设也不行。配的电路版本低。
程序如下:
//----------------------------------------------------------------
//名称:看门狗应用
//----------------------------------------------------------------
//说明:本例系统启动时,led1点亮,正常运行时,led1熄灭,led2开始闪
// 烁程序设置看门狗溢出时间为1.9s,定时器必须在此时间内复位看
// 门狗(喂狗),否则会引起系统复位,led1再次点亮后熄灭,led2重新
// 开始持续闪烁
//----------------------------------------------------------------
#define f_cpu 1000000ul
#include
#include
#include //看门狗相关头文件
#include
#define int8u unsigned char
#define int16u unsigned int
//分别定义led1开/关,led2闪烁
#define led1_on() (portc&=~_bv(pc0)) //为0
#define led1_off() (portc|=_bv(pc0)) //为1
#define led2_blink() (portc^=_bv(pc5))
//----------------------------------------------------------------
//主程序
//------------------------------------------------