📄 lcd1602.lst
字号:
424 2 LCD_Print(0,1,"CHOICE FILE STOP");
425 2 }
426 1 else
427 1 {
C51 COMPILER V8.02 LCD1602 08/11/2007 18:24:45 PAGE 8
428 2 if(FILESTATE==0)LCD_Print(0,1," STOP");
429 2 else if(FILESTATE==1)LCD_Print(0,1," RUN ");
430 2 else if(FILESTATE==2)LCD_Print(0,1," PAUSE");
431 2 }
432 1 }
433 //文件选择界面
434 void Filechoise()
435 {
436 1
437 1 uchar count = 0;
438 1 uchar filename;
439 1 uint intertime;
440 1 uint cycletime;
441 1 uchar i;
442 1 uchar buf[5];
443 1 count=key();
444 1 filenum1=filenum;
445 1 while(count!=10&&count!=14)
446 1 {
447 2 mianface(filenum);
448 2 if(count)
449 2 {
450 3 while(count==key());
451 3 switch(count)
452 3 {
453 4 case 12: //X+
454 4 if(filenum<=filetotal)filenum++;
455 4 if(filenum>filetotal)filenum=1;
456 4 break;
457 4 case 3: //X-
458 4 if(filenum>0)filenum--;
459 4 if(filenum==0) filenum=filetotal;
460 4 break;
461 4 case 6: //循环
462 4 Uart_putchar('c');
463 4 Uart_putchar(filenum);
464 4 cycset();
465 4 break;
466 4 case 2: //获取文件 增加验收功能
467 4 i=0;
468 4 RI=0;
469 4 Uart_putchar('1');
470 4 LCD_Print(0,1,"GET FILE STOP");
471 4 Uart_putchar('y');
472 4 filename=Uart_getchar();
473 4 while(filename!='z')
474 4 {
475 5 i++;
476 5 while(filename==0)
477 5 {
478 6 Uart_putchar('y');
479 6 filename=Uart_getchar();
480 6 }
481 5 intertime=Uart_get_uint();
482 5 cycletime=Uart_get_uint();
483 5 buf[0]=(filename/100)%10+'0';
484 5 buf[1]=(filename/10)%10+'0';
485 5 buf[2]=filename%10+'0';
486 5 buf[3]=' ';
487 5 buf[4]='\n';
488 5 LCD_Print(13,1,buf);
489 5 AT24C02_write(i*5,filename);
C51 COMPILER V8.02 LCD1602 08/11/2007 18:24:45 PAGE 9
490 5 Delay1ms(5);
491 5 AT24C02_write(i*5+1,((intertime)>>8)&0xff);
492 5 Delay1ms(5);
493 5 AT24C02_write(i*5+2,(intertime)&0xff);
494 5 Delay1ms(5);
495 5 AT24C02_write(i*5+3,((cycletime)>>8)&0xff);
496 5 Delay1ms(5);
497 5 AT24C02_write(i*5+4,(cycletime)&0xff);
498 5 Delay1ms(5);
499 5 Uart_putchar('y');
500 5 filename=Uart_getchar();
501 5 }
502 4 filetotal=i;
503 4 AT24C02_write(0x01,i);
504 4 break;
505 4 default:break;
506 4 }
507 3 }
508 2 count=key();
509 2 }
510 1 if(count==14)
511 1 {
512 2 Uart_putchar('c');
513 2 Uart_putchar(AT24C02_read(filenum*5));
514 2 }
515 1 if(count==10)
516 1 {
517 2 filenum=filenum1;
518 2 }
519 1 }
520
521 void main()
522 {
523 1 uchar count = 0;
524 1 uchar a[8]={0,};
525 1 uchar i=0;
526 1 LCD_Initial();
527 1 LCD_Print(0,0," www.nsxk.com ");
528 1 LCD_Print(0,1," LOADING..... ");
529 1 Uart_init();
530 1 AT24C02_Rest();
531 1 Delay1ms(1000);
532 1 filenum=AT24C02_read(0x00);
533 1 if(filenum>120)filenum=1;
534 1 Delay1ms(1);
535 1 filetotal=AT24C02_read(0x01);
536 1 Delay1ms(1);
537 1 mianface(filenum);
538 1 Uart_putstring("FILENAME work \n");
539 1 Uart_putstring("N= T= \n");
540 1
541 1 while(1)
542 1 {
543 2 count=key();
544 2 if(count)
545 2 {
546 3 while(count==key());
547 3 switch(count)
548 3 {
549 4 case 1: //文件
550 4 if(FILESTATE!=1)
551 4 {
C51 COMPILER V8.02 LCD1602 08/11/2007 18:24:45 PAGE 10
552 5 filechoice=1;
553 5 Filechoise();
554 5 filechoice=0;
555 5 mianface(filenum);
556 5 }
557 4 break;
558 4 case 2: //测试
559 4 if(FILESTATE!=1)
560 4 {
561 5 xyzDisplay(0);
562 5 mianface(filenum);
563 5
564 5 }
565 4 break;
566 4 case 6: //循环
567 4 if(FILESTATE!=1)
568 4 {
569 5 cycset();
570 5 mianface(filenum);
571 5 }
572 4 break;
573 4 case 5: //零点
574 4 if(FILESTATE!=1)
575 4 {
576 5 Uart_putchar('2');
577 5 LCD_Print(6,1," GO ORIGIN");
578 5 while(Uart_getchar()!='z');
579 5 Uart_putchar('d');
580 5 xyzDisplay(1);
581 5
582 5 mianface(filenum);
583 5 }
584 4 break;
585 4 case 13: //开始
586 4 if(FILESTATE==1)
587 4 FILESTATE=2;
588 4 else
589 4 FILESTATE=1;
590 4 AT24C02_write(0x00,filenum);
591 4 Uart_putchar('3');
592 4 mianface(filenum);
593 4 break;
594 4 case 7: //复位
595 4 if(FILESTATE!=1)
596 4 {
597 5 Uart_putchar('2');
598 5 LCD_Print(6,1," GO ORIGIN");
599 5 while(Uart_getchar()!='z');
600 5 mianface(filenum);
601 5 }
602 4 break;
603 4 case 9: //停止
604 4 Uart_putchar('4');
605 4 FILESTATE=0;
606 4 LCD_Print(6,1," STOP");
607 4 mianface(filenum);
608 4 break;
609 4 default: break;
610 4 count=0;
611 4 }
612 3 }
613 2 if(FILESTATE==1) //文件在运行中
C51 COMPILER V8.02 LCD1602 08/11/2007 18:24:45 PAGE 11
614 2 {
615 3 if(!RI);// 检查是否文件运行结束
616 3 RI=0;
617 3 count=SBUF;
618 3 if(count=='o')FILESTATE=0;
619 3 count=0;
620 3 }
621 2 }
622 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3364 ----
CONSTANT SIZE = 267 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 74
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -