/****************************************************************************************
*
* 文件名: main.c
* 项目名: 22-WDT_IDLE_3
* 版 本: v1.0
* 日 期: 2016年05月31日 14时25分28秒
* 作 者: Administrator
* 程序说明:看门狗休眠唤醒参考例程,最长定时268S,看门狗可软件开关。
* 适用芯片:KF8FXXXX系列——KF8F2156、KF8F3156、KF8F4156、KF8F3155、KF8F4155、KF8F4158
* KF8TS25XX系列——KF8TS2508、KF8TS2510、KF8TS2514、KF8TS2516
* KF8TS27XX系列——KF8TS2708、KF8TS2710、KF8TS2714、KF8TS2716
* KF8VXXX系列——KF8V327、KF8V427、KF8V429
* KF8A3001
****************************************************************************************/
#include<KF8TS2716.h>
/****************************************************************************************
* 函数名: init_mcu
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回: 无
****************************************************************************************/
void init_mcu()
{
/***时钟初始化****/
OSCCTL = 0x60; //设置为16M
/***端口初始化****/
TR0 = 0x04; //设置VPP P02端口为输入,P0其他I/O口为输出
TR1 = 0x00; //设置P1端口为输出
TR2 = 0x00; //设置P2端口为输出
TR3 = 0x00; //设置P3端口为输出
P0LR = 0;
P1LR = 0;
P2LR = 0;
P3LR = 0;
P0 = 0;
P1 = 0;
P2 = 0;
P3 = 0;
}
/****************************************************************************************
* 函数名: init_WDT
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回: 无
****************************************************************************************/
void init_WDT()
{
WDTPS =0xFB; //看门狗定时器预分频1:65536
PSA = 1; //预分频器控制位,选择用于WDT
/***分频比****/
PS0 = 0; //1:1分频,18ms定时
PS1 = 0;
PS2 = 0;
}
//主函数
void main()
{
init_mcu();
init_WDT();
while(1)
{
P1LR3=!P1LR3;
_NOP_();
_NOP_();
SWDTEN=1;
_CWDT();
_IDLE(); // 进入睡眠状态
SWDTEN=0;
}
}
|