//#include "pic_timer246.h"
//timer2 预分频值
#defineTIMER2_1DIV1(0<<0)
#defineTIMER2_1DIV4(1<<0)
#defineTIMER2_1DIV16(2<<0)
#defineTIMER2_1DIV64(3<<0)
//timer2 后分频值
#defineTIMER2_2DIV1(0<<3)
#defineTIMER2_2DIV2(1<<3)
#defineTIMER2_2DIV3(2<<3)
#defineTIMER2_2DIV4(3<<3)
#defineTIMER2_2DIV5(4<<3)
#defineTIMER2_2DIV6(5<<3)
#defineTIMER2_2DIV7(6<<3)
#defineTIMER2_2DIV8(7<<3)
#defineTIMER2_2DIV9(8<<3)
#defineTIMER2_2DIV10(9<<3)
#defineTIMER2_2DIV11(10<<3)
#defineTIMER2_2DIV12(11<<3)
#defineTIMER2_2DIV13(12<<3)
#defineTIMER2_2DIV14(13<<3)
#defineTIMER2_2DIV15(14<<3)
#defineTIMER2_2DIV16(15<<3)
//-------
#defineTIMER2_IEN_ENBTMR2IE = 1 ;//允许T2中断
#defineTIMER2_IEN_DISTMR2IE = 0 ;//禁止T2中断
//*************************************
// 函数名称:Init_Timer2
// 函数功能:定时器0初始化
// 入口参数:定时器预分频值 后分频值 计数值
// 出口参数:无
// T2/4/6的时钟源为Fosc/4
//***************************************
void Init_Timer2(uint8 pscr1,uint8 pscr2,uint8 Tcon)
{
TMR2IF = 0 ;
TMR2IE = 0 ;
T2CON = pscr1 | pscr2|(1<<2) ;//开启定时器2工作
TMR2 = Tcon ;//计数值
PR2 = Tcon ; //比较值
}
//---应用实例------
//TIMER2初始化程序
Init_Timer2(TIMER2_1DIV64,TIMER2_2DIV5,250);// 定时40U*250=10MS
TIMER2_IEN_ENB ;//使能T2中断
//TIMER2_IEN_DIS ; //禁止T2中断