/****************************************************************************************
 * KF8A系列单片机	KF8A100EON_DEMO	开发板演示程序
 * 标    题: 定时器0、1、2、4实验
 * 项目名: 03- Timer_Test
 * 开发环境：ChipON IDE
 * 版          本     ：V1.0 (2019/07/23)
 * 作 者: 上海芯旺微电子有限公司
 * 功能简述: 定时器0、1、2、3定时每500ms灯LED_R灯闪烁一次,定时器选择宏定义在Timer.h中
 * 硬件说明：
 * 跳线接法： 单片机供电跳帽选择为3.3V或5V
 ****************************************************************************************/
#include<KF8A100EON.h>
#include "include.h"

volatile uint Timer0_count,Timer1_count,Timer2_count,Timer4_count;


void Sys_Init(void)
{
	OSCCTL = 0x70;		//时钟配置为内部16M
	TR0=0;
	TR1=0;
	TR2=0;
	TR3=0;
	P0=0;
	P1=0;
	P2=0;
	P3=0;
}

void Timer_Init(void)
{
#if Timer0
	Timer0_Init();
#endif
#if Timer1
	Timer1_Init();
#endif
#if Timer2
	Timer2_Init();
#endif
#if Timer4
	Timer4_Init();
#endif
}

//主函数
void main()
{
	Sys_Init();
	Timer_Init();
	while(1)
	{
#if	Timer0
		if(Timer0_count>=61)
		{
			Timer0_count=0;
			LED_R=!LED_R;
		}
#endif
#if	Timer1
		if(Timer1_count>=5)
		{
			Timer1_count=0;
			LED_R=!LED_R;
		}
#endif
#if	Timer2
		if(Timer2_count>=1)
		{
			Timer2_count=0;
			LED_R=!LED_R;
		}
#endif
#if	Timer4
		if(Timer4_count>=20)
		{
			Timer4_count=0;
			LED_R=!LED_R;
		}
#endif
	}

}


//中断函数0:0X04入口地址
void int_fun0() __interrupt (0)
{
#if Timer0
	if(T0IE&T0IF)
	{
		T0IF=0;
		Timer0_count++;
	}
#endif
#if Timer1
	if(T1IE&T1IF)
	{
		T1IF=0;
		Timer1_count++;
	}
#endif
#if Timer2
	if(T2IE&T2IF)
	{
		T2IF=0;
		Timer2_count++;
	}
#endif
#if Timer4
	if(T4IE&T4IF)
	{
		T4IF=0;
		Timer4_count++;
	}
#endif
}


//中断函数1:0x14入口地址
void int_fun1() __interrupt (1)
{

}
