📄 bujinmain.lst
字号:
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 + -