微雪官网产品资料
立即注册 找回密码

QQ登录

只需一步,快速开始

微雪课堂

搜索
微雪课堂 首页 AVR AVR单片机笑傲江湖 查看内容

AVR 看门狗WDT程序

2015-6-2 16:56| 发布者: waveshare-admin| 查看: 1748| 评论: 0

摘要: 系统功能  很多人喜欢养宠物狗,很多单片鸭大侠则喜欢养看门狗,如果您也希望搞条AVR的看门狗养养,那么本节很适合您。  养看门狗的用意,在于用它监控系统:在程序本该运行的地方喂狗,如果程序卡死或跑飞,将 ...
系统功能

  很多人喜欢养宠物狗,很多单片鸭大侠则喜欢养看门狗,如果您也希望搞条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");单片机不断复位,程序得不到允许,自加数据没有显示往上加。


以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!


138

顶一下

刚表态过的朋友 (138 人)

最新评论

所有教程
AVR

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号  

GMT+8, 2019-6-19 16:42 , Processed in 0.071852 second(s), 25 queries .

Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc & Style Design

返回顶部