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

📄 setbid.lst

📁 最先进的信号机程序,经过很多重要场合测试通过
💻 LST
📖 第 1 页 / 共 5 页
字号:
1050   1              EA=1;
1051   1      }
1052          //查询日计划
1053          bid_datesch()
1054          {
1055   1        unsigned char *p;
1056   1        unsigned short check_temp;
1057   1        unsigned int i;
1058   1        unsigned int j;
1059   1        unsigned char beginbit=0;
1060   1        data_final_number=0;
1061   1        datanumber=0;
1062   1      
1063   1        answer_data[0]=h_address;
1064   1        answer_data[1]=l_address;
1065   1        answer_data[2]=0xcc;
1066   1        answer_data[3]=0xc1;
1067   1        answer_data[4]=0xc8;
1068   1      
1069   1        j=checkdata[5];
1070   1        j=(j-1)*74;
1071   1        for(i=0;i<74;i++){
1072   2               answer_data[5+i]=XBYTE[0X63a2+i+j];
1073   2                          }
1074   1      
1075   1        //应答
1076   1        p=&answer_data[0];
1077   1        check_temp=cal_crc(p,79);
1078   1        answer_data[79]=(check_temp>>8);    //crc
1079   1        answer_data[80]=check_temp;         //crc
1080   1        answer_data[81]=0x7e;
1081   1        tempdata=0;
1082   1        for(i=0;i<82;i++){
1083   2              for(j=0;j<8;j++){
1084   3                 add_bit=(answer_data[i]>>(7-j))%2;
1085   3                 add_transparences();
1086   3                 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1087   3                 if((add_transparence_valid==1) && (i!=81)){ ///////////////////////////////////
1088   4                         if(data_final_number==8)beginbit=1;
1089   4                                            else data_final_number++;
1090   4                                                }      ///////////////////////////////////
1091   3                 if(data_final_number>=8){             /////////////////////////////////
1092   4                     if(beginbit==1){                  ////////////////////
1093   5                                data_final_number=1;   ////////////////////////
1094   5                                beginbit=0;            ////////////////////
1095   5                                     }else{
1096   5                                data_final_number=0;
1097   5                                           }
1098   4                       data_final[datanumber++]=tempdata; 	  /////////////////////
1099   4      	        tempdata=0;
1100   4                                          }
1101   3                               }
1102   2                          }
1103   1              if( data_final_number!=0)data_final[datanumber++]=tempdata;
1104   1              EA=0;
1105   1              SBUF=0X7E;
1106   1              while(!TI);TI=0;
1107   1      	for(i=0;i<datanumber;i++)
1108   1      	{
1109   2      	    SBUF=data_final[i];
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 19  

1110   2                   while(!TI);TI=0;
1111   2      	}
1112   1              EA=1;
1113   1      }
1114          //查询日计划调度表
1115          bid_datadis()
1116          {
1117   1        unsigned char *p;
1118   1        unsigned short check_temp;
1119   1        unsigned int i;
1120   1        unsigned int j;
1121   1        unsigned char beginbit=0;
1122   1        data_final_number=0;
1123   1        datanumber=0;
1124   1        answer_data[0]=h_address;
1125   1        answer_data[1]=l_address;
1126   1        answer_data[2]=0xcc;
1127   1        answer_data[3]=0xc1;
1128   1        answer_data[4]=0xc9;
1129   1      
1130   1        for(i=0;i<60;i++){
1131   2               answer_data[5+i]=XBYTE[0X6Ce2+i];
1132   2                          }
1133   1      
1134   1        //应答
1135   1        p=&answer_data[0];
1136   1        check_temp=cal_crc(p,65);
1137   1        answer_data[65]=(check_temp>>8);    //crc
1138   1        answer_data[66]=check_temp;         //crc
1139   1        answer_data[67]=0x7e;
1140   1        tempdata=0;
1141   1        for(i=0;i<68;i++){
1142   2              for(j=0;j<8;j++){
1143   3                 add_bit=(answer_data[i]>>(7-j))%2;
1144   3                 add_transparences();
1145   3                 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1146   3                 if((add_transparence_valid==1) && (i!=67)){ ///////////////////////////////////
1147   4                         if(data_final_number==8)beginbit=1;
1148   4                                            else data_final_number++;
1149   4                                                }      ///////////////////////////////////
1150   3                 if(data_final_number>=8){             /////////////////////////////////
1151   4                     if(beginbit==1){                  ////////////////////
1152   5                                data_final_number=1;   ////////////////////////
1153   5                                beginbit=0;            ////////////////////
1154   5                                     }else{
1155   5                                data_final_number=0;
1156   5                                           }
1157   4                       data_final[datanumber++]=tempdata; 	  /////////////////////
1158   4      	        tempdata=0;
1159   4                                          }
1160   3                               }
1161   2                          }
1162   1              if( data_final_number!=0)data_final[datanumber++]=tempdata;
1163   1              EA=0;
1164   1              SBUF=0X7E;
1165   1              while(!TI);TI=0;
1166   1      	for(i=0;i<datanumber;i++)
1167   1      	{
1168   2      	    SBUF=data_final[i];
1169   2                  while(!TI);TI=0;
1170   2      	}
1171   1              EA=1;
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 20  

1172   1      }  //查询遥控设置
1173          bid_remote()
1174          {
1175   1        unsigned char *p;
1176   1        unsigned short check_temp;
1177   1        unsigned int i;
1178   1        unsigned int j;
1179   1        unsigned char beginbit=0;
1180   1        data_final_number=0;
1181   1        datanumber=0;
1182   1        answer_data[0]=h_address;
1183   1        answer_data[1]=l_address;
1184   1        answer_data[2]=0xcc;
1185   1        answer_data[3]=0xc1;
1186   1        answer_data[4]=0xcf;  //应答遥控设置
1187   1      
1188   1        for(i=0;i<8;i++){
1189   2               answer_data[5+i]=XBYTE[0X6d20+i];
1190   2                          }
1191   1      
1192   1        //应答
1193   1        p=&answer_data[0];
1194   1        check_temp=cal_crc(p,13);
1195   1        answer_data[13]=(check_temp>>8);    //crc
1196   1        answer_data[14]=check_temp;         //crc
1197   1        answer_data[15]=0x7e;
1198   1        tempdata=0;
1199   1        for(i=0;i<16;i++){
1200   2              for(j=0;j<8;j++){
1201   3                 add_bit=(answer_data[i]>>(7-j))%2;
1202   3                 add_transparences();
1203   3                 tempdata=tempdata+(add_bit<<(7-data_final_number++));
1204   3                 if((add_transparence_valid==1) && (i!=15)){ ///////////////////////////////////
1205   4                         if(data_final_number==8)beginbit=1;
1206   4                                            else data_final_number++;
1207   4                                                }      ///////////////////////////////////
1208   3                 if(data_final_number>=8){             /////////////////////////////////
1209   4                     if(beginbit==1){                  ////////////////////
1210   5                                data_final_number=1;   ////////////////////////
1211   5                                beginbit=0;            ////////////////////
1212   5                                     }else{
1213   5                                data_final_number=0;
1214   5                                           }
1215   4                       data_final[datanumber++]=tempdata; 	  /////////////////////
1216   4      	        tempdata=0;
1217   4                                          }
1218   3                               }
1219   2                          }
1220   1              if( data_final_number!=0)data_final[datanumber++]=tempdata;
1221   1              EA=0;
1222   1              SBUF=0X7E;
1223   1              while(!TI);TI=0;
1224   1      	for(i=0;i<datanumber;i++)
1225   1      	{
1226   2      	    SBUF=data_final[i];
1227   2                  while(!TI);TI=0;
1228   2      	}
1229   1              EA=1;
1230   1      }
1231          
1232          //查询当前控制方案信息
1233          
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 21  

1234          bid_nowsch()
1235          {
1236   1      }
1237          //查询当前状态
1238          bid_nowstae()
1239          {
1240   1      }
1241          //查询统计周期
1242          bid_caperiod()
1243          {
1244   1      }
1245          //查询统计周期
1246          bid_inform()
1247          {
1248   1      }
1249          com_receive_deal()
1250          {
1251   1          tempdata=0;
1252   1        switch(receive_flag){       //设置
1253   2      
1254   2          case 0x93:set_time();     break;    //设置时间
1255   2          case 0x94:set_phase();    break;    //设置相位
1256   2          case 0x95:set_stage();    break;   //设置阶段表
1257   2          case 0x96:set_project();  break;    //设置控制方案
1258   2          case 0x97:set_uppc();     break;    //上位机直接控制
1259   2          case 0x98:set_datesch();  break;   //设置日计划
1260   2          case 0x99:set_datadis();  break;    //设置日计划调度表
1261   2          case 0x9a:set_nowsch();   break;    //设置当前控制方案
1262   2          case 0x9c:set_caperiod(); break;   //设置统计周期
1263   2          case 0x9f:set_remote();   break;
1264   2      
1265   2          //查询
1266   2          case 0x81:bid_flag();    break;    //查询信号机标识
1267   2          case 0x82:bid_mark();    break;    //查询信号机特征参数
1268   2          case 0x83:bid_time();    break;    //查询信号机时间
1269   2          case 0x84:bid_phase();   break;    //查询相位配置
1270   2          case 0x85:bid_stage();   break;    //查询阶段表
1271   2          case 0x86:bid_consch();  break;    //查询控制方案
1272   2          case 0x88:bid_datesch(); break;    //查询日计划
1273   2          case 0x89:bid_datadis(); break;    //查询日计划调度表信息
1274   2          case 0x8a:bid_nowsch();  break;    //查询当前控制方案信息
1275   2          case 0x8b:bid_nowstae(); break;    //查询信号机当前状态
1276   2          case 0x8c:bid_caperiod();break;    //查询统计周期
1277   2          case 0x8d:bid_inform();  break;    //查询统计数据
1278   2          case 0x8f:bid_remote();  break;    //查询遥控状态//此处
1279   2          default:break;
1280   2                 }
1281   1      
1282   1      }
C51 COMPILER V6.02  SETBID                                                                 08/02/2006 14:44:14 PAGE 22  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


com_receive_deal . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
tr_flagaddr. . . . . . . . . . . . . .  EXTERN   XDATA  U_INT    -----  2
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
add_final_number . . . . . . . . . . .  PUBLIC   XDATA  U_INT    0000H  2
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
data_final . . . . . . . . . . . . . .  PUBLIC   XDATA  ARRAY    0002H  310
set_datadis. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  p. . . . . . . . . . . . . . . . . .  * REG *  DATA   PTR      0001H  3
  check_temp . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
  i. . . . . . . . . . . . . . . . . .  AUTO     XDATA  U_INT    0000H  2
  j. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  beginbit . . . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0002H  1
add_transparences. . . . . . . . . . .  PUBLIC   CODE   PROC     0006H  -----
add_transparence_valid . . . . . . . .  PUBLIC   XDATA  U_INT    0138H  2
set_datesch. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  p. . . . . . . . . . . . . . . . . .  * REG *  DATA   PTR      0001H  3
  check_temp . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
  i. . . . . . . . . . . . . . . . . .  AUTO     XDATA  U_INT    0000H  2
  j. . . . . . . . . . . . . . . . . .  AUTO     XDATA  U_INT    0002H  2
  beginbit . . . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0004H  1
answer_data. . . . . . . . . . . . . .  PUBLIC   XDATA  ARRAY    013AH  310
bid_consch . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  p. . . . . . . . . . . . . . . . . .  * REG *  DATA   PTR      0001H  3
  check_temp . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -