📄 dc1_test.lst
字号:
243 2 case 8: {
244 3 motor_v=6600;
245 3 r=15;
246 3 }break;
247 2 case 9:
248 2 case 10:{
249 3 motor_v=6600;
250 3 r=16;
251 3 }break;
252 2 case 11:
253 2 case 12:
254 2 case 13:{
255 3 motor_v=6600;
256 3 r=176;
257 3 }break;
258 2 case 14:{
259 3 motor_v=6600;
260 3 r=55;
261 3 }break;
262 2 case 15:{
263 3 motor_v=6600;
264 3 r=103;
265 3 }break;
266 2 case 16:
267 2 case 17:
268 2 case 18:
269 2 case 19:{
270 3 motor_v=6600;
271 3 r=80;
272 3 }break;
273 2 case 20:
274 2 case 21:
275 2 case 22:
276 2 case 23:
277 2 case 24:{
278 3 motor_v=6600;
279 3 r=48;
280 3 }break;
281 2 case 25:
282 2 case 26:
283 2 case 27:
284 2 case 28:{
285 3 motor_v=6600;
286 3 r=37;
287 3 }break;
288 2 case 29:
289 2 case 30:
290 2 case 31:
291 2 case 32:{
292 3 motor_v=6600;
293 3 r=25;
294 3 }break;
295 2 case 33:{
296 3 motor_v=7184;
297 3 r=7;
298 3 }break;
299 2 case 34:{
300 3 motor_v=7480;
301 3 r=22;
302 3 }break;
303 2 case 35:{
C51 COMPILER V7.06 DC1_TEST 09/14/2005 10:00:17 PAGE 6
304 3 motor_v=7440;
305 3 r=18;
306 3 }break;
307 2 case 36:{
308 3 motor_v=7480;
309 3 r=27;
310 3 }break;
311 2 case 37:{
312 3 motor_v=6510;
313 3 r=27;
314 3 }break;
315 2 case 38:{
316 3 motor_v=8380;
317 3 r=131;
318 3 }break;
319 2 default:{
320 3 motor_v=6600;
321 3 r=pp.rn;
322 3 }break;
323 2 }
324 1 }
325
326 void EX0_INT (void) interrupt 0 //急停
327 {
328 1 EX1=0;
329 1 send_enable=1; //关发送使能
330 1 POINTER0=0;
331 1 SSUM=0;
332 1 POINTER1=0;
333 1 RSUM=0;
334 1 r_byte_nums=4;
335 1 PWM0=0;
336 1 PWM1=0;
337 1 wire_back=1;
338 1 wire_front=1;
339 1 rot_right=1;
340 1 rot_left=1;
341 1 while(err_ok==0)
342 1 {
343 2 if(called==1)
344 2 {
345 3 if(rw_err==0)
346 3 {
347 4 ini_sbuf(M_main,answer,OK,0,0,0);
348 4 s_byte_nums=4;
349 4 TR_noans();
350 4 }
351 3 else
352 3 {
353 4 ini_sbuf(M_main,err_infor,M_RW,err,0,0);
354 4 s_byte_nums=5;
355 4 TR_noans();
356 4 rw_err=0;
357 4 err=0;
358 4 stop=1;
359 4 }
360 3 called=0;
361 3 }
362 2 }
363 1 urgent_stop=1;
364 1 }
365
C51 COMPILER V7.06 DC1_TEST 09/14/2005 10:00:17 PAGE 7
366 void EX1_INT (void) interrupt 2
367 {
368 1 unsigned char get_err;
369 1 EX1=0;
370 1
371 1 if(limit==0)
372 1 {
373 2 delay(200);
374 2 if(limit==0)
375 2 err=11; //旋转限位
376 2 else
377 2 err=0;
378 2 } //旋转限位
379 1 else if(wire_over_i==0)
380 1 {
381 2 delay(200);
382 2 if(wire_over_i==0)
383 2 err=10;
384 2 else
385 2 err=0;
386 2 }
387 1 else
388 1 {
389 2 get_err=P5;
390 2 get_err=get_err&0x04;
391 2 if(get_err==0)
392 2 {
393 3 delay(200);
394 3 get_err=P5;
395 3 get_err=get_err&0x04;
396 3 if(get_err==0)
397 3 err=9;
398 3 else
399 3 err=0;
400 3 }
401 2 }
402 1 if(err!=0)
403 1 {
404 2 rw_err=1;
405 2 stop=0;
406 2 }
407 1 else
408 1 EX1=1;
409 1 }
410
411 void T1_INT (void) interrupt 3
412 {
413 1 // EA=0;
414 1 c_t1++;
415 1 if(send==1)
416 1 {
417 2 if(c_t1==7)
418 2 {
419 3 S0BUF=sbuffer[POINTER0];
420 3 c_t1=0;
421 3 }
422 2 }
423 1 else
424 1 {
425 2 if(c_t1==100)
426 2 {
427 3 TR1=0;
C51 COMPILER V7.06 DC1_TEST 09/14/2005 10:00:17 PAGE 8
428 3 overtime=1;
429 3 }
430 2 }
431 1 // EA=1;
432 1 }
433
434 void TR_INT (void) interrupt 4 //串行口中断
435 {
436 1 EA=0; //关中断
437 1 if(TI==1) //发送完成
438 1 {
439 2 TI=0;
440 2 POINTER0++; //发送缓冲指针加1
441 2 if(POINTER0<s_byte_nums-1)
442 2 SSUM=SSUM+sbuffer[POINTER0]; //6个数据字节求和
443 2 else
444 2 sbuffer[s_byte_nums-1]=SSUM+sbuffer[0]; //数据和加地址生成校验码
445 2 if(POINTER0==s_byte_nums)
446 2 REN=1;
447 2 }
448 1
449 1 if(RI==1) //接收完成
450 1 {
451 2 RI=0;
452 2 POINTER1++; //接收缓冲指针加1
453 2 rbuffer[POINTER1-1]=S0BUF; //从接收缓冲读出数据
454 2 if(rbuffer[0]==M_RW||rbuffer[0]==M_ALL||rbuffer[0]==M_current_RW)
455 2 {
456 3 SM2=0;
457 3 if(POINTER1==2) //获取字节个数
458 3 r_byte_nums=get_byte_nums(rbuffer[1]);
459 3 if(POINTER1<r_byte_nums)
460 3 RSUM=RSUM+rbuffer[POINTER1-1]; //生成校验码
461 3 else
462 3 {
463 4 SM2=1;
464 4 if(RSUM==rbuffer[r_byte_nums-1])
465 4 {
466 5 if(ans==0)
467 5 {
468 6 POINTER1=0;
469 6 RSUM=0;
470 6 }
471 5 S_ANSW=OK;
472 5 data_type();
473 5 }
474 4 else
475 4 {
476 5 S_ANSW=FAIL;
477 5 if(resend==0)
478 5 resend=1;
479 5 }
480 4 }
481 3 }
482 2 else
483 2 POINTER1=0;
484 2 }
485 1 EA=1; //开中断
486 1 }
487
488 void CT0_int (void) interrupt 6 //焊接角度
489 {
C51 COMPILER V7.06 DC1_TEST 09/14/2005 10:00:17 PAGE 9
490 1 CTI0=0;
491 1 if(auto_return==0)
492 1 {
493 2 if(FINISH<=50000)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -