⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setbid.lst

📁 ASC 信号机控制程序,国内最先进的信号机控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -