📄 setbid.lst
字号:
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 + -