📄 main1_1013.lst
字号:
229 3 osc_r=1;
230 3 }break;
231 2 case com_breadth_add: {
232 3 scan=1;
233 3 breadth_add=1;
234 3 }break;
235 2 case com_breadth_dec: {
236 3 scan=1;
237 3 breadth_dec=1;
238 3 }break;
239 2 case com_avc_up: {
240 3 scan=1;
241 3 avc_up=1;
C51 COMPILER V7.50 MAIN1_1013 01/18/2006 15:09:40 PAGE 5
242 3 }break;
243 2 case com_avc_down: {
244 3 scan=1;
245 3 avc_down=1;
246 3 }break;
247 2 case com_motor_stop: temp_motor_stop=1;break;
248 2 case com_urgent_stop: {
249 3 pc_stop=1;
250 3 urgent_stop=1;
251 3 err=1;
252 3 err_ok=0;
253 3 EX0=0;
254 3 start=0;
255 3 stop=0;
256 3 }break;
257 2 case com_connect: connect=1;break;
258 2 case com_connect_fail: break_connect=1;break;
259 2 // case com_forbid_p: p_forbid=1;break;
260 2 // case com_forbid_rc: rc_forbid=1;break;
261 2 // case com_p_active: p_active=1;break;
262 2 // case com_rc_active: rc_active=1;break;
263 2 case com_need_para: need_para=1;break;
264 2 case com_need_finish: if(need_finish==0)
265 2 need_finish=1;break;
266 2 default: break;
267 2 }
268 1 if(ans==0)
269 1 {
270 2 POINTER1=0;
271 2 RSUM=0;
272 2 r_byte_nums=4;
273 2 }
274 1
275 1 }
276
277 void data_type() //对接收到的数据分辨类型
278 {
279 1 switch(rbuffer[1])
280 1 {
281 2 case command: com_type();break;
282 2 case answer: R_ANSW=rbuffer[2];break;
283 2 case err_infor: err=rbuffer[3];break;
284 2 /*
285 2 case infor_sec: {
286 2 nonce_sec=rbuffer[2];
287 2
288 2 }break;
289 2 */
290 2 case edit_sec: {
291 3 // if(in_sector==0)
292 3 // {
293 3 // nonce_sec=rbuffer[2];
294 3 // in_sector=1;
295 3 // }
296 3 p_received=1;
297 3 }break;
298 2 /*
299 2 case parameter: {
300 2 param=1;
301 2
302 2 }break;
303 2 */
C51 COMPILER V7.50 MAIN1_1013 01/18/2006 15:09:40 PAGE 6
304 2 /*
305 2 case program:
306 2 if(work==0||work==1)
307 2 {
308 2 PRG=rbuffer[3];
309 2 change_prg=1;
310 2 save_prg(); //将程序号存入EEPROM
311 2 }break;
312 2 */
313 2 case infor: {
314 3 switch(rbuffer[2])
315 3 {
316 4 /* case com_sector: nonce_sec=rbuffer[3];break;
317 4 case com_copyEXP: {
318 4 PRG=rbuffer[2]; //假设为当前程序号
319 4 toPRG=rbuffer[3]; //目的程序号
320 4 copy=1;
321 4 }break;
322 4 */
323 4 case com_calling: R_ANSW=rbuffer[3];break;
324 4 case com_switch: {
325 5 YOUHU=rbuffer[3];
326 5 WIRE=rbuffer[4];
327 5 }break;
328 4 case com_weld_simu: {
329 5 YOUHU=rbuffer[3];
330 5 new_switch1=1;
331 5 }break;
332 4 case com_wire_on_off: {
333 5 WIRE=rbuffer[3];
334 5 new_switch2=1;
335 5 }break;
336 4 case com_delt_switch: new_switch3=1;;break;
337 4 default:break;
338 4 }
339 3 }break;
340 2 case p_out_sec: p_received=1;break;
341 2 // case p_in_sec: p_received=1;break;
342 2 default: break;
343 2 }
344 1 }
345
346 void send_param()
347 {
348 1 unsigned char temp_pc,temp_delt,anum,snum,axis[]={M_current,M_RW,M_OSC,M_AVC};
349 1 s_p=1;
350 1 point=&pp.pn;
351 1 temp_delt=2;
352 1 sbuffer1[0]=M_current; //电流和面板接收
353 1 sbuffer1[1]=p_out_sec; //电流区间外参数
354 1 // sbuffer1[54]=0;
355 1 for(temp_pc=2;temp_pc<54;temp_pc++)
356 1 {
357 2 if(temp_pc%2==0)
358 2 {
359 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
360 3 temp_delt++;
361 3 }
362 2 else
363 2 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
364 2 }
365 1 for(temp_pc=54;temp_pc<64;temp_pc++)
C51 COMPILER V7.50 MAIN1_1013 01/18/2006 15:09:40 PAGE 7
366 1 sbuffer1[temp_pc]=0;
367 1 s_byte_nums=55;
368 1 TR_ans();
369 1 // delay(100);
370 1 s_p=1;
371 1 point=&pp.k2;
372 1 temp_delt=2;
373 1 sbuffer1[0]=M_RW; //旋转/送丝和面板接收
374 1 sbuffer1[1]=p_out_sec; //旋转/送丝区间外参数
375 1 for(temp_pc=2;temp_pc<50;temp_pc++)
376 1 {
377 2 if(temp_pc%2==0)
378 2 {
379 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
380 3 temp_delt++;
381 3 }
382 2 else
383 2 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
384 2 }
385 1 for(temp_pc=50;temp_pc<64;temp_pc++)
386 1 sbuffer1[temp_pc]=0;
387 1 s_byte_nums=55;
388 1 TR_ans();
389 1 // delay(100);
390 1 s_p=1;
391 1 point=&pp.k4;
392 1 temp_delt=2;
393 1 sbuffer1[0]=M_OSC; //横摆和面板接收
394 1 sbuffer1[1]=p_out_sec; //横摆区间外参数
395 1 for(temp_pc=2;temp_pc<54;temp_pc++)
396 1 {
397 2 if(temp_pc%2==0)
398 2 {
399 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
400 3 temp_delt++;
401 3 }
402 2 else
403 2 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
404 2 }
405 1 for(temp_pc=54;temp_pc<64;temp_pc++)
406 1 sbuffer1[temp_pc]=0;
407 1 s_byte_nums=55;
408 1 TR_ans();
409 1 // delay(100);
410 1 /*
411 1 s_p=1;
412 1 point=&pp.k5;
413 1 temp_delt=0;
414 1 // sbuffer1[0]=M_AVC; //横摆和面板接收
415 1 // sbuffer1[1]=p_out_sec; //横摆区间外参数
416 1 for(temp_pc=2;temp_pc<28;temp_pc++)
417 1 {
418 1 if(temp_pc%2==0)
419 1 {
420 1 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
421 1 temp_delt++;
422 1 }
423 1 else
424 1 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
425 1 }
426 1 for(temp_pc=28;temp_pc<64;temp_pc++)
427 1 sbuffer1[temp_pc]=0;
C51 COMPILER V7.50 MAIN1_1013 01/18/2006 15:09:40 PAGE 8
428 1 s_byte_nums=55;
429 1 TR_ans();
430 1 */
431 1 for(snum=0;snum<10;snum++)
432 1 {
433 2 s_p=1;
434 2 temp_delt=2;
435 2 point=&pp.x[snum][0];
436 2 for(temp_pc=2;temp_pc<62;temp_pc++)
437 2 {
438 3 if(temp_pc%2==0)
439 3 {
440 4 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
441 4 temp_delt++;
442 4 }
443 3 else
444 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
445 3 }
446 2 sbuffer1[0]=0;
447 2 sbuffer1[1]=0;
448 2 for(temp_pc=62;temp_pc<64;temp_pc++)
449 2 sbuffer1[temp_pc]=0;
450 2 s_byte_nums=64;
451 2 TR_ans();
452 2 }
453 1 s_p=0;
454 1 }
*** WARNING C280 IN LINE 348 OF C:\DOCUME~1\ADMINI~1\桌面\06017\MAIN\MAIN1_1013.C: 'anum': unreferenced local variable
455
456 void EX0_INT (void) interrupt 0
457 {
458 1 EX0=0;
459 1 urgent_stop=1;
460 1 err_ok=0;
461 1 }
462 void EX1_INT (void) interrupt 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -