📄 bpqmb.lst
字号:
781 2 }
782 1 else
783 1 {switch(ndsp)
784 2 {case 0: set_data++;
785 3 break;
786 3 case 1: set_data+=10;
787 3 break;
788 3 case 2: set_data+=100;
789 3 break;
790 3 case 3: set_data+=1000;
791 3 }
792 2 switch(temp)
793 2 {
794 3 case 0:num=s_ovc[ture_ud-1][ud_con];
795 3 if(set_data>num)set_data=num;
796 3 break;
797 3 case 1:
798 3 if(set_data>9999)set_data=9999;
799 3 }
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 14
800 2 }
801 1 }
802 void enter_up()
803 {uchar num;
804 1 switch(st_con)
805 1 {
806 2 case 0: if(on_off)
807 2 {inc_dec=1;
808 3 con_num=4;
809 3 }
810 2 /* else
811 2 {
812 2 inc_dec=0;
813 2 menu_con=0;
814 2 if(cmenu<4)cmenu++;
815 2 else cmenu=0;}*/
816 2 break;
817 2 case 1:if(menu_con<4)menu_con++;
818 2 else menu_con=0;
819 2 cmenu=0;
820 2 ud_con=0;
821 2 break;
822 2 case 2:switch(menu_con)
823 2 {case 0:if(cmenu<21)cmenu++;else cmenu=0;
824 3 break;
825 3 case 1:if(cmenu<15)cmenu++;
826 3 else cmenu=0;gz_txd();set_send=1;
827 3 break;
828 3 case 2:if(cmenu<2)cmenu++;
829 3 else cmenu=0;
830 3 break;
831 3 break;
832 3 case 3:ud_con=0;
833 3 if(cmenu<10)cmenu++;else cmenu=0;
834 3 break;
835 3 case 4: admin_txd();if(cmenu<3)cmenu++;
836 3 else cmenu=0; /*本项为管理项*/
837 3 }
838 2 break;
839 2 case 3: set_send=1;
840 2 if(ud_con<cm_o[cmenu])ud_con++;
841 2 else ud_con=0;
842 2 rd_txd(1);
843 2 break;
844 2 case 4:switch(menu_con)
845 2 {case 1:if(pass)set_data=1;break;
846 3 case 2: add(1);
847 3 break;
848 3 case 3: if(pass)
849 3 switch(cmenu)
850 3 {case 0:add(0);break;/*删除后开机不设*/
851 4 case 2:
852 4 case 3:add(1);
853 4 break;
854 4 case 9:add(1);
855 4 if(set_data>f9_o[ud_con])set_data=f9_o[ud_con];
856 4 break;
857 4 case 10:add(1);
858 4 if(set_data>fa_o[ud_con])set_data=fa_o[ud_con];
859 4 break;
860 4 default:num=s_opp[ture_ud-1][ud_con]&0x80;
861 4 if(!on_off||!num)
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 15
862 4 add(0);
863 4 }
864 3 break;
865 3 case 4:if(!on_off)switch(cmenu)
866 3 {case 0:if(pass&&(set_data<6))add(1);
867 4 else set_data=0;
868 4 break;
869 4 case 1:if(passd)add(1);
870 4 break;
871 4 case 2:if(passd)add(1);
872 4 break;
873 4 case 3:if(passf)add(1);
874 4 }
875 3 }
876 2 }
877 1 }
878 /*down**************down*****************down******down*/
879 void sub(uchar temp)
880 {uchar num;
881 1 if((!cmenu)&&(menu_con==3))
882 1 { switch(ndsp)
883 2 {case 0:num=set_data&0xf;
884 3 if(num>0)num--;else num=s_ov[ud_con]&0xf;
885 3 set_data&=0xf0;
886 3 set_data|=num;
887 3 break;
888 3 case 1:num=set_data&0xf0;
889 3 if(num>0)num-=0x10;else num=s_ov[ud_con]&0xf0;
890 3 set_data&=0xf;
891 3 set_data|=num;
892 3 }
893 2 }
894 1 else
895 1 {switch(ndsp)
896 2 {case 0: if(set_data>0)set_data--;else set_data=0;
897 3 break;
898 3 case 1: if(set_data>=10)set_data-=10;else set_data=0;
899 3 break;
900 3 case 2: if(set_data>=100)set_data-=100;else set_data=0;
901 3 break;
902 3 case 3: if(set_data>=1000)set_data-=1000;else set_data=0;
903 3 }
904 2 if(temp==0)
905 2 {temp=s_opp[ture_ud-1][ud_con]&0xf;
906 3 if(temp>8)temp&=0x7;
907 3 if(set_data<temp)set_data=temp;
908 3 }
909 2 }
910 1 }
911 void enter_down()
912 {
913 1 uchar num;
914 1 switch(st_con)
915 1 {
916 2 case 0:if(on_off)
917 2 {inc_dec=1;
918 3 con_num=5;
919 3 }
920 2 else
921 2 /* {inc_dec=0;
922 2 menu_con=0;
923 2 if(cmenu>0)cmenu--;
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 16
924 2 else cmenu=4;}*/
925 2 break;
926 2 case 1:if(menu_con>0)menu_con--;
927 2 else menu_con=4;
928 2 cmenu=0;
929 2 ud_con=0;
930 2 break;
931 2 case 2:switch(menu_con)
932 2 {case 0:if(cmenu>0)cmenu--;else cmenu=21;
933 3 break;
934 3 case 1:if(cmenu>0)cmenu--;
935 3 else cmenu=15;gz_txd();set_send=1;
936 3 break;
937 3 case 2:if(cmenu>0)cmenu--;
938 3 else cmenu=2;
939 3 break;
940 3 case 3:if(cmenu>0)cmenu--;
941 3 else cmenu=10;
942 3 ud_con=0;
943 3 break;
944 3 case 4:admin_txd();if(cmenu>0)cmenu--;
945 3 else cmenu=3; /*本项为管理项*/
946 3 }
947 2 break;
948 2 case 3: set_send=1;
949 2 if(ud_con>0)ud_con--;
950 2 else ud_con=cm_o[cmenu];
951 2 rd_txd(1);
952 2 break;
953 2 case 4:switch(menu_con)
954 2 {case 1:set_data=0;break;
955 3 case 2:sub(1);
956 3 break;
957 3 case 3: if(pass)
958 3 switch(cmenu)
959 3 {case 0:sub(0);break;
960 4 case 2:
961 4 case 3:
962 4 case 9:
963 4 case 10:sub(1);
964 4 break;
965 4 default:num=s_opp[ture_ud-1][ud_con]&0x80;
966 4 if(!on_off||!num)
967 4 sub(0);
968 4 }
969 3 break;
970 3 case 4: if(!on_off) switch(cmenu)
971 3 {case 0:if(pass&&(set_data>0))sub(1);
972 4 else set_data=6;
973 4 break;
974 4 case 1:if(passd)sub(1);
975 4 break;
976 4 case 2:if(passd)sub(1);
977 4 break;
978 4 case 3:if(passf)sub(1);
979 4 }
980 3 }
981 2 }
982 1 }
983 /*接收处理******************接收处理******************接收处理*/
984 rxd_exe()
985 {
C51 COMPILER V7.50 BPQMB 12/26/2006 17:28:03 PAGE 17
986 1 uchar temp,i;
987 1 uint num;
988 1 rxded=0;
989 1 temp=rxd[1];
990 1 num=rxd[2]<<8;
991 1 num&=0xff00;
992 1 num|=rxd[3];
993 1 switch(temp)
994 1 {case 0:if(st_con!=4)set_data=num;break;
995 2 case 1:pv_zu=num;break;
996 2 case 2:pv_fu=num;
997 2 }
998 1 if(set_data>9999)set_data=0; /*数值滤波,消除闪烁*/
999 1 if(k_abs){k_abs=0;zu_data=pv_zu;fu_data=pv_fu;}
1000 1 else {if(((zu_data-pv_zu)<50)||((pv_zu-zu_data)<50))pv1_zu=zu_data=pv_zu;
1001 2 else
1002 2 {if(((pv1_zu-pv_zu)<50)||((pv_zu-pv1_zu)<50))pv1_zu=zu_data=pv_zu;
1003 3 else pv1_zu=pv_zu;
1004 3 }
1005 2 if(((fu_data-pv_fu)<50)||((pv_fu-fu_data)<50))pv1_fu=fu_data=pv_fu;
1006 2 else
1007 2 { if(((pv1_fu-pv_fu)<50)||((pv_fu-pv1_fu)<50))pv1_fu=fu_data=pv_fu;
1008 3 else pv1_fu=pv_fu;
1009 3 }
1010 2 }
1011 1 i=rxd[0];
1012 1 switch(i)
1013 1 {case 0:on_off=0;temp=P3;
1014 2 error=0;
1015 2 temp&=0xf;
1016 2 P3=temp;
1017 2 break;
1018 2 case 1:on_off=1;temp=P3;
1019 2 error=0;
1020 2 temp&=0xf;
1021 2 temp|=0x30;
1022 2 P3=temp;
1023 2 break;
1024 2 case 2:on_off=1;temp=P3;
1025 2 error=0;
1026 2 temp&=0xf;
1027 2 temp|=0x50;
1028 2 P3=temp;
1029 2 break;
1030 2 case 3:on_off=0;temp=P3;
1031 2 error=1;
1032 2 temp&=0xf;
1033 2 temp|=0x80;
1034 2 P3=temp;
1035 2 break;
1036 2 case 0x5a:set_send=0;
1037 2 }
1038 1 if(ncall_dsp)ncall_dsp--;
1039 1 }
1040
1041 /*main**************main*************main***********main*/
1042 main()
1043 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -