📄 setbid.lst
字号:
1066 2 }
1067 1
1068 1 //应答
1069 1 p=&answer_data[0];
1070 1 check_temp=cal_crc(p,46);
1071 1 answer_data[46]=(check_temp>>8); //crc
1072 1 answer_data[47]=check_temp; //crc
1073 1 answer_data[48]=0x7e;
1074 1 tempdata=0;
1075 1 for(i=0;i<49;i++){
1076 2 for(j=0;j<8;j++){
1077 3 add_bit=(answer_data[i]>>(7-j))%2;
1078 3 add_transparences();
1079 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1080 3 if((add_transparence_valid==1) && (i!=48)){ ///////////////////////////////////
1081 4 if(data_final_number==8)beginbit=1;
1082 4 else data_final_number++;
1083 4 } ///////////////////////////////////
1084 3 if(data_final_number>=8){ /////////////////////////////////
1085 4 if(beginbit==1){ ////////////////////
1086 5 data_final_number=1; ////////////////////////
1087 5 beginbit=0; ////////////////////
1088 5 }else{
1089 5 data_final_number=0;
1090 5 }
1091 4 data_final[datanumber++]=tempdata; /////////////////////
1092 4 tempdata=0;
1093 4 }
1094 3 }
1095 2 }
1096 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
1097 1 EA=0;
1098 1 SBUF=0X7E;
1099 1 while(!TI);TI=0;
1100 1 for(i=0;i<datanumber;i++)
1101 1 {
1102 2 SBUF=data_final[i];
1103 2 while(!TI);TI=0;
1104 2 }
1105 1 EA=1;
1106 1 }
1107 //查询日计划
1108 bid_datesch()
1109 {
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 19
1110 1 unsigned char *p;
1111 1 unsigned short check_temp;
1112 1 unsigned int i;
1113 1 unsigned int j;
1114 1 unsigned char beginbit=0;
1115 1 data_final_number=0;
1116 1 datanumber=0;
1117 1
1118 1 answer_data[0]=h_address;
1119 1 answer_data[1]=l_address;
1120 1 answer_data[2]=0xcc;
1121 1 answer_data[3]=0xc1;
1122 1 answer_data[4]=0xc8;
1123 1
1124 1 j=checkdata[5];
1125 1 j=(j-1)*74;
1126 1 for(i=0;i<74;i++){
1127 2 answer_data[5+i]=XBYTE[0X63a2+i+j];
1128 2 }
1129 1
1130 1 //应答
1131 1 p=&answer_data[0];
1132 1 check_temp=cal_crc(p,79);
1133 1 answer_data[79]=(check_temp>>8); //crc
1134 1 answer_data[80]=check_temp; //crc
1135 1 answer_data[81]=0x7e;
1136 1 tempdata=0;
1137 1 for(i=0;i<82;i++){
1138 2 for(j=0;j<8;j++){
1139 3 add_bit=(answer_data[i]>>(7-j))%2;
1140 3 add_transparences();
1141 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1142 3 if((add_transparence_valid==1) && (i!=81)){ ///////////////////////////////////
1143 4 if(data_final_number==8)beginbit=1;
1144 4 else data_final_number++;
1145 4 } ///////////////////////////////////
1146 3 if(data_final_number>=8){ /////////////////////////////////
1147 4 if(beginbit==1){ ////////////////////
1148 5 data_final_number=1; ////////////////////////
1149 5 beginbit=0; ////////////////////
1150 5 }else{
1151 5 data_final_number=0;
1152 5 }
1153 4 data_final[datanumber++]=tempdata; /////////////////////
1154 4 tempdata=0;
1155 4 }
1156 3 }
1157 2 }
1158 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
1159 1 EA=0;
1160 1 SBUF=0X7E;
1161 1 while(!TI);TI=0;
1162 1 for(i=0;i<datanumber;i++)
1163 1 {
1164 2 SBUF=data_final[i];
1165 2 while(!TI);TI=0;
1166 2 }
1167 1 EA=1;
1168 1 }
1169 //查询日计划调度表
1170 bid_datadis()
1171 {
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 20
1172 1 unsigned char *p;
1173 1 unsigned short check_temp;
1174 1 unsigned int i;
1175 1 unsigned int j;
1176 1 unsigned char beginbit=0;
1177 1 data_final_number=0;
1178 1 datanumber=0;
1179 1 answer_data[0]=h_address;
1180 1 answer_data[1]=l_address;
1181 1 answer_data[2]=0xcc;
1182 1 answer_data[3]=0xc1;
1183 1 answer_data[4]=0xc9;
1184 1
1185 1 for(i=0;i<60;i++){
1186 2 answer_data[5+i]=XBYTE[0X6Ce2+i];
1187 2 }
1188 1
1189 1 //应答
1190 1 p=&answer_data[0];
1191 1 check_temp=cal_crc(p,65);
1192 1 answer_data[65]=(check_temp>>8); //crc
1193 1 answer_data[66]=check_temp; //crc
1194 1 answer_data[67]=0x7e;
1195 1 tempdata=0;
1196 1 for(i=0;i<68;i++){
1197 2 for(j=0;j<8;j++){
1198 3 add_bit=(answer_data[i]>>(7-j))%2;
1199 3 add_transparences();
1200 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1201 3 if((add_transparence_valid==1) && (i!=67)){ ///////////////////////////////////
1202 4 if(data_final_number==8)beginbit=1;
1203 4 else data_final_number++;
1204 4 } ///////////////////////////////////
1205 3 if(data_final_number>=8){ /////////////////////////////////
1206 4 if(beginbit==1){ ////////////////////
1207 5 data_final_number=1; ////////////////////////
1208 5 beginbit=0; ////////////////////
1209 5 }else{
1210 5 data_final_number=0;
1211 5 }
1212 4 data_final[datanumber++]=tempdata; /////////////////////
1213 4 tempdata=0;
1214 4 }
1215 3 }
1216 2 }
1217 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
1218 1 EA=0;
1219 1 SBUF=0X7E;
1220 1 while(!TI);TI=0;
1221 1 for(i=0;i<datanumber;i++)
1222 1 {
1223 2 SBUF=data_final[i];
1224 2 while(!TI);TI=0;
1225 2 }
1226 1 EA=1;
1227 1 } //查询遥控设置
1228 bid_remote()
1229 {
1230 1 unsigned char *p;
1231 1 unsigned short check_temp;
1232 1 unsigned int i;
1233 1 unsigned int j;
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 21
1234 1 unsigned char beginbit=0;
1235 1 data_final_number=0;
1236 1 datanumber=0;
1237 1 answer_data[0]=h_address;
1238 1 answer_data[1]=l_address;
1239 1 answer_data[2]=0xcc;
1240 1 answer_data[3]=0xc1;
1241 1 answer_data[4]=0xcf; //应答遥控设置
1242 1
1243 1 for(i=0;i<8;i++){
1244 2 answer_data[5+i]=XBYTE[0X6d20+i];
1245 2 }
1246 1
1247 1 //应答
1248 1 p=&answer_data[0];
1249 1 check_temp=cal_crc(p,13);
1250 1 answer_data[13]=(check_temp>>8); //crc
1251 1 answer_data[14]=check_temp; //crc
1252 1 answer_data[15]=0x7e;
1253 1 tempdata=0;
1254 1 for(i=0;i<16;i++){
1255 2 for(j=0;j<8;j++){
1256 3 add_bit=(answer_data[i]>>(7-j))%2;
1257 3 add_transparences();
1258 3 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1259 3 if((add_transparence_valid==1) && (i!=15)){ ///////////////////////////////////
1260 4 if(data_final_number==8)beginbit=1;
1261 4 else data_final_number++;
1262 4 } ///////////////////////////////////
1263 3 if(data_final_number>=8){ /////////////////////////////////
1264 4 if(beginbit==1){ ////////////////////
1265 5 data_final_number=1; ////////////////////////
1266 5 beginbit=0; ////////////////////
1267 5 }else{
1268 5 data_final_number=0;
1269 5 }
1270 4 data_final[datanumber++]=tempdata; /////////////////////
1271 4 tempdata=0;
1272 4 }
1273 3 }
1274 2 }
1275 1 if( data_final_number!=0)data_final[datanumber++]=tempdata;
1276 1 EA=0;
1277 1 SBUF=0X7E;
1278 1 while(!TI);TI=0;
1279 1 for(i=0;i<datanumber;i++)
1280 1 {
1281 2 SBUF=data_final[i];
1282 2 while(!TI);TI=0;
1283 2 }
1284 1 EA=1;
1285 1 }
1286
1287 //查询当前控制方案信息
1288
1289 bid_nowsch()
1290 {
1291 1 }
1292 //查询当前状态
1293 bid_nowstae()
1294 {
1295 1 }
C51 COMPILER V6.02 SETBID 09/28/2006 21:46:50 PAGE 22
1296 //查询统计周期
1297 bid_caperiod()
1298 {
1299 1 }
1300 //查询统计周期
1301 bid_inform()
1302 {
1303 1 }
1304 com_receive_deal()
1305 {
1306 1 tempdata=0;
1307 1 switch(receive_flag){ //设置
1308 2 WatchDog = !WatchDog;
1309 2 case 0x93:set_time(); break; //设置时间
1310 2 case 0x94:set_phase(); break; //设置相位
1311 2 case 0x95:set_stage(); break; //设置阶段表
1312 2 case 0x96:set_project(); break; //设置控制方案
1313 2 case 0x97:set_uppc(); break; //上位机直接控制
1314 2 case 0x98:set_datesch(); break; //设置日计划
1315 2 case 0x99:set_datadis(); break; //设置日计划调度表
1316 2 case 0x9a:set_nowsch(); break; //设置当前控制方案
1317 2 case 0x9c:set_caperiod(); break; //设置统计周期
1318 2 case 0x9f:switch(second_flag){ //新中新增补协议设置区
1319 3 case 0x02: break;
1320 3 case 0x0d: set_remote(); break;
1321 3 default:break;
1322 3 }
1323 2 break; //遥控设置 0D
1324 2
1325 2 //查询
1326 2 case 0x81:bid_flag(); break; //查询信号机标识
1327 2 case 0x82:bid_mark(); break; //查询信号机特征参数
1328 2 case 0x83:bid_time(); break; //查询信号机时间
1329 2 case 0x84:bid_phase(); break; //查询相位配置
1330 2 case 0x85:bid_stage(); break; //查询阶段表
1331 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -