⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 at892051控制步进电机程序.txt

📁 该文件是关于使用AT892051产生pwm控制的电动机的资料。
💻 TXT
字号:
# include<AT892051.H>
# include<intrins.h>
# include<absacc.h>

sbit MA1=p1^4;
sbit MA2=p1^5;
sbit MA1=p1^2;
sbit MA2=p1^3;

//*************************
//********延时n*10ms
//*************************

void delay1ms(unsigned char time)
{    unsigned char i;
     unsigned int j;
     for(i=0;i<time;i++)
     {    for(j=0;j<0x39;j++)
           {     _nop_();
                 _nop_();
                 _nop_();
            }
      }
}

//第一相控制
void motor1(unsigned char flag)
{     switch(flag)
       {    case 1:       //正转
             {     MA1=0;
                   MA2=1;
                   break;
             }
             case 2:      //反转
             {     MA1=1;
                   MA2=0;
                   break;
             }
             case 3:      //停止
             {
                   MA1=0;
                   MA2=0;
                   break;
              }
              case 4:     //制动
              {    MA1=1;
                   MA2=1;
                   break;
              }
              default:
                   break;
          }
}

//第二相控制
void motor2(unsigned char flag)
{       switch(flag)
        {     case 1:               //正转
               {     MA1=0;
                     MA2=1;
                     break;
                }
                case 2:            //反转
                {     MA1=1;
                      MA2=0;
                      break;
                 }
                 case 3:            //停止
                 {    MA1=0;
                      MA2=0;
                      break;
                  }
                  case 4:           //制动
                  {    MA1=1;
                       MA2=1;
                       break;
                   }
                   default:
                   break;
         }
}

void main ( )
{
   unsigned char k;
   unsigned char idata stepa[8]={4,2,2,2,4,1,1,1};
   unsigned char idata stepb[8]={2,2,4,1,1,1,4,2};
   for(k=0;k<8;k++)
   {  motor1(stepa[k];
      motor2(stepb[k];
      delay1ms;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -