📄 charge.lst
字号:
510 2 charge_output = 1; //全速充电
511 2 PowerFlag = 0; //禁止放电
512 2 if(SunValue>BatValue)
513 2 Led_Ctrl(1,1); //运行状态灯L3亮(充电)
514 2 else
515 2 Led_Ctrl(1,2);
516 2 Led_Ctrl(0,2); //过充过放灯L2闪烁(过放)
517 2 }
518 1 else
519 1 {
520 2 if(BatValue<YUNCHONG12)
521 2 {
522 3 enPWM = 0; //禁止PWM
523 3 charge_output = 1; //全速充电
524 3 if(SunValue>BatValue)
525 3 Led_Ctrl(1,1); //运行状态灯L3亮(充电)
526 3 else
527 3 Led_Ctrl(1,2);
528 3 Led_Ctrl(0,0); //过充过放灯L2灭
529 3 }
530 2 if(PowerFlag)
531 2 {
532 3 if(TimeMode == 0)
533 3 {
534 4 charge_ctrlB = 1; //启动负荷
535 4 charge_ctrl = 1; //启动负荷
536 4 CtrlFlag = 1;
537 4 }
538 3 else
539 3 {
540 4 if(SunValue>=LIANGDENG12)
541 4 Delay4min2 = 0;
542 4 if(SunValue<=MIEDENG12)
543 4 Delay4min1 = 0; //延时清0
544 4
545 4 if(SunValue<NODELAY12)
546 4 {
547 5 charge_ctrlB = 1; //启动负荷11
548 5 if(CtrlFlag)
549 5 {
550 6 charge_ctrl = 1; //启动负荷12
551 6 }
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 10
552 5 if(ClrFlag)
553 5 {
554 6 Seconds = 0; //清0
555 6 Minutes = 0; //清0
556 6 Hours = 0; //启动负荷的同时时间清0开始计数
557 6 ClrFlag = 0; //禁止清0
558 6 }
559 5 }
560 4 else if(SunValue<LIANGDENG12)
561 4 {
562 5 if(Delay_4min(0)) /*延时4min*/
563 5 {
564 6 if(SunValue<LIANGDENG12)
565 6 {
566 7 charge_ctrlB = 1; //启动负荷
567 7 if(CtrlFlag)
568 7 {
569 8 charge_ctrl = 1; //启动负荷
570 8 }
571 7 if(ClrFlag)
572 7 {
573 8 Seconds = 0; //清0
574 8 Minutes = 0; //清0
575 8 Hours = 0; //启动负荷的同时时间清0开始计数
576 8 ClrFlag = 0; //禁止清0
577 8 }
578 7 }
579 6 }
580 5 }
581 4 else;
582 4 if(SunValue>MIEDENG12)
583 4 {
584 5 if(Delay_4min(1))/*延时4min*/
585 5 {
586 6 if(SunValue>MIEDENG12)
587 6 {
588 7 charge_ctrlB = 0; //关闭负荷11
589 7 charge_ctrl = 0; //关闭负荷12
590 7 ClrFlag = 1; //允许清0
591 7 CtrlFlag = 1;
592 7 }
593 6 }
594 5 }
595 4 if(Hours >= TimeMode && ClrFlag==0)
596 4 {
597 5 charge_ctrl = 0; //关闭负荷12
598 5 ClrFlag = 1; //允许清0
599 5 CtrlFlag = 0;
600 5 }
601 4 }
602 3 }
603 2 }
604 1 }
605 /*********************************************************************/
606 /*函数名:
607 /*功能:
608 /*输入参数:
609 /*返回值:
610 /*调用函数:
611 /*被调用函数:
612 /*编写日期:
613 /*最后修改日期:
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 11
614 /********************************************************************/
615 void Main_Logic24(uchar TimeMode)
616 {
617 1 Clr_Dog();
618 1
619 1 if(BatValue>TINGCHONG24 && charge_output==0)
620 1 {
621 2 enPWM = 0; //禁止PWM
622 2 charge_output = 0; //停止充电
623 2 PowerFlag = 1; //允许放电
624 2 Led_Ctrl(1,2); //运行状态灯L3闪烁
625 2 Led_Ctrl(0,1); //过充过放灯L2亮
626 2 }
627 1 else if(BatValue>GUOCHONG24)
628 1 {
629 2 enPWM = 1; //允许PWM
630 2 PowerFlag = 1; //允许放电
631 2 if(SunValue>BatValue)
632 2 Led_Ctrl(1,1); //运行状态灯L3亮
633 2 else
634 2 Led_Ctrl(1,2);
635 2 Led_Ctrl(0,1); //过充过放灯L2亮
636 2 }
637 1 else if(BatValue>YUNFANG24)
638 1 {
639 2 enPWM = 0; //禁止PWM
640 2 charge_output = 1; //全速充电
641 2 PowerFlag = 1; //允许放电
642 2 if(SunValue>BatValue)
643 2 Led_Ctrl(1,1); //运行状态灯L3亮
644 2 else
645 2 Led_Ctrl(1,2);
646 2 Led_Ctrl(0,0); //过充过放灯L2灭
647 2 }
648 1 else;
649 1
650 1 Clr_Dog();
651 1
652 1 if(BatValue<GUOFANG24)
653 1 {
654 2 charge_ctrlB = 0; //关闭负荷11
655 2 charge_ctrl = 0; //关闭负荷12
656 2 enPWM = 0; //禁止PWM
657 2 charge_output = 1; //全速充电
658 2 PowerFlag = 0; //禁止放电
659 2 if(SunValue>BatValue)
660 2 Led_Ctrl(1,1); //运行状态灯L3亮(充电)
661 2 else
662 2 Led_Ctrl(1,2);
663 2 Led_Ctrl(0,2); //过充过放灯L2闪烁(过放)
664 2 }
665 1 else
666 1 {
667 2 if(BatValue<YUNCHONG24)
668 2 {
669 3 enPWM = 0; //禁止PWM
670 3 charge_output = 1; //全速充电
671 3 if(SunValue>BatValue)
672 3 Led_Ctrl(1,1); //运行状态灯L3亮(充电)
673 3 else
674 3 Led_Ctrl(1,2);
675 3 Led_Ctrl(0,0); //过充过放灯L2灭
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 12
676 3 }
677 2 if(PowerFlag)
678 2 {
679 3 if(TimeMode == 0)
680 3 {
681 4 charge_ctrlB = 1; //启动负荷
682 4 charge_ctrl = 1; //启动负荷
683 4 CtrlFlag = 1;
684 4 }
685 3 else
686 3 {
687 4 if(SunValue>=LIANGDENG24)
688 4 Delay4min2 = 0;
689 4 if(SunValue<=MIEDENG24)
690 4 Delay4min1 = 0; //延时清0
691 4
692 4 if(SunValue<NODELAY24)
693 4 {
694 5 charge_ctrlB = 1; //启动负荷11
695 5 if(CtrlFlag)
696 5 {
697 6 charge_ctrl = 1; //启动负荷12
698 6 }
699 5 if(ClrFlag)
700 5 {
701 6 Seconds = 0; //清0
702 6 Minutes = 0; //清0
703 6 Hours = 0; //启动负荷的同时时间清0开始计数
704 6 ClrFlag = 0; //禁止清0
705 6 }
706 5 }
707 4 else if(SunValue<LIANGDENG24)
708 4 {
709 5 if(Delay_4min(0)) /*延时4min*/
710 5 {
711 6 if(SunValue<LIANGDENG24)
712 6 {
713 7 charge_ctrlB = 1; //启动负荷
714 7 if(CtrlFlag)
715 7 {
716 8 charge_ctrl = 1; //启动负荷
717 8 }
718 7 if(ClrFlag)
719 7 {
720 8 Seconds = 0; //清0
721 8 Minutes = 0; //清0
722 8 Hours = 0; //启动负荷的同时时间清0开始计数
723 8 ClrFlag = 0; //禁止清0
724 8 }
725 7 }
726 6 }
727 5 }
728 4 else;
729 4 if(SunValue>MIEDENG24)
730 4 {
731 5 if(Delay_4min(1))/*延时4min*/
732 5 {
733 6 if(SunValue>MIEDENG24)
734 6 {
735 7 charge_ctrlB = 0; //关闭负荷11
736 7 charge_ctrl = 0; //关闭负荷12
737 7 ClrFlag = 1; //允许清0
C51 COMPILER V7.50 CHARGE 03/09/2009 16:55:11 PAGE 13
738 7 CtrlFlag = 1;
739 7 }
740 6 }
741 5 }
742 4 if(Hours >= TimeMode && ClrFlag==0)
743 4 {
744 5 charge_ctrl = 0; //关闭负荷12
745 5 ClrFlag = 1; //允许清0
746 5 CtrlFlag = 0;
747 5 }
748 4 }
749 3 }
750 2 }
751 1 }
752 /********************END********************/
753
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1234 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 28 1
IDATA SIZE = ---- ----
BIT SIZE = 8 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -