MC9S12HY64汽车仪表步进电机实验

2019-12-10 18:27发布


MC9S12HY64汽车仪表步进电机实验:我的程序中为何一加仪表回零程序马上卡死?望老师指导?谢谢!

/************************************************************/
/*                         主函数                           */
/************************************************************/
void main(void)
{
  DisableInterrupts;
  INIT_PLL_24MHz ();
  initialize_tim0();
  init_motor();
  INIT_AD();
        EnableInterrupts;

  /**for(j=0;j<1080;j++)       //逆时针转动180度,指针归位
  {
      delay200us(1);      
      motor_step(0,1);      
      motor_step(1,0);
      motor_step(2,1);
      motor_step(3,1);
  }

      oil_actual=0;            
      water_actual=0;
      QY_actual=0;
      YW_actual=0;
      **/


   TIM0_TFLG1_C4F = 1;         //清除标志位
   TIM0_TC4 =  TIM0_TCNT + 125;  //设置输出比较时间为4us*125=500us
   TIM0_TIE=0x10;              //使能通道四中断

   TIM0_TFLG1_C7F = 1;         //清除标志位
   TIM0_TC7 =  TIM0_TCNT + 1250; //设置输出比较时间为4us*1250=5000us=5ms   

   for(;;)
  {

    POWER=POWER_PT1AD;  //读取PT1AD的电平状态赋值给变量POWER        
    if(POWER==1)        //如果POWER的值为1
        POWOK=1;        //点火开关开启电源工作自锁
        else
          POWOK=0;      //否则关闭电源   


     if(TIM0_TFLG1_C7F==1)   //5ms一个周期
      {
          TIM0_TFLG1_C7F = 1;          //清除标志位
          TIM0_TC7 = TIM0_TCNT + 1250;  //设置输出比较时间为5ms


          AD_in3 = AD_capture(3);       //调用带返回值的起动AD转换函数 AD02赋值给AD_in3
          AD_in2 = AD_capture(2);       //调用带返回值的起动AD转换函数 AD00赋值给AD_in2

          AD_in1 = AD_capture(1);       //调用带返回值的起动AD转换函数 AD03赋值给AD_in1
          AD_in0 = AD_capture(0);       //调用带返回值的起动AD转换函数 AD05赋值给AD_in0
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
jenkins
1楼-- · 2019-12-10 23:51
本帖最后由 jenkins 于 2019-5-28 19:15 编辑

哈哈,我是专业搞这个的,发完整的程序看看。你用那个型号电机?
leezee
2楼-- · 2019-12-11 05:38
一直不是很明白仪表指针回零的原理,按说有专门的上电回零程序的话,那指针拆下来后,随便安回去上电都能自动停到零位啊,实际上却不是这样
LinuxTux.China
3楼-- · 2019-12-11 09:08
leezee 发表于 2019-5-28 21:33
一直不是很明白仪表指针回零的原理,按说有专门的上电回零程序的话,那指针拆下来后,随便安回去上电都能自动 ...

我记得当初是这样做,不管指针在哪个位置,程序控制归零,所以会听到指针那个电机齿轮打转的声音
wjb444
4楼-- · 2019-12-11 10:56
回0有个挡块,会堵转
wjb444
5楼-- · 2019-12-11 16:28
 精彩回答 2  元偷偷看……
bccuje_love
6楼-- · 2019-12-11 19:24
leezee 发表于 2019-5-28 21:33
一直不是很明白仪表指针回零的原理,按说有专门的上电回零程序的话,那指针拆下来后,随便安回去上电都能自动 ...

电机里面有个挡块,电机的角度一般330度,

一周热门 更多>