📄 777.lst
字号:
720 5
721 5 case 0x0b:
722 5
723 5 key=14;
724 5
725 5 break;
726 5
727 5 case 0x07:
728 5
729 5 key=15;
730 5
731 5 break;
732 5
733 5 }
734 4
735 4 temp=P3;
736 4
737 4 P1_1=~P1_1;
C51 COMPILER V8.05a 777 07/26/2008 17:30:05 PAGE 13
738 4
739 4 if((key>=0) && (key<10))
740 4
741 4 {
742 5
743 5 if(keycount<6)
744 5
745 5 {
746 6
747 6 getps[keycount]=key;
748 6
749 6 dispbuf[keycount+2]=19;
750 6
751 6 }
752 5
753 5 keycount++;
754 5
755 5 if(keycount==6)
756 5
757 5 {
758 6
759 6 keycount=6;
760 6
761 6 }
762 5
763 5 else if(keycount>6)
764 5
765 5 {
766 6
767 6 keycount=6;
768 6
769 6 keyoverflag=1;//key overflow
770 6
771 6 }
772 5
773 5 }
774 4
775 4 else if(key==12)//delete key
776 4
777 4 {
778 5
779 5 if(keycount>0)
780 5
781 5 {
782 6
783 6 keycount--;
784 6
785 6 getps[keycount]=0;
786 6
787 6 dispbuf[keycount+2]=16;
788 6
789 6 }
790 5
791 5 else
792 5
793 5 {
794 6
795 6 keyoverflag=1;
796 6
797 6 }
798 5
799 5 }
C51 COMPILER V8.05a 777 07/26/2008 17:30:05 PAGE 14
800 4
801 4 else if(key==15)//enter key
802 4
803 4 {
804 5
805 5 if(keycount!=pslen)
806 5
807 5 {
808 6
809 6 errorflag=1;
810 6
811 6 rightflag=0;
812 6
813 6 second3=0;
814 6
815 6 }
816 5
817 5 else
818 5
819 5 {
820 6
821 6 for(i=0;i<keycount;i++)
822 6
823 6 {
824 7
825 7 if(getps[i]!=ps[i])
826 7
827 7 {
828 8
829 8 i=keycount;
830 8
831 8 errorflag=1;
832 8
833 8 rightflag=0;
834 8
835 8 second3=0;
836 8
837 8 goto a2;
838 8
839 8 }
840 7
841 7 }
842 6
843 6 errorflag=0;
844 6
845 6 rightflag=1;
846 6
847 6 a2: i=keycount;
848 6
849 6 }
850 5
851 5 }
852 4
853 4 temp=temp & 0x0f;
854 4
855 4 while(temp!=0x0f)
856 4
857 4 {
858 5
859 5 temp=P3;
860 5
861 5 temp=temp & 0x0f;
C51 COMPILER V8.05a 777 07/26/2008 17:30:05 PAGE 15
862 5
863 5 }
864 4
865 4 keyoverflag=0;//?????????
866 4
867 4 }
868 3
869 3 }
870 2
871 2
872 2
873 2 }
874 1
875 1 }
876
877 void t0(void) interrupt 1 using 0
878
879 {
880 1
881 1 TH0=(65536-500)/256;
882 1
883 1 TL0=(65536-500)%256;
884 1
885 1
886 1
887 1 flashcount++;
888 1
889 1 if(flashcount==8)
890 1
891 1 {
892 2
893 2 flashcount=0;
894 2
895 2 P0=dispcode[dispbuf[dispcount]];
896 2
897 2 P2=dispbit[dispcount];
898 2
899 2 dispcount++;
900 2
901 2 if(dispcount==8)
902 2
903 2 {
904 3
905 3 dispcount=0;
906 3
907 3 }
908 2
909 2 }
910 1
911 1
912 1
913 1 if((errorflag==1) && (rightflag==0))
914 1
915 1 {
916 2
917 2 bb++;
918 2
919 2 if(bb==800)
920 2
921 2 {
922 3
923 3 bb=0;
C51 COMPILER V8.05a 777 07/26/2008 17:30:05 PAGE 16
924 3
925 3 alarmflag=~alarmflag;
926 3
927 3 }
928 2
929 2 if(alarmflag==1)//sound alarm signal
930 2
931 2 {
932 3
933 3 P1_7=~P1_7;
934 3
935 3 }
936 2
937 2
938 2
939 2 aa++;
940 2
941 2 if(aa==800)//light alarm signal
942 2
943 2 {
944 3
945 3 aa=0;
946 3
947 3 P1_0=~P1_0;
948 3
949 3 }
950 2
951 2 second3++;
952 2
953 2 if(second3==6400)
954 2
955 2 {
956 3
957 3 second3=0;
958 3
959 3 errorflag=0;
960 3
961 3 rightflag=0;
962 3
963 3 alarmflag=0;
964 3
965 3 bb=0;
966 3
967 3 aa=0;
968 3
969 3 }
970 2
971 2 }
972 1
973 1 else if((errorflag==0) && (rightflag==1))
974 1
975 1 {
976 2
977 2 P1_0=0;
978 2
979 2 cc++;
980 2
981 2 if(cc<1000)
982 2
983 2 {
984 3
985 3 okflag=1;
C51 COMPILER V8.05a 777 07/26/2008 17:30:05 PAGE 17
986 3
987 3 }
988 2
989 2 else if(cc<2000)
990 2
991 2 {
992 3
993 3 okflag=0;
994 3
995 3 }
996 2
997 2 else
998 2
999 2 {
1000 3
1001 3 errorflag=0;
1002 3
1003 3 rightflag=0;
1004 3
1005 3 P1_7=1;
1006 3
1007 3 cc=0;
1008 3
1009 3 oka=0;
1010 3
1011 3 okb=0;
1012 3
1013 3 okflag=0;
1014 3
1015 3 P1_0=1;
1016 3
1017 3 }
1018 2
1019 2 if(okflag==1)
1020 2
1021 2 {
1022 3
1023 3 oka++;
1024 3
1025 3 if(oka==2)
1026 3
1027 3 {
1028 4
1029 4 oka=0;
1030 4
1031 4 P1_7=~P1_7;
1032 4
1033 4 }
1034 3
1035 3 }
1036 2
1037 2 else
1038 2
1039 2 {
1040 3
1041 3 okb++;
1042 3
1043 3 if(okb==3)
1044 3
1045 3 {
1046 4
1047 4 okb=0;
C51 COMPILER V8.05a 777 07/26/2008 17:30:05 PAGE 18
1048 4
1049 4 P1_7=~P1_7;
1050 4
1051 4 }
1052 3
1053 3 }
1054 2
1055 2 }
1056 1
1057 1
1058 1
1059 1 if(keyoverflag==1)
1060 1
1061 1 {
1062 2
1063 2 P1_7=~P1_7;
1064 2
1065 2 }
1066 1
1067 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1343 ----
CONSTANT SIZE = 28 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 35 ----
IDATA SIZE = ---- ----
BIT SIZE = 6 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -