智能车制作

标题: 128定时器1和定时器0 [打印本页]

作者: 羅先森    时间: 2014-6-28 18:45
标题: 128定时器1和定时器0
void PIT_Init(void)
{
   PITCFLMT=0x00; //禁止使能PIT模块
   PITCE_PCE0=1;  //使能定时器通道0
   PITCE_PCE1=1;
   PITMUX_PMUX0=0; //定时器通道0使用微定时基准0
   PITMUX_PMUX1=0;
   PITMTLD0=8-1; //设置8位微定时装载寄存器0初值
   PITMTLD1=8-1;
   PITLD0=8000-1; //定时周期=(&PITMTLD0+1)*(&PITLD0+1)
   PITLD1=8000-1;
   PITINTE=0x03;  //使能PIT定时器通道0中断
   PITCFLMT=0x80; //使能PIT模块
}

//==============================================================
//函数:void TimInit (void)
//描述:脉冲累加器初始化
//参数:无
//返回:无
//==============================================================
void TimInit (void)
{

  TIOS  = 0x00;          //T0、T1设置为输入捕捉,摄像头行场中断---关输出比较通道7
  TCTL1 = 0x00;         //OC7与逻辑通道断开
  TCTL4 = 0x09;         //通道0上升沿触发,通道 1 下降沿触发
  OC7M  = 0x00;         //通道7不管理其他通道
  TSCR1 = 0x80;         //使能定时器
  PACTL = 0x40;         //使能PA,门计数模式,上升沿,中断禁止   0101 0000
  PACTL=0x40;     //使能脉冲累加器
  PACNT=0x00;     //装初值
}


#pragma CODE_SEG __NEAR_SEG NON_BANKED                                                                     
interrupt VectorNumber_Vpit0 void PIT_ISR1 (void)
{
  num2++;

if(num2>=20)
{
    num2=0;
   time_flag=1;   
}

PITTF_PTF0=1; //清除中断ADtransform();
}

#pragma CODE_SEG DEFAULT

#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt VectorNumber_Vpit1 void PIT_ISR2 (void)
{
   num1++;
   if(num1>=10)
  {
    num1=0;
    pulse_count=PACNT;
    PACNT=0;
    speed_flag=1;

  }
   PITTF_PTF1= 1;
}
#pragma CODE_SEG DEFAULT                      为什么定时器1的程序就是执行不了呢      
作者: 羅先森    时间: 2014-6-28 19:18
发现改了一下初值1的变成4000进去了,这是为什么呢




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