久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > AVR 看門狗WDT程序

AVR 看門狗WDT程序

作者: 時間:2016-11-17 來源:網絡 收藏
系統功能

本文引用地址:http://cqxgywz.com/article/201611/315549.htm

很多人喜歡養寵物狗,很多單片鴨大俠則喜歡養看門狗,如果您也希望搞條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_HCmmICC.H"

#define DISP_DDRDDRB
#define DISP_PORTPORTB

/*--------------------------------------------------------------------
程序名稱:看門狗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看門狗WDT程

評論


技術專區

關閉