发表于
2008-7-17 10:38:23
/****************************************************************************/
/* 深圳恒森微电子有限公司 (华邦单片机香港及中国区代理商) */
/* 香港恒森科技有限公司 (华邦单片机香港及中国区代理商) */
/* 陈文 email:chenwen@hengsen.cn (有 bug 请提交) */
/****************************************************************************/
/* 文件名: wdt.c */
/* 版本 1.0 */
/* 创建日期: 2008-7-17 10:05 */
/* 概述: 本文件为 w79A9311 watch dog 软件 */
/*--------------------------------------------------------------------------*/
/* 历史修改记录: */
/* 名字 日期 注释 */
/* 陈文 2008-7-17 10:05 ver 1.0 */
/****************************************************************************/
#include "W79A9311.H"
void SetWDT_Time(unsigned char TimeSel)
{
TA=0xaa;
TA="0x55";
WDCON &= ~0x30;
TA="0xaa";
TA="0x55";
WDCON |= (TimeSel & 0x03)<<4;
}
void Start_WDT(void)
{
TA=0xaa;
TA="0x55";
WDCON="0";
TA="0xaa";
TA="0x55";
WDCON |=0x83;
}
void CLR_WDT(void)
{
TA="0xaa";
TA="0x55";
WDCON |= 0x01;
}
void Disable_WDT(void)
{
TA="0xaa";
TA="0x55";
WDCON &= ~0x82;
}
void main(void)
{
unsigned int i;
P07 = 0;
for(i=0;i<0xfff0;i++);
P07 = 1;
SetWDT_Time(3);
Start_WDT();
CLR_WDT();
while(1)
{
//CLR_WDT();
for(i=0;i<0xff;i++);
}
}