📄 xin.lst
字号:
272 2 delayms(100);
273 2 powder3L=1;
274 2 delay4s();//延时4秒后停止
275 2 powder3R=1;
276 2 powder2R=0;//第2台电动机第二次反转
277 2 powder2L=0;
278 2 }
279 1 if(V==8)//遇行程开关K4停止
280 1 {
281 2 powder2R=1;
282 2 powder2L=1;
283 2 delayms(200);
284 2 powder1R=0;
285 2 }//第一台电机反转
286 1 if(V==9)
287 1 {
288 2 powder1R=1;
289 2 }
290 1
291 1 /* if(V==5)
292 1 {powder4L=1;
293 1 delayms(200);
294 1 powder5L=0;}
295 1
296 1
297 1 if(V==6)
298 1 { powder5L=1;
299 1 LED2=0;
300 1 delay4s();
301 1 powder5R=0;//第5台电机反转
302 1 LED2=1;}
303 1 if(V==7)
C51 COMPILER V7.06 XIN 03/11/2012 17:31:57 PAGE 6
304 1 { powder5R=1;
305 1 delayms(200);
306 1 powder4R=0;//第4台电机反转
307 1 powder4L=0;}
308 1 if(V==8)
309 1 { powder4R=1;
310 1 powder4L=1;
311 1 delayms(200);
312 1 powder3R=0;//第3台电机反转
313 1 powder3L=0;
314 1 LED1=0;}
315 1 if(V==9)
316 1 {
317 1 powder3R=1;
318 1 powder3L=1;
319 1 LED1=1;
320 1 delayms(200);
321 1 powder2R=0;//第2台电机反转
322 1 powder2L=0;
323 1 }
324 1 if(V==10)
325 1 {powder2R=1;
326 1 powder2L=1;
327 1 delayms(200);
328 1 powder1R=0;//第1台电机反转
329 1 }
330 1 if(V==11)
331 1 { powder1R=1;
332 1 delay4s();
333 1 powder1L=0;
334 1 }*/
335 1
336 1
337 1 //X5045的写入周期约为10ms
338 1 while(1)
339 1 {
340 2
341 2 if(K1&K2==0)
342 2 { WriteSet(0x01,0x10);
343 3 delayms(10);
344 3 delay4s();//延时4S启动
345 3 powder1L=0;//电机1开始工作
346 3 if(K3==0)//遇行程开关电机1停
347 3 { WriteSet(0x02,0x10);
348 4 delayms(10);
349 4
350 4 if(K1==1)
351 4 { WriteSet(0x03,0x10);
352 5 delayms(10);
353 5 powder1L=1;
354 5 delayms(200);
355 5 powder2L=0;//第2台电机正转
356 5 delay4s();//未定的数值移动若干距离
357 5 powder2L=1;
358 5 delayms(200);
359 5 powder3L=0;//步时电机3正转触发单片机板进行控制
360 5 delayms(100);
361 5 powder3L=1;
362 5 delayms(200);
363 5 powder4L=0;//旋转后开始上升
364 5 }
365 4 }
C51 COMPILER V7.06 XIN 03/11/2012 17:31:57 PAGE 7
366 3 }
367 2 if(K5==0)//遇行程开关5,电机4停止工作
368 2 {
369 3 WriteSet(0x04,0x10);
370 3 delayms(10);
371 3 powder4L=1;
372 3 delayms(200);
373 3 powder2L=0;//电步进电机2开始工作
374 3 if(K6==0)//遇行程开关K6电机2停止工作
375 3 { WriteSet(0x05,0x10);
376 4 delayms(10);
377 4 powder2L=1;
378 4 delayms(200);
379 4 powder5L=0;//电机1第二次正转
380 4 }
381 3 if(K7==0)//遇行程开关K8,电机1停止工作
382 3 { WriteSet(0x06,0x10);
383 4 delayms(10);
384 4 powder5L=1;
385 4 delay4s();//电机1延时4秒后反转
386 4 powder5R=0;
387 4
388 4 //遇K7电机1停止工作
389 4 delay4s();
390 4 powder5R=1;
391 4 delayms(200);
392 4 powder2L=0;//第2台电机反转
393 4 powder2R=0;
394 4 delay4s();//未知数值
395 4 powder2L=1;
396 4 powder2R=1;
397 4 delayms(200);
398 4 powder4R=0;//第4台电机反转
399 4 powder4L=0;}
400 3
401 3 }
402 2 if(K2==0)
403 2 { WriteSet(0x07,0x10);
404 3 delayms(10);
405 3 powder4R=1;
406 3 powder4L=1;
407 3 delayms(200);
408 3 powder3R=0;//第三台电动机反旋转
409 3 powder3L=0;
410 3 delayms(100);
411 3 powder3L=1;
412 3 delay4s();//延时4秒后停止
413 3 powder3R=1;
414 3 powder2R=0;//第2台电动机第二次反转
415 3 powder2L=0;
416 3 if(K4==0)//遇行程开关K4停止
417 3 {WriteSet(0x08,0x10);
418 4 delayms(10);
419 4 powder2R=1;
420 4 powder2L=1;
421 4 delayms(200);
422 4 powder1R=0;}//第一台电机反转
423 3 if(K1==0)
424 3 { WriteSet(0x09,0x10);
425 4 delayms(10);
426 4 powder1R=1;
427 4 }
C51 COMPILER V7.06 XIN 03/11/2012 17:31:57 PAGE 8
428 3 }
429 2
430 2 /*if(K4==0)
431 2 { WriteSet(0x05,0x10);
432 2 delayms(10);
433 2 powder4L=1;
434 2 delayms(200);
435 2 powder5L=0;//第5台电机正转
436 2
437 2 }
438 2 if(K5==0)
439 2 { WriteSet(0x06,0x10);
440 2 delayms(10);
441 2 powder5L=1;
442 2 LED2=0;
443 2 delay4s();
444 2 powder5R=0;//第5台电机反转
445 2 LED2=1;
446 2 }
447 2 if(K6==0)
448 2 {WriteSet(0x07,0x10);
449 2 delayms(10);
450 2 powder5R=1;
451 2 delayms(200);
452 2 powder4R=0;//第4台电机反转
453 2 powder4L=0;
454 2 }
455 2 if(K7==0)
456 2 {WriteSet(0x08,0x10);
457 2 delayms(10);
458 2 powder4R=1;
459 2 powder4L=1;
460 2 delayms(200);
461 2 powder3R=0;//第3台电机反转
462 2 powder3L=0;
463 2 LED1=0;
464 2 }
465 2 if(K8==0)
466 2 { WriteSet(0x09,0x10);
467 2 delayms(10);
468 2 powder3R=1;
469 2 powder3L=1;
470 2 LED1=1;
471 2 delayms(200);
472 2 powder2R=0;//第2台电机反转
473 2 powder2L=0;
474 2
475 2 }
476 2 if(K9==0)
477 2 { WriteSet(0x0A,0x10);
478 2 delayms(10);
479 2 powder2R=1;
480 2 powder2L=1;
481 2 delayms(200);
482 2 powder1R=0;//第1台电机反转
483 2
484 2 }
485 2 if(K10==0)
486 2 { WriteSet(0x0B,0x10);
487 2 delayms(10); ;
488 2 powder1R=1;
489 2 delay4s();
C51 COMPILER V7.06 XIN 03/11/2012 17:31:57 PAGE 9
490 2 powder1L=0;
491 2 }
492 2 */
493 2 //将数据读出送P1口显示
494 2 WatchDog(); //复位看门狗
495 2 }
496 1 }
497
498
499
500
501 /*********************************************************/
502 // 定时器0 中断服务程序.
503 /*********************************************************/
504
505 void timer0() interrupt 1
506
507 {
508 1 TR1=0 ;
509 1 TH0=0xfe ;
510 1 TL0=0xe8 ; //280微秒
511 1 TH1=0x88 ; //120微秒
512 1 TL1=0x88;
513 1 TR1=1 ;
514 1 P25=0 ; //启动输出
515 1 P26=0;
516 1 P27=0;
517 1 }
518
519 /*********************************************************/
520
521 // 定时器1 中断服务程序
522
523 /*********************************************************/
524
525 void timer1() interrupt 3
526
527 {
528 1 TR1=0 ;
529 1 P25=1 ; //结束输出
530 1 P26=1;
531 1 P27=1;
532 1 }
533
534
535
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 670 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -