⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 venus.lst

📁 继电保护测试仪开发程序。已经是项目式的文档
💻 LST
📖 第 1 页 / 共 4 页
字号:
 569   1              P1=0xEF;                        //扫描第一行
 570   1              x=key(0);
 571   1              if (x==0xFF)
 572   1              {
 573   2                      P1=0xDF;                //扫描第二行
 574   2                      x=key(4);
 575   2                      if (x==0xFF)
 576   2                      {
 577   3                              P1=0xBF;        //扫描第三行
 578   3                              x=key(8);
 579   3                              if (x==0xFF)
 580   3                              {
 581   4                                      P1=0x7F;//扫描第四行
 582   4                                      x=key(12);
 583   4                                      if (x==0xFF) {goto NOKEY;}
 584   4                              }
 585   3                      }
 586   2              }
 587   1              y=x;                       //暂存按键扫描码
 588   1              P1=0xF;
 589   1              x=0x0;
 590   1              while (x!=0xF)             //等待键释放
 591   1              {
 592   2                      x=P1;
 593   2                      x=x&0xF;
 594   2              }
 595   1              x=keyname[y];                //转换为键值
 596   1      GETKEY:
 597   1              return(x);
 598   1      }
 599          move_data(unsigned char xdata *m,unsigned char xdata *n,unsigned int k)
 600          //当前RAM页内数据搬移 m->n
 601                  {
 602   1                      while (k>0)
 603   1                              {
 604   2                                      *n=*m;
 605   2                                      n++;
 606   2                                      m++;
 607   2                                      k--;
 608   2                              }
C51 COMPILER V7.02b   VENUS                                                                01/18/2005 21:43:57 PAGE 11  

 609   1              }       
 610          bhsy()    //保护试验
 611          {
 612   1              unsigned char code TABLE02[6]={24,14,25,26,27,0xFF};//VENUS
 613   1              unsigned char code TABLE03[5]={29,30,31,32,0xFF};//保护试验
 614   1              unsigned char code TABLE04[5]={28,12,33,34,0xFF};//PC主控
 615   1              unsigned char code TABLE05[5]={35,36,37,38,0xFF};//结果处理
 616   1              unsigned char code TABLE06[5]={17,18,39,40,0xFF};//系统设置
 617   1              unsigned int code  MENU_ADD[4]={TABLE03,TABLE04,TABLE05,TABLE06};//菜单代码地址数组
 618   1              unsigned int code  MENU_DIS[4]={0x1e0,0x3c0,0x5a0,0x780};//菜单显示位置数组
 619   1              unsigned char i,counter_old,counter_new;
 620   1              bit off=1;
 621   1              counter_new=0x0;
 622   1              counter_old=0x0;
 623   1              lcd_cls(lcd_page1);
 624   1              lcd_cls(lcd_page2);
 625   1              load_data(0,&TABLE02,0,&lcd_buf,6);
 626   1              print_c16(0x8);
 627   1      //        
 628   1              load_data(0,&TABLE03,0,&lcd_buf,5);
 629   1              print_c16(MENU_DIS[0]);
 630   1              load_data(0,&TABLE04,0,&lcd_buf,5);
 631   1              print_c16(MENU_DIS[1]);
 632   1              load_data(0,&TABLE05,0,&lcd_buf,5);
 633   1              print_c16(MENU_DIS[2]);
 634   1              load_data(0,&TABLE06,0,&lcd_buf,5);
 635   1              print_c16(MENU_DIS[3]);
 636   1              while (off)
 637   1                      {
 638   2                              load_data(0,MENU_ADD[counter_new],0,&lcd_buf,20);
*** WARNING C214 IN LINE 638 OF VENUS.C: 'Argument': conversion: non-pointer to pointer
 639   2                              fprint_c16(MENU_DIS[counter_new]);
 640   2                              counter_old=counter_new;
 641   2                              i=getchar();
 642   2                              switch (i)
 643   2                              {
 644   3                                      case      UP:{
 645   4                                                        if (counter_new==0) {counter_new=0x3;}
 646   4                                                        else {counter_new--;}
 647   4                                                   }break;
 648   3                                      case    DOWN:{
 649   4                                                        if (counter_new<0x3) {counter_new++;}
 650   4                                                        else {counter_new=0x0;}
 651   4                                                   }break;
 652   3                                      case     ESC:{off=0;}break;
 653   3                                      case   ENTER:{
 654   4                                                        switch (counter_new)
 655   4                                                        {
 656   5                                                             case  0:{;}break;
 657   5                                                             case  1:{;}break;
 658   5                                                             case  2:{;}break;
 659   5                                                             case  3:{;}break;
 660   5                                                        }
 661   4                                                   }break;
 662   3                              }
 663   2                              load_data(0,MENU_ADD[counter_old],0,&lcd_buf,20);
*** WARNING C214 IN LINE 663 OF VENUS.C: 'Argument': conversion: non-pointer to pointer
 664   2                              print_c16(MENU_DIS[counter_old]);
 665   2                      }
 666   1      }
 667          xtcssd()    //系统参数设定
 668          {
C51 COMPILER V7.02b   VENUS                                                                01/18/2005 21:43:57 PAGE 12  

 669   1              unsigned char code TABLE01[7]={24,14,22,25,26,27,0xFF};//系统参数设定
 670   1              unsigned char code TABLE02[5]={29,30,31,32,0xFF};//系统电压
 671   1              unsigned char code TABLE03[5]={28,12,33,34,0xFF};//负荷电流
 672   1              unsigned char code TABLE04[5]={35,36,37,38,0xFF};//系统频率
 673   1              unsigned int code  MENU_DIS[3]={0x87,0xc3,0xff};//菜单显示位置数组
 674   1              unsigned char xdata xtcs_x[3][9];               //设置数据存放数组
 675   1              unsigned int xdata  menu_add[3];   //激活块地址数组 menu_add=(MENU_DIS/30)*240+(MENU_DIS%30)
 676   1              unsigned char i,counter_old,counter_new;
 677   1              bit off=1;
 678   1              long y;
 679   1              load_data(0,&xtcs_c,0,&xtcs_x,27);   //装初始设置数据
*** WARNING C182 IN LINE 679 OF VENUS.C: pointer to different objects
 680   1              menu_add[0]=(MENU_DIS[0]/30)*240+(MENU_DIS[0]%30);
 681   1              menu_add[1]=(MENU_DIS[1]/30)*240+(MENU_DIS[1]%30);
 682   1              menu_add[2]=(MENU_DIS[2]/30)*240+(MENU_DIS[2]%30);
 683   1              counter_new=0x0;
 684   1              counter_old=0x0;
 685   1              lcd_cls(lcd_page1);
 686   1              lcd_cls(lcd_page2);
 687   1              load_data(0,&TABLE01,0,&lcd_buf,7);
 688   1              print_c16(0x8);
 689   1              load_data(0,&TABLE02,0,&lcd_buf,5);
 690   1              print_c16(0x1e0);
 691   1              load_data(0,&TABLE03,0,&lcd_buf,5);
 692   1              print_c16(0x3c0);
 693   1              load_data(0,&TABLE04,0,&lcd_buf,5);
 694   1              print_c16(0x5a0);
 695   1              move_data(&xtcs_x[0][0],&lcd_buf,9);
 696   1              print_e(MENU_DIS[0]);
 697   1              move_data(&xtcs_x[1][0],&lcd_buf,9);
 698   1              print_e(MENU_DIS[1]);
 699   1              move_data(&xtcs_x[2][0],&lcd_buf,9);
 700   1              print_e(MENU_DIS[2]);
 701   1              y=d_to_hex(&xtcs_x[0][0]);
 702   1              while (off)
 703   1                      {
 704   2                              move_data(&xtcs_x[counter_new][0],&lcd_buf,9);
 705   2                              print_fill(menu_add[counter_new],0xff,0x8,0x9);
 706   2                              counter_old=counter_new;
 707   2                              i=getchar();
 708   2                              switch (i)
 709   2                              {
 710   3                                      case    LEFT:{
 711   4                                                        if (counter_new==0) {counter_new=0x2;}
 712   4                                                        else {counter_new--;}
 713   4                                                   }break;
 714   3                                      case   ENTER:
 715   3                                      case   RIGHT:{
 716   4                                                        if (counter_new<0x2) {counter_new++;}
 717   4                                                        else {counter_new=0x0;}
 718   4                                                   }break;
 719   3                                      case      UP:{
 720   4                                                        if (counter_new==0) {counter_new=0x2;}
 721   4                                                        else {counter_new--;}
 722   4                                                   }break;
 723   3                                      case    DOWN:{
 724   4                                                        if (counter_new<0x2) {counter_new++;}
 725   4                                                        else {counter_new=0x0;}
 726   4                                                   }break;
 727   3                                      case     ESC:{off=0;}break;
 728   3                                      case   START:{
 729   4                                                        switch (counter_new)
C51 COMPILER V7.02b   VENUS                                                                01/18/2005 21:43:57 PAGE 13  

 730   4                                                        {
 731   5                                                             case  0:{;}break;
 732   5                                                             case  1:{;}break;
 733   5                                                             case  2:{;}break;
 734   5                                                        }
 735   4                                                   }break;
 736   3                                      case       0:
 737   3                                      case       1:
 738   3                                      case       2:
 739   3                                      case       3:
 740   3                                      case       4:
 741   3                                      case       5:
 742   3                                      case       6:
 743   3                                      case       7:
 744   3                                      case       8:
 745   3                                      case       9:{
 746   4                                                        move_data(&lcd_buf[1],&lcd_buf[0],7);  //YIWEI
 747   4                                                        lcd_buf[7]=i|0x10;
 748   4                                                        move_data(&lcd_buf,&xtcs_x[counter_new][0],8);  //SAVE
 749   4                                                        print_e(MENU_DIS[counter_new]);
 750   4                                                   }break;
 751   3                              }
 752   2                              print_fill(menu_add[counter_old],0x00,0x8,0x9);
 753   2                      }
 754   1      }
 755          gzsd()    //故障设定
 756          {
 757   1              unsigned char code TABLE01[5]={24,25,26,27,0xFF};//故障设定
 758   1              unsigned char code TABLE02[15]={29,30,0xfe,0xfe,0xfe,29,30,0xfe,0xfe,0xfe,0xfe,31,32,0xFF};//系统

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -