体系功用
许多人喜爱养宠物狗,许多单片鸭大侠则喜爱养看门狗,假如您也期望搞条AVR的看门狗养养,那么本节很合适您。
养看门狗的意图,在于用它监控体系:在程序本该运转的当地喂狗,假如程序卡死或跑飞,将不会运转到那,那样狗没有被喂到,饿死了,操控器复位,得以重启然后进行操控。
本节演示功用:养一只AVR内部看门狗,及时喂狗,狗不饿死,AVR单片鸭不复位;不及时喂狗,狗饿死了,AVR单片鸭就复位。
本节的程序规划较为简略,旨在给出养狗、喂狗,不让狗饿死的简略示例。实践应用时考虑状况较多的要注意什么时候喂狗,放狗。
硬件规划

AVR主控电路原理图

LED操控电路原理图
软件规划
//方针体系:根据AVR单片机
//应用软件:ICCAVR
/*01010101010101010101010101010101010101010101010101010101010101010101
———————————————————————-
试验内容:
调查喂狗与不喂狗的差异,运用PB口的LED指示灯做状况指示。
———————————————————————-
硬件衔接:
将PB口的LED指示灯使能开关心换到”ON”状况。
———————————————————————-
注意事项:
(1)若有加载库程序,请将光盘根目录下的“库程序”下的“ICC_H”文件夹拷到D盘
(2)请具体阅览:光盘根目录下的“产品材料开发板试验板SMK系列SMK1632阐明材料”
———————————————————————-
10101010101010101010101010101010101010101010101010101010101010101010*/
#include
#include “D:ICC_HCmm%&&&&&%C.H”
#define DISP_DDRDDRB
#define DISP_PORTPORTB
/*——————————————————————–
程序称号:看门狗WDT初始化程序
程序功用:
注意事项:
提示阐明:
输入:
回来:
——————————————————————–*/
void wdt_init(void)
{
asm(“wdr”);//clr wdt
WDTCR=0x
}
/*——————————————————————–
程序称号:
程序功用:
注意事项:
提示阐明:
输入:
回来:
——————————————————————–*/
void main(void)
{
uint8 i;
DISP_DDR = 0XFF;
wdt_init();
while(1)
{
DISP_PORT++; //数据显现向上加,作AVR正常运转的指示
asm(“wdr”); //喂狗,去除此句将导致狗饿死,AVR复位
delay50ms(20);
}
}
体系调试
在AVR的运转程序中设置让PB显现端口自加。若AVR正常作业,及时喂狗,则单片机设置的显现端口正常自加。去除句子:asm(“wdr”);单片机不断复位,程序得不到答应,自加数据没有显现往上加。