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

📄 key.lst

📁 基于51单片机控制步进电机的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 211   3                      if (sudu==1) break;
 212   3              
 213   3            }
 214   2            suduset();
 215   2           
 216   2              } 
 217   1      }
 218          
 219          
 220          
 221          
 222          ///////////////////////////////////////////////////////////////////////////
 223          void second_1(void)//反转步数设置
 224          {
 225   1       
 226   1         unsigned char keyword3; //获得按键信息
 227   1         unsigned char zhengzhuanbegin=0;//按下正转设置键标志位
 228   1         unsigned char sudu=0;                //按下速度键标志位
 229   1         P3_3=0;
 230   1         if(zhengbujin==0)//先进行的是反转的设置
 231   1         {  
 232   2           fanbujin=1;//设置反传优先标志位
 233   2           while(1)
 234   2           {
 235   3                keyword3 =keyin();
 236   3                  switch(keyword3)
 237   3              {
 238   4                      case 0x81: count(2,0);break;
 239   4                  case 0x41: count(2,1);break;
 240   4                  case 0x21: count(2,2);break;
 241   4                  case 0x11: count(2,3);break;
C51 COMPILER V8.12   KEY                                                                   05/26/2009 09:07:39 PAGE 5   

 242   4                  case 0x82: count(2,4);break;//数字的设置
 243   4                  case 0x42: count(2,5);break;
 244   4                  case 0x22: count(2,6);break;
 245   4                  case 0x12: count(2,7);break;
 246   4                  case 0x84: count(2,8);break;
 247   4                  case 0x44: count(2,9);break;
 248   4              case 0x24: zhengzhuanbegin=1; break;    //正转步数
 249   4                  case 0x28: sudu=1;break;           //只进行反转设置,开始设置速度      
 250   4                  default:break;
 251   4                  }
 252   3                      if (sudu==1) break;
 253   3                      else if(zhengzhuanbegin==1) break;
 254   3            }
 255   2            if (zhengzhuanbegin==1) second_0();
 256   2            else if(sudu==1) suduset();
 257   2          }
 258   1              
 259   1              
 260   1              else if(zhengbujin==1) //已经设置好正转了,正转优先进行
 261   1              {
 262   2           while(1)
 263   2           {
 264   3                keyword3=keyin();
 265   3                  switch(keyword3)
 266   3              {
 267   4                      case 0x81: count(2,0);break;
 268   4                  case 0x41: count(2,1);break;
 269   4                  case 0x21: count(2,2);break;
 270   4                  case 0x11: count(2,3);break;
 271   4                  case 0x82: count(2,4);break;
 272   4                  case 0x42: count(2,5);break; //数字设置
 273   4                  case 0x22: count(2,6);break;
 274   4                  case 0x12: count(2,7);break;
 275   4                  case 0x84: count(2,8);break;
 276   4                  case 0x44: count(2,9);break;
 277   4                  case 0x28: sudu=1;break;       //正反都以设置完成,设置速度      
 278   4                  default:break;
 279   4                  }
 280   3                      if (sudu==1) break;
 281   3              
 282   3            }
 283   2            suduset();
 284   2           
 285   2              } 
 286   1      }
 287          ////////////////////////////////////////////////////////////////////////////////////////
 288          void second_2(void)//正转距离设置
 289          {
 290   1      
 291   1         unsigned char keyword4; //获得按键信息
 292   1         unsigned char fanzhuanbegin=0;//按下反转设置键标志位
 293   1         unsigned char sudu=0;                //按下速度键标志位 
 294   1         P3_4=0;
 295   1         if(fanjuli==0)//先进行的是正转的设置
 296   1         {  
 297   2           zhengjuli=1;//设置正传优先标志位
 298   2           while(1)
 299   2           {
 300   3                keyword4 =keyin();
 301   3                  switch(keyword4)
 302   3              {
 303   4                      case 0x81: count(3,0);break;
C51 COMPILER V8.12   KEY                                                                   05/26/2009 09:07:39 PAGE 6   

 304   4                  case 0x41: count(3,1);break;
 305   4                  case 0x21: count(3,2);break;
 306   4                  case 0x11: count(3,3);break;
 307   4                  case 0x82: count(3,4);break;//数字的设置
 308   4                  case 0x42: count(3,5);break;
 309   4                  case 0x22: count(3,6);break;
 310   4                  case 0x12: count(3,7);break;
 311   4                  case 0x84: count(3,8);break;
 312   4                  case 0x44: count(3,9);break;
 313   4              case 0x48: fanzhuanbegin=1; break;      //反转设置键
 314   4                  case 0x28: sudu=1;break;           //只进行正转设置,开始设置速度      
 315   4                  default:break;
 316   4                  }
 317   3                      if (sudu==1) break;
 318   3                      else if(fanzhuanbegin==1) break;
 319   3            }
 320   2            if (fanzhuanbegin==1) second_3();
 321   2            else if(sudu==1) suduset();
 322   2          }
 323   1              else if(fanjuli==1) //已经设置好反转了,反转优先进行
 324   1              {
 325   2           while(1)
 326   2           {
 327   3                keyword4 =keyin();
 328   3                  switch(keyword4)
 329   3              {
 330   4                      case 0x81: count(3,0);break;
 331   4                  case 0x41: count(3,1);break;
 332   4                  case 0x21: count(3,2);break;
 333   4                  case 0x11: count(3,3);break;
 334   4                  case 0x82: count(3,4);break;
 335   4                  case 0x42: count(3,5);break; //数字设置
 336   4                  case 0x22: count(3,6);break;
 337   4                  case 0x12: count(3,7);break;
 338   4                  case 0x84: count(3,8);break;
 339   4                  case 0x44: count(3,9);break;
 340   4                  case 0x28: sudu=1;break;       //正反都以设置完成,设置速度      
 341   4                  default:break;
 342   4                  }
 343   3                      if (sudu==1) break;
 344   3              
 345   3            }
 346   2            suduset();
 347   2           
 348   2              } 
 349   1      
 350   1      
 351   1      }
 352          ////////////////////////////////////////////////////////////////////////////////////////
 353          void second_3(void)     //反转距离设置
 354          {
 355   1         
 356   1         unsigned char keyword5; //获得按键信息
 357   1         unsigned char zhengzhuanbegin=0;//按下反转设置键标志位
 358   1         unsigned char sudu=0;                //按下速度键标志位
 359   1         P3_5=0;
 360   1         if(zhengjuli==0)//先进行的是反转的设置
 361   1         {  
 362   2           fanjuli=1;//设置反传优先标志位
 363   2           while(1)
 364   2           {
 365   3                keyword5 =keyin();
C51 COMPILER V8.12   KEY                                                                   05/26/2009 09:07:39 PAGE 7   

 366   3                  switch(keyword5)
 367   3              {
 368   4                      case 0x81: count(4,0);break;
 369   4                  case 0x41: count(4,1);break;
 370   4                  case 0x21: count(4,2);break;
 371   4                  case 0x11: count(4,3);break;
 372   4                  case 0x82: count(4,4);break;//数字的设置
 373   4                  case 0x42: count(4,5);break;
 374   4                  case 0x22: count(4,6);break;
 375   4                  case 0x12: count(4,7);break;
 376   4                  case 0x84: count(4,8);break;
 377   4                  case 0x44: count(4,9);break;
 378   4              case 0x88: zhengzhuanbegin=1; break;    //反转设置键
 379   4                  case 0x28: sudu=1;break;           //只进行正转设置,开始设置速度      
 380   4                  default:break;
 381   4                  }
 382   3                      if (sudu==1) break;
 383   3                      else if(zhengzhuanbegin==1) break;
 384   3            }
 385   2            if (zhengzhuanbegin==1) second_2();
 386   2            else if(sudu==1) suduset();
 387   2          }
 388   1              else if(zhengjuli==1) //已经设置好正转了,正转优先进行
 389   1              {
 390   2           while(1)
 391   2           {
 392   3                keyword5 =keyin();
 393   3                  switch(keyword5)
 394   3              {
 395   4                      case 0x81: count(4,0);break;
 396   4                  case 0x41: count(4,1);break;
 397   4                  case 0x21: count(4,2);break;
 398   4                  case 0x11: count(4,3);break;
 399   4                  case 0x82: count(4,4);break;
 400   4                  case 0x42: count(4,5);break; //数字设置
 401   4                  case 0x22: count(4,6);break;
 402   4                  case 0x12: count(4,7);break;
 403   4                  case 0x84: count(4,8);break;
 404   4                  case 0x44: count(4,9);break;
 405   4                  case 0x28: sudu=1;break;       //正反都以设置完成,设置速度      
 406   4                  default:break;
 407   4                  }
 408   3                      if (sudu==1)  break;    
 409   3            }
 410   2            suduset();
 411   2           
 412   2              } 
 413   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1487    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      15
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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