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