智能车制作

标题: CD4520与PT7口采集回来的脉冲差距很大,求帮助 [打印本页]

作者: ☆灬学乖    时间: 2013-5-21 16:41
标题: CD4520与PT7口采集回来的脉冲差距很大,求帮助
static void IOC_Init(void)
{   
    TCNT =0x00;
    TSCR1=0x80;//时钟允许
    TSCR2=0x04;//div by 16
   
    PACTL=0xc0;//PT7 PIN,PACN32 16BIT,FALLing edge,NOT INTERRUPT
    TCTL3=0xc0;//c-输入捕捉7任何沿有效,            
    TCTL4=0x03;//0表示ICx禁止, 1表示上升沿, 2表示下降沿, 3表示任何沿      
    TIE  =0x00;//每一位对应相应通道中断允许,0表示禁止中断
    TIOS =0x00;//每一位对应通道的: 0输入捕捉,1输出比较
    TCTL3_EDG7x=1;//c-输入捕捉7任何沿有效,
    TCTL4_EDG0x=1;
}
void GetMotorPulse(void) //采集脉冲
{
  g_nLeftMotorPulseSigma+=PORTA;
  PORTE_PE2=1;
  _asm(nop);
  _asm(nop);
  PORTE_PE2=0;
  _asm(nop);
  _asm(nop);
  
  g_nRightMotorPulseSigma+=PACNT;
  PACNT=0;        
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED    //1ms中断
void interrupt 66 PIT0_ISR(void)
{
    PITTF_PTF0=1;           //清中断标志位
    PIT_CNT++;
     g_nSpeedControlPeriod++;
      SpeedControlOutput();
     if(PIT_CNT>=6) {
      
      PIT_CNT=0;
      GetMotorPulse();
    }
   
    else if(PIT_CNT<=4)
    {
   
     TSL1401_GetLine();  
    AD_Erzhihua();
   
      fAD_QIUHE() ;
     fAD_QIUJUNZHI();
     Drection_Out();
      SANG=ANG;  
   
    }
    else if(PIT_CNT==5) {
      
       g_nSpeedControlCount ++;
    if(g_nSpeedControlCount >= SPEED_CONTROL_COUNT)//SPEED_CONTROL_COUNT=20,
    {
      SpeedControl();
      
      g_nSpeedControlCount = 0;
      g_nSpeedControlPeriod = 0;
     }
   
    }
    else if(PIT_CNT==6)
                     
    {
        if(SANG>=ANG_center-10) {
         
        Fangxiang_Out();
        }
    }   
}


作者: 13486662319    时间: 2013-5-21 16:57
PT7脉冲采集啊  干嘛输入捕捉
作者: ☆灬学乖    时间: 2013-5-21 17:27
13486662319 发表于 2013-5-21 16:57
PT7脉冲采集啊  干嘛输入捕捉

大神,那该怎么写啊
作者: 为丞而琳    时间: 2013-5-21 23:55
有必要这么复杂吗,PT7两句代码就够了
作者: 13486662319    时间: 2013-5-22 09:20
☆灬学乖 发表于 2013-5-21 17:27
大神,那该怎么写啊

书里不是有介绍脉冲采集的吗
                      //脉冲pt7初始化
  PACTL = 0x40;      //脉冲计数 下降沿
  PACNT = 0x0000;    // Pulse Accumulators Count Registers (PACNT)
读PANCT就是脉冲数      

作者: ☆灬学乖    时间: 2013-5-22 19:38
为丞而琳 发表于 2013-5-21 23:55
有必要这么复杂吗,PT7两句代码就够了

妹妹,你再看看读脉冲程序,还有中断有没有问题啊





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