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

📄 bujinmain.lst

📁 用于测试步进电机
💻 LST
📖 第 1 页 / 共 3 页
字号:
 418   1              increment_b=readbyte(91+7);  //每秒增量1--3
 419   1              printermode_a=readbyte(92);  //打印机工作方式
 420   1              printermode_b=readbyte(92+7);  //打印机工作方式 
 421   1          pirnt_select_a=readbyte(93);  //选择的打印机
 422   1              pirnt_select_b=readbyte(93+7);  //选择的打印机 
 423   1              
 424   1              
 425   1      }
 426          /******************************************************
 427          *功能:计算转速
C51 COMPILER V7.00  BUJINMAIN                                                              09/14/2006 16:35:47 PAGE 8   

 428          *******************************************************/
 429          void maths_c(void)
 430          {  float m;
 431   1              if(electromotor)
 432   1              {
 433   2                      m=runf.x;
 434   2                      m=65536-m;
 435   2                      m=300000/m+0.5;  //12M/6T为150000  24M/6T为:300000
 436   2                      rev=m;
 437   2              }
 438   1              else
 439   1              {rev=0;}  //转速
 440   1      }
 441          /***************************************************************************
 442          *   功能:事件处理
 443          *   JiangMaoZHou
 444          ***************************************************************************/
 445          void scout(void)
 446          {       ulong  nummm;
 447   1              if(!cease_power)workajl();   //工作面A计量处理
 448   1              if(!cease_power)workaj2();   //工作面B计量处理
 449   1              if (scanfkey)
 450   1              {
 451   2                      scanfkey=0;
 452   2                      if(!cease_power)read_key();  //扫描键盘
 453   2                      if(!cease_power)keya_solve();
 454   2                      if(!cease_power)keyb_solve();
 455   2                      //if(!cease_power)printstate=XBYTE[READPRINT];  //读打印机状态
 456   2              }
 457   1              //------------------------------------------------
 458   1              if (updatea)
 459   1              {       updatea=0;
 460   2                      if(!cease_power){maths_c();} 
 461   2                      
 462   2                      nummm=price_a*modehl_a;
 463   2                      
 464   2                      if(!cease_power)disp_lcd1(nummm,0x04);
 465   2                      if(!cease_power)disp_dot1(5);   //LCD1小数点
 466   2                      if(!cease_power)disp_lcd1(gun1.pulse,0x0a);  //公升
 467   2                      if(!cease_power)disp_lcd1(price_a,0x0);         
 468   2                      
 469   2              }
 470   1              //-------------------------------------------------
 471   1              
 472   1              if (updateb)
 473   1              {       updateb=0;
 474   2                      //if(!cease_power){if(save_okb)maths_b();}
 475   2                      
 476   2                         nummm=price_a*modehl_b;
 477   2                              
 478   2                              if(!cease_power)disp_lcd2(nummm,0x04);
 479   2                         if(!cease_power)disp_dot2(5);   //LCD2小数点
 480   2                              if(!cease_power)disp_lcd2(gun2.pulse,0x0a);  //公升                     
 481   2                         if(!cease_power)disp_lcd2(rev,0x0);          
 482   2                      
 483   2              }       
 484   1              //------------------------------------
 485   1              dcespk_out();    //电磁阀及蜂鸣器输出
 486   1      }
 487          /***************************************************************************
 488          *    CMD16887加油机主控程序---步进电机测传感器
 489          *    步进:细分2  每输入400个脉冲转动一圏
C51 COMPILER V7.00  BUJINMAIN                                                              09/14/2006 16:35:47 PAGE 9   

 490          *    程序设计:JiangMaoZHou
 491          *    创建:2006-04-01  
 492          *    修改:2006-09-14    VER:  2.0.1  晶振:24M
 493          ****************************************************************************/
 494          void main(void)
 495          {  while(!INT0)
 496   1              {
 497   2                      wdt=!wdt;   //WDT
 498   2                      WDT_CONTR=0x34;   //WDT 
 499   2              }
 500   1              messagesave_ok=0;
 501   1              disp_floor_level_a=increment_a;
 502   1         disp_floor_level_b=increment_b;
 503   1         cease_power=0;   
 504   1              alarm=0x3f;
 505   1              jsq1out=0;
 506   1              jsq2out=0;
 507   1              k1spk=1;
 508   1              k2spk=1;
 509   1          dropt_a=0;dropt_b=0;
 510   1                //WDT_CONTR=0x34;
 511   1           DCFD1=1;DCFX1=1;mc1=1;
 512   1                DCFD2=1;DCFX2=1;mc2=1;
 513   1           InitializeSystem();   //初始化
 514   1                k1spk=1;
 515   1                k2spk=1;
 516   1                
 517   1                updatea=1;
 518   1                updateb=1;
 519   1                DCFD1=1;DCFX1=1;mc1=0;
 520   1                DCFD2=1;DCFX2=1;mc2=0;
 521   1                read_eeprom();   //读EEPROM    
 522   1                renew_sysdata(); //数据恢复
 523   1                if(decimal_a>4 || decimal_b>4 || price_a==0 ||price_b==0 ||price_a>9999 || price_b>9999)
 524   1                {
 525   2                      eeprom_ipl();  //EEPROM初始化程序
 526   2                }
 527   1                renew_printer_format();
 528   1                 cgq1s1old=cgq1s1;
 529   1                      cgq1s2old=cgq1s2;
 530   1                      cgq2s1old=cgq2s1;
 531   1                      cgq2s2old=cgq2s2;
 532   1                      //---------------------------------------------
 533   1                k1spk_time=25;  //启动短音
 534   1                k2spk_time=25;  //启动短音
 535   1                //print_ipl();   //打印机初始化
 536   1                disp_key_clear_a();
 537   1                disp_key_clear_b();
 538   1                //accumulative_total_list_a();  //累计转换至列表a
 539   1                //accumulative_total_list_b();  //累计转换至列表b
 540   1                mcstoptime_a=300;mcstoptime_b=300;
 541   1                disp_lcd1(price_a,0x0);
 542   1                table_buf[52] |=0x01; //通讯读单价
 543   1                disp_lcd2(price_b,0x0);
 544   1                table_buf[52+53] |=0x01; //通讯读单价
 545   1                clear_worka();
 546   1                clear_workb();
 547   1                if(increment_a<200) increment_a=200;
 548   1                if(increment_a>500) increment_a=500;
 549   1                disp_rev();
 550   1                //--------------------------------
 551   1           while(1) 
C51 COMPILER V7.00  BUJINMAIN                                                              09/14/2006 16:35:47 PAGE 10  

 552   1                {     if(!cease_power)scout();   //事件处理
 553   2                              //if(!cease_power)pickup();  //提枪/挂枪检测
 554   2                              if(ration_mode_a) {ration_mode_a=0;disp_rev();}
 555   2                              wdt=!wdt;   //WDT
 556   2                              WDT_CONTR=0x34;   //WDT  xxxxxxxxxxxxxxxxxxxxxxxxxxx    
 557   2                              //if(state1==4 && menu1==4 && temp_mema==0){state1=0;disp_return_a();}
 558   2                              //if((k1key && (state1==3 || state1==7)) ||(!k1key && (state1==4 || state1==6)) && !locknooil_a) {if(sa
             -ve_ok){save_ok=0;backup_sysdata();}state1=0;disp_return_a();}
 559   2                              //if(!k1key && state1==0){ keya_num[0]=keynumdata[27];keya_num[3]=keynumdata[27];keya_num[1]=keynumdata
             -[27];keya_num[2]=keynumdata[27];keya_num[4]=0x02;}
 560   2                              //else if(k1key && state1==0){if(keya_num[0]==keynumdata[27])disp_key_clear_a();}
 561   2                   //----------------------------
 562   2                              /*if(state2==4 && menu2==4 && temp_memb==0){state2=0;disp_return_b();}
 563   2                              if((k2key && (state2==3 || state2==7)) ||(!k2key && (state2==4 || state2==6)) && !locknooil_b) {if(save
             -_ok){save_ok=0;backup_sysdata();}state2=0;disp_return_b();}
 564   2                              if(!k2key && state2==0){ keyb_num[0]=keynumdata[27];keyb_num[3]=keynumdata[27];keyb_num[1]=keynumdata[2
             -7];keyb_num[2]=keynumdata[27];keyb_num[4]=0x02;}
 565   2                              else if(k2key && state2==0){if(keyb_num[0]==keynumdata[27])disp_key_clear_b();}*/
 566   2                              //---------------------------
 567   2                              /*if((!INT0) )
 568   2                              {       void *pi;cease_power=0;
 569   2                                      if(save_oka){save_oka=0;sum_a();}  //累計
 570   2                                      if(save_okb){save_okb=0;sum_b();}  //累計
 571   2                                      pi=&gun1;writebyteseq(0x01,pi,74); 
 572   2                                      while(1){;} 
 573   2                              } */
 574   2                              //-----------------------------
 575   2                              //if(printformat_saveok)
 576   2                              //{  
 577   2                                      //printformat_saveok=0;
 578   2                                      //backup_printer_format();   //备份打印格式
 579   2                              //}
 580   2                              //-----------------------------
 581   2                              //uart_command();  //通讯命令
 582   2                         //-----------------------------
 583   2                              
 584   2                              /*if(state1==1){mcstoptime_a=300;table_buf[52] |=0x08;}
 585   2                              else table_buf[52] &=0x37;
 586   2                              if(state2==1){mcstoptime_b=300;table_buf[52+53] |=0x08;}
 587   2                              else table_buf[52+53] &=0x37;
 588   2                              if(locknooil_a)table_buf[52] |=0x10;
 589   2                              else  table_buf[52] &=0x2f;
 590   2                              if(locknooil_b)table_buf[52+53] |=0x10;
 591   2                              else  table_buf[52+53] &=0x2f;*/
 592   2                              //----------------------------------------------------------------
 593   2                              //if(messagesave_ok){messagesave_ok=0;disp_lcd1(price_a,0x0);disp_lcd2(price_b,0x0);backup_sysdata();} 
             - //因通讯改变要更新
 594   2                              //---------------------------
 595   2                              /*#if  GUNJLMODE==1
 596   2                                      if(state1!=1 && state2!=1) {mc1=1;mc2=1;}
 597   2                              #else
 598   2                                      if(state1!=1) {mc1=1;}
 599   2                                      if(state2!=1) {mc2=1;}
 600   2                              #endif*/
 601   2                }
 602   1                
 603   1      }
 604          /***********************************************************
 605          ******************END---->END------->END*******************
 606          ***********************************************************/


C51 COMPILER V7.00  BUJINMAIN                                                              09/14/2006 16:35:47 PAGE 11  

MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2262    ----
   CONSTANT SIZE    =     54    ----
   XDATA SIZE       =    550    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     27      11
   IDATA SIZE       =     50    ----
   BIT SIZE         =     43       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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