智能车制作

标题: XS128 定时中断0,1 [打印本页]

作者: wohenhao    时间: 2016-1-9 20:58
标题: XS128 定时中断0,1
我这么写定时中断,为什么定时器0进的去 ,定时器1进不去啊 很诧异啊
void initPIT(void)//定时中断初始化函数
{   
    #define TIMDY0  100
    #define TIMDY1  100

    PITCFLMT_PITE=0; //定时中断通道

    PITCE_PCE0=1;//定时器通道0使能
    PITCE_PCE1=1;//定时器通道1使能

    PITMTLD0=80-1;//0通道8位定时器初值设定。80分频
    PITMTLD1= 160-1; //1通道8位定时器初值设定。80分频

    PITLD0=TIMDY0-1;//16位定时器初值设定。周期为TIMDY*10的-6次方,即TIMDY微秒
    PITLD1=TIMDY1-1;

    PITINTE_PINTE0=1;//定时器中断通道0中断使能
    PITINTE_PINTE1=1;//定时器中断通道1中断使能
    PITCFLMT_PITE=1;//定时器使能

}

/*************************************************************/
/*                       0通道 20MS定时中断的函数              */
/*************************************************************/

#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 66 PIT0(void)
{
vTmpPIT++;
  if(vTmpPIT<20)
   {
   PORTA=0xff;
   }
   if(vTmpPIT>20)
   {                                                         
   PORTA=0x00;

   }

   if(vTmpPIT==200)
    {
    vTmpPIT=0;
    }
     PITTF_PTF0=1;//清中断标志
}
/*************************************************************/
/*                        1通道40MS定时中断的函数              */
/*************************************************************/

#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 67 PIT1(void)
{  n++;
  if(n<10)
   {
   PORTB=0xff;
   }
   if(n>10)
   {                                                         
   PORTB=0x00;
   }  
   if(n==200)
    {
    n=0;
    }
     PITTF_PTF1=1;//清中断标志位
}






欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2