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

📄 main.lst

📁 这是一个成熟的用于驱动步进马达的程序,我们用于调试螺钉的.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 294   2                              (Data2[1]-h6)>ALLOW_LOW && (Data2[1]-h6<ALLOW_UP) &&
 295   2                              (Data2[2]-h7)>ALLOW_LOW && (Data2[2]-h7<ALLOW_UP) &&
 296   2                              (Data2[3]-h8)>ALLOW_LOW && (Data2[3]-h8<ALLOW_UP))
 297   2                      {
 298   3                              calculate();
 299   3                              if((Data2[0]-h5)>ALLOW_LOW && (Data2[0]-h5<ALLOW_UP) &&
 300   3                              (Data2[1]-h6)>ALLOW_LOW && (Data2[1]-h6<ALLOW_UP) &&
 301   3                              (Data2[2]-h7)>ALLOW_LOW && (Data2[2]-h7<ALLOW_UP) &&
 302   3                              (Data2[3]-h8)>ALLOW_LOW && (Data2[3]-h8<ALLOW_UP))
 303   3                              {
C51 COMPILER V8.15   MAIN                                                                  10/29/2008 21:06:48 PAGE 6   

 304   4                                      TR1=0;
 305   4                                      EN=1;
 306   4                                      step_run0=0;
 307   4                                      step_run1=0;
 308   4                                      step_run2=0;
 309   4                                      step_run3=0;
 310   4                                      break;
 311   4                              }
 312   3                      }
 313   2              }
 314   1      }
 315          
 316          void NormalDisp()
 317          {       
 318   1              Linexy(L1_X0, L1_Y0, L1_X1, L1_Y1, 1);
 319   1              Linexy(L2_X0, L2_Y0, L2_X1, L2_Y1, 1);
 320   1              Linexy(L3_X0, L3_Y0, L3_X1, L3_Y1, 1);
 321   1              Linexy(L4_X0, L4_Y0, L4_X1, L4_Y1, 1);
 322   1              Linexy(L5_X0, L5_Y0, L5_X1, L5_Y1, 1);
 323   1              Linexy(L6_X0, L6_Y0, L6_X1, L6_Y1, 1);
 324   1              Linexy(L7_X0, L7_Y0, L7_X1, L7_Y1, 1);
 325   1              Linexy(L8_X0, L8_Y0, L8_X1, L8_Y1, 1);
 326   1              Linexy(L9_X0, L9_Y0, L9_X1, L9_Y1, 1);
 327   1              Linexy(L10_X0, L10_Y0, L10_X1, L10_Y1, 1);
 328   1              
 329   1              PutCdotInGraph(HIGHT_X, HIGHT_Y,16, hight[0]);
 330   1              PutCdotInGraph(HIGHT_X+2, HIGHT_Y,16, hight[1]);
 331   1              PutCdotInGraph(HIGHT_X+4, HIGHT_Y,16, hight[2]);
 332   1              PutCdotInGraph(HIGHT_X+6, HIGHT_Y,16, hight[3]);
 333   1              PutSdotInGraph(HIGHT_X+8, HIGHT_Y, ":");
 334   1              PutCdotInGraph(HIGHT_X+9, HIGHT_Y,16, fuhao);
 335   1              
 336   1              PutCdotInGraph(SENSITIVE_X, SENSITIVE_Y,16, sensitive[0]);
 337   1              PutCdotInGraph(SENSITIVE_X+2, SENSITIVE_Y,16, sensitive[1]);
 338   1              PutCdotInGraph(SENSITIVE_X+4, SENSITIVE_Y,16, sensitive[2]);
 339   1              PutCdotInGraph(SENSITIVE_X+6, SENSITIVE_Y,16, sensitive[3]);
 340   1              PutSdotInGraph(SENSITIVE_X+8, SENSITIVE_Y, ":");
 341   1              PutCdotInGraph(SENSITIVE_X+9, SENSITIVE_Y,16, fuhao);
 342   1      
 343   1              PutCdotInGraph(DELAY_X, DELAY_Y,16, delay[0]);
 344   1              PutCdotInGraph(DELAY_X+2, DELAY_Y,16, delay[1]);
 345   1              PutCdotInGraph(DELAY_X+4, DELAY_Y,16, delay[2]);
 346   1              PutCdotInGraph(DELAY_X+6, DELAY_Y,16, delay[3]);
 347   1              PutSdotInGraph(DELAY_X+8, DELAY_Y, ":");
 348   1              PutCdotInGraph(DELAY_X+9, DELAY_Y,16, fuhao);
 349   1              
 350   1              PutCdotInGraph(RESULT_X, RESULT_Y,16, result[0]);
 351   1              PutCdotInGraph(RESULT_X+2, RESULT_Y,16, result[1]);
 352   1              PutSdotInGraph(RESULT_X+4, RESULT_Y, ":");
 353   1      
 354   1              PutCdotInGraph(NOWVALUE_X, NOWVALUE_Y,16, nowvalue[0]);
 355   1              PutCdotInGraph(NOWVALUE_X+2, NOWVALUE_Y,16, nowvalue[1]);
 356   1      
 357   1              PutCdotInGraph(TARGET_X, TARGET_Y,16, target[0]);
 358   1              PutCdotInGraph(TARGET_X+2, TARGET_Y,16, target[1]);
 359   1      
 360   1              PutCdotInGraph(P5_X, P5_Y,16, p5dot);  
 361   1      
 362   1              PutCdotInGraph(P6_X, P6_Y,16, p6dot);
 363   1      
 364   1              PutCdotInGraph(P7_X, P7_Y,16, p7dot);
 365   1      
C51 COMPILER V8.15   MAIN                                                                  10/29/2008 21:06:48 PAGE 7   

 366   1              PutCdotInGraph(P8_X, P8_Y,16, p8dot);
 367   1      
 368   1              PutCdotInGraph(TTH_X, TTH_Y,16, tthdot[0]);
 369   1              PutCdotInGraph(TTH_X+2, TTH_Y,16, tthdot[1]);
 370   1              PutCdotInGraph(TTH_X+4, TTH_Y,16, tthdot[2]);   
 371   1      
 372   1              NumDisp_816(HIGHT_V_X, HIGHT_V_Y, 5, hight_limit);
 373   1              NumDisp_816(SENSITIVE_V_X, SENSITIVE_V_Y, 5, sensitive_limit);
 374   1              NumDisp_816(DELAY_VALUE_X, DELAY_VALUE_Y, 5, delay_value);
 375   1      
 376   1              PutCdotInGraph(RESULT_V_X, RESULT_V_Y, 24,  pass[0]);
 377   1              PutCdotInGraph(RESULT_V_X+3, RESULT_V_Y, 24,  pass[1]);
 378   1              PutCdotInGraph(RESULT_V_X+6, RESULT_V_Y, 24,  pass[2]);
 379   1              PutCdotInGraph(RESULT_V_X+9, RESULT_V_Y, 24,  pass[3]);
 380   1      
 381   1              BmpDisp(16,0,192,240,bmp);
 382   1      
 383   1              ram_clear(RESULT_V_X, RESULT_V_Y, 96, 24);
 384   1      }
 385          
 386          void disp_4point(uchar flag)
 387          {
 388   1              int tmp32;
 389   1              if(flag==TT_AD)
 390   1              {
 391   2                      NumDisp(P1_X_V, P1_Y_V, Data1[0]);
 392   2                      NumDisp(P2_X_V, P2_Y_V, Data1[1]);
 393   2                      NumDisp(P3_X_V, P3_Y_V, Data1[2]);
 394   2                      NumDisp(P4_X_V, P4_Y_V, Data1[3]);
 395   2              }
 396   1              if(flag==POLE_AD)
 397   1              {
 398   2                      NumDisp_816(P5NOW_X, P5NOW_Y, 0, Data2[0]);
 399   2                      NumDisp_816(P6NOW_X, P6NOW_Y, 0, Data2[1]);
 400   2                      NumDisp_816(P7NOW_X, P7NOW_Y, 0, Data2[2]);
 401   2                      NumDisp_816(P8NOW_X, P8NOW_Y, 0, Data2[3]);
 402   2                      tmp32=((Data1[0]+Data1[1]+Data1[2]+Data1[3])-(Data2[0]+Data2[1]+Data2[2]+Data2[3]))>>2;
 403   2                      NumDisp_816(TTH_CHECK_X, TTH_CHECK_Y, 0, tmp32);
 404   2              }
 405   1      }
 406          
 407          void disp_target()
 408          {
 409   1              NumDisp_816(P5TAR_X, P5TAR_Y, 0, h5);
 410   1              NumDisp_816(P6TAR_X, P6TAR_Y, 0, h6);
 411   1              NumDisp_816(P7TAR_X, P7TAR_Y, 0, h7);
 412   1              NumDisp_816(P8TAR_X, P8TAR_Y, 0, h8);
 413   1      }
 414          
 415          
 416          #if 1
 417          void adjustset()
 418          {
 419   1          uchar i=0;
 420   1          if(START==0)
 421   1          {
 422   2              delay_xms(100);
 423   2              if(START==0)
 424   2              {
 425   3                  while(1)
 426   3                  {
 427   4                                      delay_xms(100);
C51 COMPILER V8.15   MAIN                                                                  10/29/2008 21:06:48 PAGE 8   

 428   4                              if((KEY_1==1)&&(KEY_2==1)&&(KEY_3==0))     //按下“MENU”键
 429   4                          {
 430   5                          delay_xms(30);
 431   5                          if((KEY_1==1)&&(KEY_2==1)&&(KEY_3==0))
 432   5                          {
 433   6                                  i++;
 434   6                                  if(i>=8)
 435   6                                      i=0;
 436   6                          }
 437   5                          }
 438   4                              if((KEY_1==1)&&(KEY_2==0)&&(KEY_3==1))      //按下“UP”键
 439   4                              {
 440   5                                      delay_xms(30);
 441   5                                      if((KEY_1==1)&&(KEY_2==0)&&(KEY_3==1))
 442   5                                      {
 443   6                                                      if(i<4)
 444   6                                              para1[i]++;
 445   6                                                      else
 446   6                                                              para2[i-4]++;
 447   6                                      }
 448   5                              }
 449   4                              if((KEY_1==0)&&(KEY_2==1)&&(KEY_3==1))      //按下“DOWN”键
 450   4                          {
 451   5                          delay_xms(30);
 452   5                          if((KEY_1==0)&&(KEY_2==1)&&(KEY_3==1))
 453   5                          {
 454   6                                                      if(i<4)
 455   6                                      para1[i]--;
 456   6                                                      else
 457   6                                                              para2[i-4]--;
 458   6                          }
 459   5                          }
 460   4      
 461   4                                      if((KEY_1==1)&&(KEY_2==0)&&(KEY_3==0))     //按下“LEFT”键
 462   4                                  {
 463   5                                  delay_xms(30);
 464   5                                  if((KEY_1==1)&&(KEY_2==0)&&(KEY_3==0))
 465   5                                  {
 466   6                                          if(i<4)
 467   6                                      para1[i]-=20;
 468   6                                                      else
 469   6                                                              para2[i-4]-=20;
 470   6                                  }
 471   5                                  }
 472   4      
 473   4                                      if((KEY_1==0)&&(KEY_2==1)&&(KEY_3==0))      //按下“RIGHT”键
 474   4                                  {
 475   5                                  delay_xms(30);
 476   5                                  if((KEY_1==0)&&(KEY_2==1)&&(KEY_3==0))
 477   5                                  {
 478   6                                          if(i<4)
 479   6                                      para1[i]+=20;
 480   6                                                      else
 481   6                                                              para2[i-4]+=20;
 482   6                                  }
 483   5                                  }
 484   4      
 485   4                                      NumDisp(16, 13, para1[0]);
 486   4                                      NumDisp(16, 14, para1[1]);
 487   4                                      NumDisp(16, 15, para1[2]);
 488   4                                      NumDisp(16, 16, para1[3]);
 489   4                                      NumDisp(16, 17, para2[0]);
C51 COMPILER V8.15   MAIN                                                                  10/29/2008 21:06:48 PAGE 9   

 490   4                                      NumDisp(16, 18, para2[1]);
 491   4                                      NumDisp(16, 19, para2[2]);
 492   4                                      NumDisp(16, 20, para2[3]);
 493   4                                      ADS8364_read(TT_AD,CHECK_TIMES);
 494   4                                      ADS8364_read(POLE_AD,CHECK_TIMES);
 495   4                                      disp_4point(TT_AD);
 496   4                                      disp_4point(POLE_AD);
 497   4      
 498   4                                      if((KEY_1==0)&&(KEY_2==0)&&(KEY_3==1))          //按下“ESC”键
 499   4                                  {
 500   5                                  delay_xms(30);
 501   5                                  if((KEY_1==0)&&(KEY_2==0)&&(KEY_3==1))
 502   5                                  {
 503   6                                          break;
 504   6                                  }
 505   5                                  }
 506   4                      }
 507   3                              parasave();
 508   3              }
 509   2          }
 510   1      }
 511          #endif
 512          
 513          void parasave()
 514          {
 515   1              uchar tmp[22];
 516   1              tmp[0]=(uchar)hight_limit;
 517   1              tmp[1]=(uchar)(hight_limit>>8);
 518   1              tmp[2]=(uchar)sensitive_limit;
 519   1              tmp[3]=(uchar)(sensitive_limit>>8);
 520   1              tmp[4]=(uchar)delay_value;
 521   1              tmp[5]=(uchar)(delay_value>>8);
 522   1              tmp[6]=(uchar)para1[0];
 523   1              tmp[7]=(uchar)(para1[0]>>8);
 524   1              tmp[8]=(uchar)para1[1];
 525   1              tmp[9]=(uchar)(para1[1]>>8);
 526   1              tmp[10]=(uchar)para1[2];
 527   1              tmp[11]=(uchar)(para1[2]>>8);
 528   1              tmp[12]=(uchar)para1[3];
 529   1              tmp[13]=(uchar)(para1[3]>>8);
 530   1              tmp[14]=(uchar)para2[0];
 531   1              tmp[15]=(uchar)(para2[0]>>8);
 532   1              tmp[16]=(uchar)para2[1];
 533   1              tmp[17]=(uchar)(para2[1]>>8);
 534   1              tmp[18]=(uchar)para2[2];
 535   1              tmp[19]=(uchar)(para2[2]>>8);
 536   1              tmp[20]=(uchar)para2[3];
 537   1              tmp[21]=(uchar)(para2[3]>>8);
 538   1              WritEEEprom(EEPROM_H, EEPROM_L, 22, tmp);
 539   1      }
 540          
 541          void pararead()
 542          {
 543   1              uchar tmp[22];
 544   1              REadEEprom(EEPROM_H, EEPROM_L, 22, tmp);
 545   1              hight_limit=tmp[1];
 546   1              hight_limit<<=8;
 547   1              hight_limit+=tmp[0];
 548   1              sensitive_limit=tmp[3];
 549   1              sensitive_limit<<=8;
 550   1              sensitive_limit+=tmp[2];
 551   1              delay_value=tmp[5];
C51 COMPILER V8.15   MAIN                                                                  10/29/2008 21:06:48 PAGE 10  

 552   1              delay_value<<=8;
 553   1              delay_value+=tmp[4];
 554   1              para1[0]=tmp[7];
 555   1              para1[0]<<=8;
 556   1              para1[0]+=tmp[6];
 557   1              para1[1]=tmp[9];
 558   1              para1[1]<<=8;
 559   1              para1[1]+=tmp[8];
 560   1              para1[2]=tmp[11];
 561   1              para1[2]<<=8;
 562   1              para1[2]+=tmp[10];
 563   1              para1[3]=tmp[13];
 564   1              para1[3]<<=8;
 565   1              para2[3]+=tmp[12];
 566   1              para2[0]=tmp[15];
 567   1              para2[0]<<=8;
 568   1              para2[0]+=tmp[14];
 569   1              para2[1]=tmp[17];
 570   1              para2[1]<<=8;
 571   1              para2[1]+=tmp[16];
 572   1              para2[2]=tmp[19];
 573   1              para2[2]<<=8;
 574   1              para2[2]+=tmp[18];
 575   1              para2[3]=tmp[21];
 576   1              para2[3]<<=8;
 577   1              para2[3]+=tmp[20];
 578   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3565    ----
   CONSTANT SIZE    =   8162    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =      2      62
   DATA SIZE        =     32    ----
   IDATA SIZE       =     38    ----
   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 + -