📄 setbid.lst
字号:
799 1 unsigned char j;
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 14
800 1 unsigned char beginbit=0;
801 1 data_final_number=0;
802 1 datanumber=0;
803 1 //设置时间后用
804 1 answer_data[0]=h_address;
805 1 answer_data[1]=l_address;
806 1 answer_data[2]=0xcc;
807 1 answer_data[3]=0xc1;
808 1 answer_data[4]=0x92;
809 1 answer_data[5]=0x20; //支持的最大阶段表数
810 1 answer_data[6]=0x20; //阶段表中最大阶段数
811 1 answer_data[7]=0x20; //最大控制方案数
812 1 answer_data[8]=0x20; //最大日计划数
813 1 answer_data[9]=0x16; //日计划中最大时段数
814 1 answer_data[10]=XBYTE[0X72e2]; //开机时间 小时
815 1 answer_data[11]=XBYTE[0X72e3]; //开机时间 分钟
816 1 answer_data[12]=XBYTE[0X72e4]; //关机时间 小时
817 1 answer_data[13]=XBYTE[0X72e5]; //关机时间 分钟
818 1 answer_data[14]=XBYTE[0X72e6]; //关机后状态
819 1 answer_data[15]=XBYTE[0X8000]; //路口编号高地址
820 1 answer_data[16]=XBYTE[0X8001]; //路口编号低位地址
821 1
822 1 //应答
823 1 p=&answer_data[0];
824 1 check_temp=cal_crc(p,17);
825 1 answer_data[17]=(check_temp>>8); //crc
826 1 answer_data[18]=check_temp; //crc
827 1 answer_data[19]=0x7e;
828 1 tempdata=0;
829 1 for(i=0;i<20;i++){
830 2 for(j=0;j<8;j++){
831 3 add_bit=(answer_data[i]>>(7-j))%2;
832 3 add_transparences();
833 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
834 3 if((add_transparence_valid==1) && (i!=19)){ ///////////////////////////////////
835 4 if(data_final_number==8)beginbit=1;
836 4 else data_final_number++;
837 4 } ///////////////////////////////////
838 3 if(data_final_number>=8){ /////////////////////////////////
839 4 if(beginbit==1){ ////////////////////
840 5 data_final_number=1; ////////////////////////
841 5 beginbit=0; ////////////////////
842 5 }else{
843 5 data_final_number=0;
844 5 }
845 4 data_final[datanumber++]=tempdata; /////////////////////
846 4 tempdata=0;
847 4 }
848 3 }
849 2 }
850 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
851 1 EA=0;
852 1 SBUF=0X7E;
853 1 while(!TI);TI=0;
854 1 for(i=0;i<datanumber;i++)
855 1 {
856 2 SBUF=data_final[i];
857 2 while(!TI);TI=0;
858 2 }
859 1 EA=1;
860 1
861 1 }
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 15
862 //查询时间
863 bid_time()
864 {
865 1 unsigned char *p;
866 1 unsigned short check_temp;
867 1 unsigned char i;
868 1 unsigned char j;
869 1 unsigned char beginbit=0;
870 1 data_final_number=0;
871 1 datanumber=0;
872 1 //设置时间后用
873 1 answer_data[0]=h_address;
874 1 answer_data[1]=l_address;
875 1 answer_data[2]=0xcc;
876 1 answer_data[3]=0xc1;
877 1 answer_data[4]=0xc3;
878 1 answer_data[5]=XBYTE[0XC009]; //year
879 1 answer_data[6]=XBYTE[0XC008]; //month
880 1 answer_data[7]=XBYTE[0XC007]; //date
881 1 answer_data[8]=XBYTE[0XC004]; //hour
882 1 answer_data[9]=XBYTE[0XC002]; //min
883 1 answer_data[10]=XBYTE[0XC000]; //sec
884 1 answer_data[11]=XBYTE[0XC006]; //day
885 1 //应答
886 1 p=&answer_data[0];
887 1 check_temp=cal_crc(p,12);
888 1 answer_data[12]=(check_temp>>8); //crc
889 1 answer_data[13]=check_temp; //crc
890 1 answer_data[14]=0x7e;
891 1 tempdata=0;
892 1 for(i=0;i<15;i++){
893 2 for(j=0;j<8;j++){
894 3 add_bit=(answer_data[i]>>(7-j))%2;
895 3 add_transparences();
896 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
897 3 if((add_transparence_valid==1) && (i!=14)){ ///////////////////////////////////
898 4 if(data_final_number==8)beginbit=1;
899 4 else data_final_number++;
900 4 } ///////////////////////////////////
901 3 if(data_final_number>=8){ /////////////////////////////////
902 4 if(beginbit==1){ ////////////////////
903 5 data_final_number=1; ////////////////////////
904 5 beginbit=0; ////////////////////
905 5 }else{
906 5 data_final_number=0;
907 5 }
908 4 data_final[datanumber++]=tempdata; /////////////////////
909 4 tempdata=0;
910 4 }
911 3 }
912 2 }
913 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
914 1 EA=0;
915 1 SBUF=0X7E;
916 1 while(!TI);TI=0;
917 1 for(i=0;i<datanumber;i++)
918 1 {
919 2 SBUF=data_final[i];
920 2 while(!TI);TI=0;
921 2 }
922 1 EA=1;
923 1 }
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 16
924 //查询相位时间
925 bid_phase()
926 {
927 1 unsigned char *p;
928 1 unsigned short check_temp;
929 1 unsigned int i;
930 1 unsigned int j;
931 1 unsigned char beginbit=0;
932 1 datanumber=0;
933 1 data_final_number=0;
934 1 answer_data[0]=h_address;
935 1 answer_data[1]=l_address;
936 1 answer_data[2]=0xcc;
937 1 answer_data[3]=0xc1;
938 1 answer_data[4]=0xc4;
939 1 if(checkdata[5]==0){//应答相位表1
940 2 for(i=0;i<289;i++)answer_data[5+i]=XBYTE[0x5000+i];
941 2 }else{ //应答相位表2
942 2 for(i=0;i<289;i++)answer_data[5+i]=XBYTE[0x5121+i];
943 2 }
944 1 //应答
945 1 p=&answer_data[0];
946 1 check_temp=cal_crc(p,294);
947 1 // check_temp=(check_temp>>8);
948 1 answer_data[294]=(check_temp>>8); //crc
949 1 answer_data[295]=check_temp; //crc
950 1 answer_data[296]=0x7e;
951 1 tempdata=0;
952 1 for(i=0;i<297;i++){
953 2 for(j=0;j<8;j++){
954 3 add_bit=(answer_data[i]>>(7-j))%2;
955 3 add_transparences();
956 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
957 3 if((add_transparence_valid==1) && (i!=296)){ ///////////////////////////////////
958 4 if(data_final_number==8)beginbit=1;
959 4 else data_final_number++;
960 4 } ///////////////////////////////////
961 3 if(data_final_number>=8){ /////////////////////////////////
962 4 if(beginbit==1){ ////////////////////
963 5 data_final_number=1; ////////////////////////
964 5 beginbit=0; ////////////////////
965 5 }else{
966 5 data_final_number=0;
967 5 }
968 4 data_final[datanumber++]=tempdata; /////////////////////
969 4 tempdata=0;
970 4 }
971 3 }
972 2 }
973 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
974 1 EA=0;
975 1 SBUF=0X7E;
976 1 while(!TI);TI=0;
977 1 for(i=0;i<datanumber;i++)
978 1 {
979 2 SBUF=data_final[i];
980 2 while(!TI);TI=0;
981 2 }
982 1 EA=1;
983 1
984 1
985 1
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 17
986 1 }
987 //查询阶段表
988 bid_stage()
989 {
990 1 unsigned char *p;
991 1 unsigned short check_temp;
992 1 unsigned int i;
993 1 unsigned int j;
994 1 unsigned char beginbit=0;
995 1 data_final_number=0;
996 1 datanumber=0;
997 1 //应答
998 1 answer_data[0]=h_address;
999 1 answer_data[1]=l_address;
1000 1 answer_data[2]=0xcc;
1001 1 answer_data[3]=0xc1;
1002 1 answer_data[4]=0xc5;
1003 1
1004 1 j=checkdata[5];
1005 1 j=(j-1)*98;
1006 1 for(i=0;i<98;i++){
1007 2 answer_data[5+i]=XBYTE[0X5242+i+j];
1008 2 }
1009 1 p=&answer_data[0];
1010 1 check_temp=cal_crc(p,103);
1011 1 answer_data[103]=(check_temp>>8); //crc
1012 1 answer_data[104]=check_temp; //crc
1013 1 answer_data[105]=0x7e;
1014 1 tempdata=0;
1015 1 for(i=0;i<106;i++){
1016 2 for(j=0;j<8;j++){
1017 3 add_bit=(answer_data[i]>>(7-j))%2;
1018 3 add_transparences();
1019 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1020 3 if((add_transparence_valid==1) && (i!=105)){ ///////////////////////////////////
1021 4 if(data_final_number==8)beginbit=1;
1022 4 else data_final_number++;
1023 4 } ///////////////////////////////////
1024 3 if(data_final_number>=8){ /////////////////////////////////
1025 4 if(beginbit==1){ ////////////////////
1026 5 data_final_number=1; ////////////////////////
1027 5 beginbit=0; ////////////////////
1028 5 }else{
1029 5 data_final_number=0;
1030 5 }
1031 4 data_final[datanumber++]=tempdata; /////////////////////
1032 4 tempdata=0;
1033 4 }
1034 3 }
1035 2 }
1036 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
1037 1 EA=0;
1038 1 SBUF=0X7E;
1039 1 while(!TI);TI=0;
1040 1 for(i=0;i<datanumber;i++)
1041 1 {
1042 2 SBUF=data_final[i];
1043 2 while(!TI);TI=0;
1044 2 }
1045 1 EA=1;
1046 1 }
1047 //查询当前控制方案信息
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 18
1048 bid_consch()
1049 {
1050 1 unsigned char *p;
1051 1 unsigned short check_temp;
1052 1 unsigned int i;
1053 1 unsigned int j;
1054 1 unsigned char beginbit=0;
1055 1 data_final_number=0;
1056 1 datanumber=0;
1057 1 answer_data[0]=h_address;
1058 1 answer_data[1]=l_address;
1059 1 answer_data[2]=0xcc;
1060 1 answer_data[3]=0xc1;
1061 1 answer_data[4]=0xc6;
1062 1
1063 1 j=(checkdata[5]-1)*41;
1064 1 for(i=0;i<41;i++){
1065 2 answer_data[5+i]=XBYTE[0X5e82+i+j];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -