智能车制作

标题: 中断你该工作了 [打印本页]

作者: startstart    时间: 2014-7-1 10:35
标题: 中断你该工作了
请指导一下,在线等。 void INT_Init(void)//定时中断初始化函数 50MS定时中断设置 {        PITCFLMT_PITE=0; //定时中断模块关      PITCE=0x07;//定时器通道0,1,2使能      PITMTLD0=128-1;// 64m赫兹 128分频 每个周期2us                                                     PITLD0=1000-1;//  2us*2000=2ms      PITLD1=500-1;  // 2us* 500=1 ms      PITLD2=12500-1;   // 25 ms               打开这句话编码器工作,ccd不工作,屏蔽掉ccd工作,编码器不正常工作      PITINTE=0x07;//定时器中断通道0中断使能      PITCFLMT_PITE=1;//定时器通道使能 }#pragma CODE_SEG __NEAR_SEG NON_BANKED/*************************************************************************//函数名: PIT0//输入:   NONE                                  //输出:   NONE//改变全局变量:AD_Value SenA,SenB System_Feed_Speed//作用: 4MS内部中断,完成AD扫描,电机策略,舵机策略等等主要的赛车控制****************************************************************************/void interrupt 68 PIT1(void)   // 1ms{         static unsigned char TimerCnt20ms = 0;      unsigned char integration_piont;             PITTF_PTF1=1;//清中断标志位      mm++;       TimerCnt20ms++;
           /* 根据曝光时间计算20ms周期内的曝光点 */            integration_piont = 20 - IntegrationTime;             if(integration_piont >= 2) {      /* 曝光点小于2(曝光时间大于18ms)则不进行再曝光 */                   if(integration_piont == TimerCnt20ms)                     StartIntegration();           /* 曝光开始 */                           }
             if(TimerCnt20ms >= 10) {                  TimerCnt20ms = 0;                  TimerFlag20ms = 1;                        }              if(TimerFlag20ms == 1) {                  TimerFlag20ms = 0;                     Integration(Pixel);   //获得像素值                  }            if(mm==1)                     //中断计数为1 时        {   mm=0;       if(t1==0)         {           t2++;           CalculateIntegrationTime();  //开始曝光    //跳入自适应曝光                        if(t2==800)            {              t1=2;              t2=0;           }        }    }} void interrupt 66 PIT0(void)   // 2ms  {   PITTF_PTF0=1;//清中断标志位 nn++;                Servo_PID();          //舵机PID         }   }            if(mnn=31{     System_Feed_Speed=PACNT;   //获得速度             //清中断标志位   // PITTF_PTF0=1;     PACNT=0X0000;              //而后清0寄存器                              }         else if(nn==22{    Moto_PID();          //调节电机速度   这个函数在MOTER?     //System_Feed_Speed=PACNT;   //获得速度             //清中断标志位   // PITTF_PTF0=1;     //PACNT=0X0000;              //而后清0寄存器   }    else if(nn==53{           nn=0;        get_black_wire11();       } }  void interrupt 67 PIT2(void)      //25ms{    //static int i;   PITTF_PTF2=1;//清中断标志位 }


作者: GVC    时间: 2014-7-1 16:48
亲,请先把程序排版好,不然别人怎么帮你看
作者: 〃淺念ぐ    时间: 2014-7-1 17:44





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