深圳市微雪电子有限公司

首页     产品中心     购买指南     支付方式     销售网点     人才招聘     关于我们
 


 
AVR 8-BIT MCU
 >> AVR 简介
 >> AVR 选型列表
 >> AVR Datasheets
 >> AVR 应用笔记
 >> AVR 软件平台
 >> AVR仿真器 编程器
 >> AVR开发板 评估板
 >> 测试座 | 编程座
 
 
  微控制器
 >> AVR 8-BIT MCU
 
  可编程逻辑器
 >> ATMEL CPLD & FPGA
 >> ALTERA CPLD & FPGA
 
  存储器
 >> EEPROM
 >> FLASH
 >> RAM
 
  接口器件
 >> USB 接口
 
  功能器件
 >> 实时时钟
 >> 光耦
 >> 其它
 
  模块 & 配件
 >> LCD模块

 首页 >> AVR应用笔记 >> AVR单片机笑傲江湖 >> AVR 看门狗WDT程序
AVR 看门狗WDT程序

系统功能
  很多人喜欢养宠物狗,很多单片鸭大侠则喜欢养看门狗,如果您也希望搞条AVR的看门狗养养,那么本节很适合您。
  养看门狗的用意,在于用它监控系统:在程序本该运行的地方喂狗,如果程序卡死或跑飞,将不会运行到那,那样狗没有被喂到,饿死了,控制器复位,得以重启从而进行控制。
  本节演示功能:养一只AVR内部看门狗,及时喂狗,狗不饿死,AVR单片鸭不复位;不及时喂狗,狗饿死了,AVR单片鸭就复位。
  本节的程序设计较为简单,旨在给出养狗、喂狗,不让狗饿死的简单示例。实际应用时考虑情况较多的要注意什么时候喂狗,放狗。
  
硬件设计


AVR主控电路原理图(点击图片放大,不需要放大镜!

LED控制电路原理图(点击图片放大,不需要放大镜!



软件设计

下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!

//目标系统: 基于AVR单片机
//应用软件: ICC AVR

/*01010101010101010101010101010101010101010101010101010101010101010101
----------------------------------------------------------------------
实验内容:
观察喂狗与不喂狗的区别,使用PB口的LED指示灯做状态指示。
----------------------------------------------------------------------
硬件连接: 
将PB口的LED指示灯使能开关切换到"ON"状态。
----------------------------------------------------------------------
注意事项:
(1)若有加载库程序,请将光盘根目录下的“库程序”下的“ICC_H”文件夹拷到D盘
(2)请详细阅读:光盘根目录下的“产品资料\开发板实验板\SMK系列\SMK1632\说明资料”
----------------------------------------------------------------------
10101010101010101010101010101010101010101010101010101010101010101010*/

#include <iom16v.h>
#include "D:\ICC_H\CmmICC.H"

#define DISP_DDR DDRB
#define DISP_PORT PORTB

/*--------------------------------------------------------------------
程序名称:看门狗WDT初始化程序
程序功能:
注意事项:
提示说明:
输    入:
返    回:
--------------------------------------------------------------------*/
void wdt_init(void)
{
 asm("wdr");   //clr wdt
 WDTCR=0x0F;   //enable wdt,clk = 2048,2.1S
}
/*--------------------------------------------------------------------
程序名称:
程序功能:
注意事项:
提示说明:
输    入:
返    回:
--------------------------------------------------------------------*/
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");单片机不断复位,程序得不到允许,自加数据没有显示往上加。


资料说明

可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

相关AVR型号资料

ATtiny13
ATtiny24
ATtiny44
ATtiny84
ATtiny26
ATtiny2313
ATmega48
ATmega88
ATmega168
ATmega8
ATmega16
ATmega32
ATmega64
ATmega128
ATmega162
ATmega169
ATmega8515
ATmega8535


  售前咨询&下单:0755-83040855, 83040860, 83040711 售后服务:0755-83040712  传真:0755-83042572  VIP:0755-88861195
  Email:waveshare_1@163.com(业务),waveshare_2@163.com(技术)  
 营业时间:周一至周六,早9:00 -- 晚6:00(北京时间)
  公司地址:深圳市福田区福明路雷圳大厦12B11(
点击查看地图   研发分部地址:深圳市南山区西丽镇深职院现代电子技术应用中心  
  www.waveshare.net(最新) www.22ew.com(备用) 网站地图 友情链接 网营许可证号:粤ICP备05067009号 深圳市微雪电子有限公司版权所有