📄 计价器.lst
字号:
589 5 {
590 6 lucheng[2]=18;
591 6 lucheng[3]++;
592 6 if(lucheng[3]==6)
593 6 lucheng[3]=0;
594 6 }
595 5 }
596 4 }
597 3 }
598 2 tcnt=0;
599 2 if(k==0)
600 2 second++; //秒加1
601 2 if(second>=60) //到60清0,分加1
602 2 {
603 3 if(w==1)
604 3 {
605 4 hour1++;
606 4 if(hour1==2)
607 4 {
608 5 hour1=0;
609 5 w=0;
610 5 }
611 4 }
612 3 second=0;
613 3 minite++;
C51 COMPILER V8.02 计价芲 04/12/2007 08:50:21 PAGE 11
614 3 if(x==1&TR1==1) //是否在进行中断(中途等待程序)
615 3 {
616 4 y++; //没进行y+1
617 4 if(y==1) //是否等待1分钟
618 4 {
619 5 y=0; //清0
620 5 zongjia[0]=jiage[3]; //价格显示位显示中途等待价
621 5 zongjia[1]=jiage[4];
622 5 zongjia[5]=zongjia[5]+jiage[3];if(zongjia[5]>9) //总价加中途等待价
623 5 {
624 6 n=1; zongjia[5]=zongjia[5]%10;
625 6 }
626 5 zongjia[6]=zongjia[6]+jiage[4];if(n==1)
627 5 {
628 6 zongjia[6]++;n=0;
629 6 }
630 5 zongjia[6]=zongjia[6]-18; if(zongjia[6]>27)
631 5 {
632 6 n=1; zongjia[6]=zongjia[6]-10;
633 6 }
634 5 if(n==1)
635 5 {
636 6 zongjia[7]++;
637 6 n=0;
638 6 if(zongjia[7]>9)
639 6 zongjia[7]=0;
640 6 }
641 5 }
642 4 }
643 3 if(minite>=60) //分到60清0
644 3 {
645 4 minite=0;
646 4 hour++; //时加1
647 4 if(hour>=24) //时到24清0
648 4 {
649 5 hour=0;
650 5 }
651 4 /* if(w==1)
652 4 {
653 4 hour1++;
654 4 if(hour1==24)
655 4 {
656 4 hour1=0;
657 4 w=0;
658 4 }
659 4 } */
660 4 }
661 3 }
662 2 shijian[0]=second%10;
663 2 shijian[1]=second/10;
664 2 shijian[3]=minite%10;
665 2 shijian[4]=minite/10;
666 2 shijian[6]=hour%10;
667 2 shijian[7]=hour/10;
668 2 }
669 1 }
670
671 void t1(void) interrupt 3 using 2
672 {
673 1 x=0; //进入中断标志
674 1 tcnt2++;
675 1 switch(m) //判断白天还是晚上
C51 COMPILER V8.02 计价芲 04/12/2007 08:50:21 PAGE 12
676 1 {
677 2 case 0: zongjia[0]=jiage[0]; //白天总价0、1位显示白天单价
678 2 zongjia[1]=jiage[1];
679 2 break;
680 2 case 1: zongjia[0]=jiage[6]; //晚上总价0、1位显示白天单价
681 2 zongjia[1]=jiage[7];
682 2 break;
683 2 }
684 1 if(tcnt2<=10)
685 1 {
686 2 zongjia[6]=23;
687 2 }
688 1 else
689 1 {
690 2 c++;
691 2 if(c==5)
692 2 {
693 3 c=0;
694 3 switch(m) //判断白天还是晚上
695 3 {
696 4 case 0: zongjia[5]=zongjia[5]+jiage[0];if(zongjia[5]>9) //白天:总价加白天单价
697 4 {
698 5 n=1; zongjia[5]=zongjia[5]%10;
699 5 }
700 4 zongjia[6]=zongjia[6]+jiage[1];if(n==1)
701 4 {
702 5 zongjia[6]++;n=0;
703 5 }
704 4 zongjia[6]=zongjia[6]-18;if(zongjia[6]>27)
705 4 {
706 5 n=1; zongjia[6]=zongjia[6]-10;
707 5 }
708 4 if(n==1)
709 4 {
710 5 zongjia[7]++;
711 5 n=0;
712 5 if(zongjia[7]>9)
713 5 zongjia[7]=0;
714 5 }
715 4 break;
716 4 case 1: zongjia[5]=zongjia[5]+jiage[6];if(zongjia[5]>9) //晚上:总价加晚上单价
717 4 {
718 5 n=1; zongjia[5]=zongjia[5]%10;
719 5 }
720 4 zongjia[6]=zongjia[6]+jiage[7];if(n==1)
721 4 {
722 5 zongjia[6]++;n=0;
723 5 }
724 4 zongjia[6]=zongjia[6]-18;if(zongjia[6]>27)
725 4 {
726 5 n=1; zongjia[6]=zongjia[6]-10;
727 5 }
728 4 if(n==1)
729 4 {
730 5 zongjia[7]++;
731 5 n=0;
732 5 if(zongjia[7]>9)
733 5 zongjia[7]=0;
734 5 }
735 4 zongjia[0]=jiage[6];
736 4 zongjia[1]=jiage[7];
737 4 break;
C51 COMPILER V8.02 计价芲 04/12/2007 08:50:21 PAGE 13
738 4 }
739 3 }
740 2 }
741 1 lucheng[5]++; //路程位加1
742 1 if(lucheng[5]>9)
743 1 {
744 2 n=1; //大于9进1位
745 2 lucheng[5]=lucheng[5]%10; //本位10取余
746 2 }
747 1 if(n==1) //是否有进位
748 1 {
749 2 n=0; //进位清0
750 2 lucheng[6]++; //上一位加1
751 2 if(lucheng[6]>27) //是否到有小数点的9
752 2 {
753 3 n=1; //进位
754 3 lucheng[6]=lucheng[6]-10; //本位减10
755 3 }
756 2 }
757 1 if(n==1) //是否有进位
758 1 {
759 2 n=0; //进位清0
760 2 lucheng[7]++; //加1
761 2 if(lucheng[7]>9) //如果大于9清0
762 2 {
763 3 lucheng[7]=0;
764 3 }
765 2 }
766 1 x=1; //中断完成标志
767 1 }
768
769
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2684 ----
CONSTANT SIZE = 28 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 79 18
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -