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