专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

51单片机实现步进电机加减速的例子-加注释

作者:佚名   来源:不详   点击数:  更新时间:2014年08月17日   【字体:

 

 
 
 
void  motor_ffw()
 {
   unsigned char i;
 
      for (i=0; i<8; i++)       //一个周期转30度
        {
          P1 = FFW[i]&0x1f;  //取数据
  //FFW为步进码
          delay();           //调节转速
        }
     }
 
 
 
 void delay()  
{                          
   unsigned int k,t;
    t=rate;  //转速定义
   while(t--)
   {
     for(k=0; k<150; k++)
     { }
   }
}
void motor_turn()
{
 unsigned char x;
 rate=0x0a;
 x=0x40;
 do
 {
  mote_ffw();
  rate--;  //每进一步时间越来越短
 }while(rate!=0x01);//处于加速过程
 do
 {
 motor_ffw();
 x--;     //每减一,进一步,匀速过程
          //此处同样可以设延时函数
 } while(x!=0x01);
 do
 {
  motor_ffw();
  rate++; //每进一步时间越来越长
 
 }  while(rate!=0x0a);//处于减速过程
}
 
关闭窗口