📄 main1_zw.lst
字号:
227 2 }break;
228 2 */
229 2 case edit_sec: {
230 3 // if(in_sector==0)
231 3 // {
232 3 // nonce_sec=rbuffer[2];
233 3 // in_sector=1;
234 3 // }
235 3 p_received=1;
236 3 }break;
237 2 /*
238 2 case parameter: {
239 2 param=1;
240 2
241 2 }break;
C51 COMPILER V7.06 MAIN1_ZW 10/04/2005 14:08:50 PAGE 5
242 2 */
243 2 /*
244 2 case program:
245 2 if(work==0||work==1)
246 2 {
247 2 PRG=rbuffer[3];
248 2 change_prg=1;
249 2 save_prg(); //将程序号存入EEPROM
250 2 }break;
251 2 */
252 2 case infor: {
253 3 switch(rbuffer[2])
254 3 {
255 4 /* case com_sector: nonce_sec=rbuffer[3];break;
256 4 case com_copyEXP: {
257 4 PRG=rbuffer[2]; //假设为当前程序号
258 4 toPRG=rbuffer[3]; //目的程序号
259 4 copy=1;
260 4 }break;
261 4 */
262 4 case com_calling: R_ANSW=rbuffer[3];break;
263 4 case com_switch: {
264 5 YOUHU=rbuffer[3];
265 5 WIRE=rbuffer[4];
266 5 }break;
267 4 case com_weld_simu: {
268 5 //YOUHU=rbuffer[3];
269 5 new_switch1=1;
270 5 }break;
271 4 case com_wire_on_off: {
272 5 //WIRE=rbuffer[3];
273 5 new_switch2=1;
274 5 }break;
275 4 case com_delt_switch: new_switch3=1;;break;
276 4 default:break;
277 4 }
278 3 }break;
279 2 case p_out_sec: p_received=1;break;
280 2 // case p_in_sec: p_received=1;break;
281 2 default: break;
282 2 }
283 1 }
284
285 void send_param()
286 {
287 1 unsigned char temp_pc,temp_delt,anum,snum,axis[]={M_current,M_RW,M_OSC,M_AVC};
288 1 s_p=1;
289 1 point=&pp.pn;
290 1 temp_delt=0;
291 1 // sbuffer1[0]=M_current; //电流和面板接收
292 1 // sbuffer1[1]=p_out_sec; //电流区间外参数
293 1 // sbuffer1[54]=0;
294 1 for(temp_pc=0;temp_pc<52;temp_pc++)
295 1 {
296 2 if(temp_pc%2==0)
297 2 {
298 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
299 3 temp_delt++;
300 3 }
301 2 else
302 2 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
303 2 }
C51 COMPILER V7.06 MAIN1_ZW 10/04/2005 14:08:50 PAGE 6
304 1 for(temp_pc=52;temp_pc<55;temp_pc++)
305 1 sbuffer1[temp_pc]=0;
306 1 s_byte_nums=55;
307 1 TR_ans();
308 1
309 1 // delay(100);
310 1
311 1 s_p=1;
312 1 point=&pp.k2;
313 1 temp_delt=0;
314 1 // sbuffer1[0]=M_RW; //旋转/送丝和面板接收
315 1 // sbuffer1[1]=p_out_sec; //旋转/送丝区间外参数
316 1 for(temp_pc=0;temp_pc<48;temp_pc++)
317 1 {
318 2 if(temp_pc%2==0)
319 2 {
320 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
321 3 temp_delt++;
322 3 }
323 2 else
324 2 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
325 2 }
326 1 for(temp_pc=48;temp_pc<55;temp_pc++)
327 1 sbuffer1[temp_pc]=0;
328 1 s_byte_nums=55;
329 1 TR_ans();
330 1
331 1 // delay(100);
332 1
333 1 s_p=1;
334 1 point=&pp.k4;
335 1 temp_delt=0;
336 1 // sbuffer1[0]=M_OSC; //横摆和面板接收
337 1 // sbuffer1[1]=p_out_sec; //横摆区间外参数
338 1 for(temp_pc=0;temp_pc<50;temp_pc++)
339 1 {
340 2 if(temp_pc%2==0)
341 2 {
342 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
343 3 temp_delt++;
344 3 }
345 2 else
346 2 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
347 2 }
348 1 for(temp_pc=51;temp_pc<55;temp_pc++)
349 1 sbuffer1[temp_pc]=0;
350 1 s_byte_nums=55;
351 1 TR_ans();
352 1
353 1 // delay(100);
354 1
355 1 /*
356 1 s_p=1;
357 1 point=&pp.k5;
358 1 temp_delt=0;
359 1 // sbuffer1[0]=M_AVC; //横摆和面板接收
360 1 // sbuffer1[1]=p_out_sec; //横摆区间外参数
361 1 for(temp_pc=2;temp_pc<28;temp_pc++)
362 1 {
363 1 if(temp_pc%2==0)
364 1 {
365 1 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
C51 COMPILER V7.06 MAIN1_ZW 10/04/2005 14:08:50 PAGE 7
366 1 temp_delt++;
367 1 }
368 1 else
369 1 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
370 1 }
371 1 for(temp_pc=28;temp_pc<55;temp_pc++)
372 1 sbuffer1[temp_pc]=0;
373 1 s_byte_nums=55;
374 1 TR_ans();
375 1 */
376 1 for(snum=0;snum<10;snum++)
377 1 {
378 2 s_p=1;
379 2 temp_delt=0;
380 2 point=&pp.x[snum][0];
381 2 for(temp_pc=0;temp_pc<60;temp_pc++)
382 2 {
383 3 if(temp_pc%2==0)
384 3 {
385 4 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
386 4 temp_delt++;
387 4 }
388 3 else
389 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
390 3 }
391 2 for(temp_pc=60;temp_pc<64;temp_pc++)
392 2 sbuffer1[temp_pc]=0;
393 2 s_byte_nums=64;
394 2 TR_ans();
395 2 // delay(100);
396 2 }
397 1 }
*** WARNING C280 IN LINE 287 OF E:\NEWMAC~1\050808\MAIN\MAIN1_ZW.C: 'anum': unreferenced local variable
398
399 void EX0_INT (void) interrupt 0
400 {
401 1 EX0=0;
402 1 urgent_stop=1;
403 1 // err_ok=0;
404 1 }
405
406 void T1_INT (void) interrupt 3
407 {
408 1 // EA=0;
409 1 c_t1++;
410 1 if(send==1)
411 1 {
412 2 if(c_t1==7)
413 2 {
414 3 if(s_p==0)
415 3 SBUF=sbuffer[POINTER0];
416 3 else
417 3 SBUF=sbuffer1[POINTER0];
418 3 c_t1=0;
419 3 }
420 2 }
421 1 else
422 1 {
423 2 if(c_t1==100)
424 2 {
425 3 TR1=0;
426 3 overtime=1;
C51 COMPILER V7.06 MAIN1_ZW 10/04/2005 14:08:50 PAGE 8
427 3 }
428 2 }
429 1 // EA=1;
430 1 }
431
432 void TR_INT (void) interrupt 4 //串行口中断
433 {
434 1 EA=0; //关中断
435 1 if(TI==1) //发送完成
436 1 {
437 2 TI=0;
438 2 POINTER0++; //发送缓冲指针加1
439 2 // if(POINTER0==1)
440 2 // TB8=0;
441 2 if(POINTER0<s_byte_nums)
442 2 {
443 3 if(POINTER0<s_byte_nums-1)
444 3 {
445 4 if(s_p==1)
446 4 SSUM=SSUM+sbuffer1[POINTER0];
447 4 else
448 4 SSUM=SSUM+sbuffer[POINTER0]; //6个数据字节求和
449 4 }
450 3 else
451 3 {
452 4 if(s_p==1)
453 4 sbuffer1[s_byte_nums-1]=SSUM+sbuffer1[0];
454 4 else
455 4 sbuffer[s_byte_nums-1]=SSUM+sbuffer[0]; //数据和加地址生成校验码
456 4 }
457 3 }
458 2 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -