📄 dc1_test.lst
字号:
494 2 {
495 3 temp_pulse_num++;
496 3 temp_pulse_num1++;
497 3 if(temp_pulse_num1==pulse_num1)
498 3 {
499 4 temp_FINISH++;
500 4 FINISH=temp_FINISH*10;
501 4 temp_pulse_num1=0;
502 4 }
503 3
504 3 if(temp_pulse_num==pulse_num)
505 3 {
506 4 FINISH++;
507 4 temp_pulse_num=0;
508 4 }
509 3 }
510 2 else
511 2 {
512 3 IEN1=IEN1&0XFE; //CT0
513 3 temp_pulse_num=0;
514 3 }
515 2 }
516 1 else
517 1 {
518 2 if(FINISH>10)
519 2 {
520 3 temp_pulse_num++;
521 3 if(temp_pulse_num==pulse_num1)
522 3 {
523 4 FINISH=FINISH-10;
524 4 temp_pulse_num=0;
525 4 }
526 3 }
527 2 else
528 2 {
529 3 if(FINISH>0)
530 3 {
531 4 temp_pulse_num++;
532 4 if(temp_pulse_num>=pulse_num)
533 4 {
534 5 FINISH--;
535 5 temp_pulse_num=0;
536 5 }
537 4 }
538 3 else
539 3 {
540 4 PWM0=0;
541 4 rot_right=1;
542 4 rot_left=1;
543 4 IEN1=IEN1&0XFE; //CT0
544 4 }
545 3 }
546 2 }
547 1 }
548
549 void CT3_int (void) interrupt 9 //电流脉冲
550 {
551 1 CTI3=0;
C51 COMPILER V7.06 DC1_TEST 09/14/2005 10:00:17 PAGE 10
552 1 CTCON=CTCON&0X3F;
553 1 IEN1=IEN1&0XF7; //CT3
554 1 p_b=~p_b;
555 1 if(p_b==1) //峰值
556 1 {
557 2 if(rot_ok==1&&K21==ON)
558 2 PWM0=temp_rot_vp;
559 2 if(wire_ok==1&&WIRE==ON&&K31==ON)
560 2 PWM1=temp_wire_vp;
561 2 CTCON=CTCON|0X80; //CT3捕捉上升沿
562 2 }
563 1 else
564 1 {
565 2 if(rot_ok==1&&K21==ON)//&&r_slope_ok==1)
566 2 PWM0=temp_rot_vb;
567 2 if(wire_ok==1&&WIRE==ON&&K31==ON)//&&w_slope_ok==1)
568 2 PWM1=temp_wire_vb;
569 2 CTCON=CTCON|0X40; //CT3捕捉下降沿
570 2 }
571 1 IEN1=IEN1|0X08; //CT3
572 1 }
573
574 void CM0_INT (void) interrupt 11 //送丝速度变化时间/抽丝时间
575 {
576 1 CMI0=0;
577 1 c_cm0++;
578 1
579 1 if(retract==1)
580 1 {
581 2 if(c_cm0==n_cm0)
582 2 {
583 3 IEN1=IEN1&0XEF; //CM0
584 3 PWM1=0;
585 3 wire_back=1;
586 3 wire_front=1;
587 3 retract_ok=1;
588 3 c_cm0=0;
589 3 }
590 2 CML0=TML2+0X50; //100ms
591 2 if(CML0<TML2)
592 2 CMH0=TMH2+1+0XC3;
593 2 else
594 2 CMH0=TMH2+0XC3;
595 2 }
596 1 else
597 1 {
598 2 if(c_cm0==n_cm0)
599 2 {
600 3 IEN1=IEN1&0xEF; //CM0
601 3 if(temp_wire_vp<wire_vp)
602 3 {
603 4 if(temp_wire_vp+1==wire_vp)
604 4 temp_wire_vp=wire_vp;
605 4 else
606 4 temp_wire_vp=temp_wire_vp+1;
607 4 }
608 3
609 3 if(temp_wire_vp>wire_vp)
610 3 {
611 4 if(temp_wire_vp-1==wire_vp)
612 4 temp_wire_vp=wire_vp;
613 4 else
C51 COMPILER V7.06 DC1_TEST 09/14/2005 10:00:17 PAGE 11
614 4 temp_wire_vp=temp_wire_vp-1;
615 4 }
616 3 if(K31==ON)
617 3 {
618 4 if(temp_wire_vb<wire_vb)
619 4 {
620 5 if(temp_wire_vb+1==wire_vb)
621 5 temp_wire_vb=wire_vb;
622 5 else
623 5 temp_wire_vb=temp_wire_vb+1;
624 5 }
625 4 if(temp_wire_vb>wire_vb)
626 4 {
627 5 if(temp_wire_vb-1==wire_vb)
628 5 temp_wire_vb=wire_vb;
629 5 else
630 5 temp_wire_vb=temp_wire_vb-1;
631 5 }
632 4 }
633 3 c_cm0=0;
634 3 CML0=TML2+0xC8;
635 3 if(CML0<TML2)
636 3 CMH0=TMH2+1+0X00;
637 3 else
638 3 CMH0=TMH2+0X00;
639 3 if(K31==OFF)
640 3 {
641 4 PWM1=temp_wire_vp;
642 4 if(temp_wire_vp==wire_vp)
643 4 {
644 5 if(wire_ok==0)
645 5 wire_ok=1;
646 5 else
647 5 w_slope_ok=1;
648 5 }
649 4 else
650 4 IEN1=IEN1|0x10; //CM0
651 4 }
652 3 else
653 3 {
654 4 if(temp_wire_vp==wire_vp&&temp_wire_vb==wire_vb)
655 4 {
656 5 PWM1=temp_wire_vb;
657 5 if(wire_ok==0)
658 5 wire_ok=1;
659 5 else
660 5 w_slope_ok=1;
661 5 }
662 4 else
663 4 IEN1=IEN1|0x10; //CM0
664 4 }
665 3
666 3 }
667 2 }
668 1 }
669
670 void CM1_INT (void) interrupt 12 //旋转速度变化
671 {
672 1 CMI1=0;
673 1 c_cm1++;
674 1 if(c_cm1==n_cm1)
675 1 {
C51 COMPILER V7.06 DC1_TEST 09/14/2005 10:00:17 PAGE 12
676 2 IEN1=IEN1&0xDF; //CM1
677 2 if(temp_rot_vp<rot_vp)
678 2 {
679 3 if(temp_rot_vp+1==rot_vp)
680 3 temp_rot_vp=rot_vp;
681 3 else
682 3 temp_rot_vp=temp_rot_vp+1;
683 3 }
684 2
685 2 if(temp_rot_vp>rot_vp)
686 2 {
687 3 if(temp_rot_vp-1==rot_vp)
688 3 temp_rot_vp=rot_vp;
689 3 else
690 3 temp_rot_vp=temp_rot_vp-1;
691 3 }
692 2 if(K21==ON)
693 2 {
694 3 if(temp_rot_vb<rot_vb)
695 3 {
696 4 if(temp_rot_vb+1==rot_vb)
697 4 temp_rot_vb=rot_vb;
698 4 else
699 4 temp_rot_vb=temp_rot_vb+1;
700 4 }
701 3 if(temp_rot_vb>rot_vb)
702 3 {
703 4 if(temp_rot_vb-1==rot_vb)
704 4 temp_rot_vb=rot_vb;
705 4 else
706 4 temp_rot_vb=temp_rot_vb-1;
707 4 }
708 3 }
709 2
710 2 c_cm1=0;
711 2 CML1=TML2+0XC8;
712 2 if(CML1<TML2) //CM1,400us,旋转速度变化时间
713 2 CMH1=TMH2+1+0X00;
714 2 else
715 2 CMH1=TMH2+0X00;
716 2
717 2 if(K21==OFF)
718 2 {
719 3 PWM0=temp_rot_vp;
720 3 if(temp_rot_vp==rot_vp)
721 3 {
722 4 if(rot_ok==0)
723 4 rot_ok=1;
724 4 else
725 4 r_slope_ok=1;
726 4 }
727 3 else
728 3 IEN1=IEN1|0x20; //CM1
729 3 }
730 2 else
731 2 {
732 3 if(temp_rot_vp==rot_vp&&temp_rot_vb==rot_vb)
733 3 {
734 4 PWM0=temp_rot_vb;
735 4 if(rot_ok==0)
736 4 rot_ok=1;
737 4 else
C51 COMPILER V7.06 DC1_TEST 09/14/2005 10:00:17 PAGE 13
738 4 r_slope_ok=1;
739 4 }
740 3 else
741 3 IEN1=IEN1|0x20; //CM1
742 3 }
743 2 }
744 1 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -