📄 spotwelder.lst
字号:
448 3 do{ i=ISendStr(AT24WC01,0x08,&trnscv[8],3);
449 4 }while(!i);
450 3 delay(50,50); //10ms
451 3 do{ i=IRcvStr(AT24WC01,0x00,trnscv,11);
452 4 }while(!i);
453 3 rptr=trnscv;
*** WARNING C182 IN LINE 453 OF SPOTWELDER.C: pointer to different objects
454 3 PrrzTime=*rptr;
455 3 rptr+=1;
456 3 WeldTime=*rptr;
457 3 rptr+=1;
458 3 WorkCount=*rptr;
459 3 rptr+=1;
460 3 PrrzLTime=*rptr;
461 3 rptr+=1;
462 3 SpaceTime=*rptr;
463 3 WorkMode=trnscv[10];
464 3 }
465 2 }
466 1 }
467
468 //*************************************
469 void ISR_Timer1()interrupt 3 //1 ,l00p;./ms中断
470 {
471 1 TL1=23;
472 1 TH1=252;
473 1 LED_Display();
474 1 }
475 //**************************************
476
477 void ISR_Timer0()interrupt 1 using 1 //10 ms 中断
478 {
479 1 static unsigned char i;
480 1 unsigned int data *resume_ptr;
481 1
482 1 TL0=239;
483 1 TH0=216;
484 1 switch(Work)
485 1 {
486 2 case Prrz: //pressrize 加压
C51 COMPILER V7.50 SPOTWELDER 11/07/2005 02:10:44 PAGE 9
487 2 bPrrz_led=0;
488 2 bPrrz_RlyDr=0;
489 2 if(i>0) //count from tail
490 2 {
491 3 i=0;
492 3 if(PrrzTime>0)PrrzTime--;
493 3 else
494 3 {
495 4 Work=Weld;
496 4 break;
497 4 }
498 3 }
499 2 i++;
500 2 break;
501 2 case Weld: //点焊
502 2 bWeld_led=0;
503 2 bWeld_RlyDr=0;
504 2 if(i>0)
505 2 {
506 3 i=0;
507 3 if(WeldTime>0)WeldTime--;
508 3 else
509 3 {
510 4 bWeld_led=1;
511 4 bWeld_RlyDr=1;
512 4 resume_ptr=trnscv; //取接收/发送数据缓冲区地址
*** WARNING C182 IN LINE 512 OF SPOTWELDER.C: pointer to different objects
513 4 PrrzTime=*resume_ptr; //恢复数据
514 4 resume_ptr+=1;
515 4 WeldTime=*resume_ptr; //恢复数据
516 4 Work=PrrzL;
517 4 break;
518 4 }
519 3 }
520 2 i++;
521 2 break;
522 2 case PrrzL:
523 2 bPrrzL_led=0;
524 2 bPrrzL_RlyDr=0;
525 2 if(i>0)
526 2 {
527 3 i=0;
528 3 if(PrrzLTime>0)PrrzLTime--;
529 3 else
530 3 {
531 4 bPrrz_led=1;
532 4 bPrrz_RlyDr=1;
533 4 bPrrzL_led=1;
534 4 bPrrzL_RlyDr=1;
535 4 resume_ptr=&trnscv[6];
*** WARNING C182 IN LINE 535 OF SPOTWELDER.C: pointer to different objects
536 4 PrrzLTime=*resume_ptr;
537 4 Work=Space;
538 4 break;
539 4 }
540 3 }
541 2 i++;
542 2 break;
543 2 case Space:
544 2 if(WorkMode==AUTO)
545 2 {
546 3 bSpace_led=0;
C51 COMPILER V7.50 SPOTWELDER 11/07/2005 02:10:44 PAGE 10
547 3 bSpace_RlyDr=0;
548 3 if(i>9)
549 3 {
550 4 i=0;
551 4 if(SpaceTime>0)SpaceTime--;
552 4 else
553 4 {
554 5 bSpace_led=1;
555 5 bSpace_RlyDr=1;
556 5 resume_ptr=&trnscv[8];
*** WARNING C182 IN LINE 556 OF SPOTWELDER.C: pointer to different objects
557 5 SpaceTime=*resume_ptr;
558 5 if(--WorkCount==0)
559 5 {
560 6 bFshCnt_led=0;
561 6 bFshCnt_RlyDr=0;
562 6 resume_ptr=&trnscv[4];
*** WARNING C182 IN LINE 562 OF SPOTWELDER.C: pointer to different objects
563 6 WorkCount=*resume_ptr;
564 6 Work=0;
565 6 break;
566 6 }
567 5 else{ Work=Prrz;break;}
568 5 }
569 4 }
570 3 i++;
571 3 break;
572 3 }
573 2 else
574 2 {
575 3 resume_ptr=&trnscv[4];
*** WARNING C182 IN LINE 575 OF SPOTWELDER.C: pointer to different objects
576 3 WorkCount=*resume_ptr;
577 3 resume_ptr=&trnscv[8];
*** WARNING C182 IN LINE 577 OF SPOTWELDER.C: pointer to different objects
578 3 SpaceTime=*resume_ptr;
579 3 Work=0;break;
580 3 }
581 2 case check:
582 2 if(bcheck==0)
583 2 {
584 3 PrrzTime=prrz_buf;
585 3 bPrrz_led=1;
586 3 bPrrz_RlyDr=1;
587 3 Work=0;
588 3 break;
589 3 }
590 2 else if(i>0)
591 2 {
592 3 i=0;
593 3 PrrzTime++;
594 3 if(PrrzTime>999)PrrzTime=0;
595 3 }
596 2 i++;
597 2 break;
598 2 case Emergency:
599 2 bPrrz_led=1;
600 2 bPrrz_RlyDr=1;
601 2 bWeld_led=1;
602 2 bWeld_RlyDr=1;
603 2 bPrrzL_led=1;
604 2 bPrrzL_RlyDr=1;
C51 COMPILER V7.50 SPOTWELDER 11/07/2005 02:10:44 PAGE 11
605 2 bSpace_led=1;
606 2 bSpace_RlyDr=1;
607 2 bFshCnt_led=1;
608 2 bFshCnt_RlyDr=1;
609 2 resume_ptr=trnscv;
*** WARNING C182 IN LINE 609 OF SPOTWELDER.C: pointer to different objects
610 2 PrrzTime=*resume_ptr;
611 2 resume_ptr+=1;
612 2 WeldTime=*resume_ptr;
613 2 resume_ptr+=1;
614 2 WorkCount=*resume_ptr;
615 2 resume_ptr+=1;
616 2 PrrzLTime=*resume_ptr;
617 2 resume_ptr+=1;
618 2 SpaceTime=*resume_ptr;
619 2 Work=0;
620 2 break;
621 2 default:
622 2 current_state=stop;
623 2 if(bFshCnt_RlyDr==0)
624 2 {
625 3 if(i++>199)
626 3 {
627 4 i=0;
628 4 bFshCnt_led=1;
629 4 bFshCnt_RlyDr=1;
630 4 }
631 3 }
632 2 break;
633 2 }
634 1 keyscan();
635 1 }
636 //***************************************
637
638 void ISR_INT0()interrupt 0
639 {
640 1 if((Program==RUN)&&(current_state==stop)&&(!bcheck))
641 1 {
642 2 Work=Prrz;
643 2 bFshCnt_led=1;
644 2 bFshCnt_RlyDr=1;
645 2 current_state=runing;
646 2 }
647 1 }
648
649
650
651
652
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2320 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 54 4
IDATA SIZE = ---- ----
BIT SIZE = 5 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 10 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -