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

📄 motor_main.lst

📁 单片机控制的步进电机 不是很完善 但是能实现基本功能
💻 LST
📖 第 1 页 / 共 2 页
字号:
 143   1                              {               
 144   2                                      key=0;
 145   2                                      step_flag=1;                            
 146   2                                      Show_Sign();            //显示===========
 147   2                                      Show_Step_Length(); //显示"请预置步长: "                                        
 148   2                                      Get_Step_Length();      //预置步长                                                                                      
 149   2                              }
 150   1                      return  step_flag;      
 151   1              }
 152          
 153          void    main(void)
 154                  {
 155   1                      uchar   key,stl;
 156   1                      IntRst();               
 157   1                      Lcd_SetZ(1);    
 158   1                      Lcd_Off();      
 159   1                      Show_Null();
 160   1                      Show_Sign();    //显示===========
 161   1                      Show_Greet();
 162   1                      Lcd_On();
 163   1                      TMOD=0x21;              //T0工作在方式1,T1工作在方式2自动重装  
 164   1                      TH1=0xF3;               //波特率设置;晶振12MHz;波特率为2400
 165   1                      TL1=0xF3;               
 166   1                      SCON=0X50;              //串行口工作在方式1,八位方式,允许接收
 167   1                      PCON=0;                 //SMOD设置为0
 168   1                      EA=1;
 169   1                      ES=1;                   //串行中断允许
 170   1                      ET0=0;                  //T0中断禁止
 171   1                      TR1=1;
 172   1      
 173   1                      while((key==0)&&(SData_flag==0))
 174   1                                      key=GetKey();           
 175   1                      if(key)stepflag=Operating();
 176   1                      ST_Convert();           //将转速转换为T0常数
 177   1                      TH0=thdata;
 178   1                      TL0=tldata;
 179   1                      TR0=1;  
C51 COMPILER V7.06   MOTOR_MAIN                                                            03/24/2007 20:31:56 PAGE 4   

 180   1                      Show_Null();
 181   1                      Show_Sign();            //显示===========
 182   1                      Show_Ready();           //显示"准备好:" 
 183   1                      Show_Direction(direction);
 184   1                      key=0;
 185   1                      while((key!=START)&&(run==0))
 186   1                                      {       key=0;
 187   2                                              key=GetKey();
 188   2                                      }                                                       
 189   1                      if(stepflag)                            //步进方式
 190   1                              {       stl=step_length;                                
 191   2                                      Show_Null();            //清屏
 192   2                                      Show_Sign();            //显示===
 193   2                                      Show_Step();            //显示"步进"
 194   2                                      while(1)
 195   2                                              {                                       
 196   3                                                      if(int_cnt==stl)
 197   3                                                              {       ET0=0;                                                          
 198   4                                                                      int_cnt=0;
 199   4                                                                      step_permit=0;
 200   4                                                              }                                       
 201   3                                                      key=0;
 202   3                                                      key=GetKey();
 203   3                                                      if(key==STEP)
 204   3                                                              {       
 205   4                                                                      step_permit=1;
 206   4                                                                      key=0;
 207   4                                                                      ET0=1;                                                                                                                                                                                                                                          
 208   4                                                              }
 209   3                                                      else    if((key==DIR)||sisdf)
 210   3                                                              {
 211   4                                                                      direction=(~direction);
 212   4                                                                      Show_Direction(direction);
 213   4                                                                      sisdf=0;
 214   4                                                              }       
 215   3                                              }
 216   2                              }
 217   1      
 218   1                      else                    //全速运行方式  
 219   1                              {                                                                                                               
 220   2                                      ET0=1;
 221   2                                      Show_Null();            //清屏
 222   2                                      //Show_Sign();          //显示===
 223   2                                      //Show_Start();         //显示"启动"                                            
 224   2                                      Show_Null();            //清屏
 225   2                                      Show_Sign();            //显示===
 226   2                                      Show_Running();         //显示"运行中"
 227   2                                      Show_Direction(direction);
 228   2                                      while(1)
 229   2                                              {
 230   3                                                      key=0;
 231   3                                                      key=GetKey();
 232   3                                                      if((key==DIR)||sisdf)
 233   3                                                              {
 234   4                                                                      direction=(~direction);
 235   4                                                                      Show_Direction(direction);
 236   4                                                                      sisdf=0;
 237   4                                                              }
 238   3                                                      else    if((key==STOP)||stopflag)
 239   3                                                              {       
 240   4                                                                      ET0=0;
 241   4                                                                      Show_Null();            //清屏
C51 COMPILER V7.06   MOTOR_MAIN                                                            03/24/2007 20:31:56 PAGE 5   

 242   4                                                                      Show_Sign();            //显示===    
 243   4                                                                      Show_Stop();            //显示"停止"
 244   4                                                                      Show_Direction(direction);
 245   4                                                                      stopflag=0;
 246   4                                                              }
 247   3                                                      else    if((key==START)||run)
 248   3                                                              {
 249   4                                                                      ET0=1;
 250   4                                                                      //Show_Null();          //清屏
 251   4                                                                      //Show_Sign();          //显示===
 252   4                                                                      //Show_Start();         //显示"启动"                                            
 253   4                                                                      Show_Null();            //清屏
 254   4                                                                      Show_Sign();            //显示===
 255   4                                                                      Show_Running();         //显示"运行中"
 256   4                                                                      Show_Direction(direction);                                                              
 257   4                                                                      run=0;
 258   4                                                              }                                                                       
 259   3                                              }                                               
 260   2                              }
 261   1              }
 262          
 263          
 264          /*
 265                  void    Show_Null                       (void);//清屏
 266                  void    Show_Sign                       (void);//显示===========
 267                  void    Show_Greet                      (void);//显示电机控制系统湖南师范大学XXX制作   
 268                  void    Show_Operation_Model(void);//显示"请预置工作方式"1全速2步进  
 269                  void    Show_Speed_Set          (void);//显示"请预置转速 "
 270                  void    Show_Step_Length        (void); //显示"请预置步长: "   
 271                  void    Show_Ready                      (void);//显示"准备好:"  
 272                  void    Show_Start                      (void);//显示"启动" 
 273                  void    Show_Running            (void);//显示"运行中"
 274                  void    Show_Stop                       (void);//显示"停止"
 275                  void    Show_Step                       (void);//显示"步进"
 276                  void    Show_Direction          (bit a)//显示"正反向"
 277          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    842    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7      10
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      7       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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