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

📄 main.lst

📁 采用1*4,4*4键盘同时控制,带有8位数码显示的数控直流电源驱动及应用程序(Keil c51)
💻 LST
📖 第 1 页 / 共 5 页
字号:
 564   1      }
 565          //4mul4电流设定状态下的服务程序
 566          void I_SET_Mange(void)
 567          {
 568   1              unsigned int temp;
 569   1              temp = I_data;
 570   1              if(i_ds==0)
 571   1              {
 572   2                      i_ds=1;
 573   2                      Disp_Buf[4]=1;
 574   2                      Disp_Buf[5]=18;
 575   2                      Disp_Buf[6]=18;
 576   2                      Disp_Buf[7]=18;
 577   2                      Disp();
 578   2              }
 579   1              Disp_U_Real();
 580   1              keytemp = Key();
 581   1      
 582   1              switch(keytemp)
 583   1              {
 584   2                      case 0:
 585   2                      {
 586   3                              if(ubit<=3)
 587   3                              {
 588   4                                      U_Buf[ubit]=0;
 589   4                                      Disp_changei(U_Buf[ubit]);
 590   4                                      ubit=ubit+1;
 591   4                              }
 592   3                              else
 593   3                              {
 594   4                                      ubit=0;
 595   4                              }
 596   3                      }break;
 597   2      
 598   2                      case 1:
 599   2                      {
 600   3                              if(ubit<=3)
 601   3                              {
 602   4                                      U_Buf[ubit]=1;
 603   4                                      Disp_changei(U_Buf[ubit]);
 604   4                                      ubit=ubit+1;
 605   4                              }
 606   3                              else
 607   3                              {
 608   4                                      ubit=0;
 609   4                              }
 610   3                      }break;
 611   2      
 612   2                      case 2:
 613   2                      {
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 11  

 614   3                              if(ubit<=3)
 615   3                              {
 616   4                                      U_Buf[ubit]=2;
 617   4                                      Disp_changei(U_Buf[ubit]);
 618   4                                      ubit=ubit+1;
 619   4                              }
 620   3                              else
 621   3                              {
 622   4                                      ubit=0;
 623   4                              }
 624   3                      }break;
 625   2      
 626   2                      case 3:
 627   2                      {
 628   3                              if(ubit<=3)
 629   3                              {
 630   4                                      U_Buf[ubit]=3;
 631   4                                      Disp_changei(U_Buf[ubit]);
 632   4                                      ubit=ubit+1;
 633   4                              }
 634   3                              else
 635   3                              {
 636   4                                      ubit=0;
 637   4                              }
 638   3                      }break;
 639   2      
 640   2                      case 4:
 641   2                      {
 642   3                              if(ubit<=3)
 643   3                              {
 644   4                                      U_Buf[ubit]=4;
 645   4                                      Disp_changei(U_Buf[ubit]);
 646   4                                      ubit=ubit+1;
 647   4                              }
 648   3                              else
 649   3                              {
 650   4                                      ubit=0;
 651   4                              }
 652   3                      }break;
 653   2      
 654   2                      case 5:
 655   2                      {
 656   3                              if(ubit<=3)
 657   3                              {
 658   4                                      U_Buf[ubit]=5;
 659   4                                      Disp_changei(U_Buf[ubit]);
 660   4                                      ubit=ubit+1;
 661   4                              }
 662   3                              else
 663   3                              {
 664   4                                      ubit=0;
 665   4                              }
 666   3                      }break;
 667   2      
 668   2                      case 6:
 669   2                      {
 670   3                              if(ubit<=3)
 671   3                              {
 672   4                                      U_Buf[ubit]=6;
 673   4                                      Disp_changei(U_Buf[ubit]);
 674   4                                      ubit=ubit+1;
 675   4                              }
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 12  

 676   3                              else
 677   3                              {
 678   4                                      ubit=0;
 679   4                              }
 680   3                      }break;
 681   2      
 682   2                      case 7:
 683   2                      {
 684   3                              if(ubit<=3)
 685   3                              {
 686   4                                      U_Buf[ubit]=7;
 687   4                                      Disp_changei(U_Buf[ubit]);
 688   4                                      ubit=ubit+1;
 689   4                              }
 690   3                              else
 691   3                              {
 692   4                                      ubit=0;
 693   4                              }
 694   3                      }break;
 695   2      
 696   2                      case 8:
 697   2                      {
 698   3                              if(ubit<=3)
 699   3                              {
 700   4                                      U_Buf[ubit]=8;
 701   4                                      Disp_changei(U_Buf[ubit]);
 702   4                                      ubit=ubit+1;
 703   4                              }
 704   3                              else
 705   3                              {
 706   4                                      ubit=0;
 707   4                              }
 708   3                      }break;
 709   2      
 710   2                      case 9:
 711   2                      {
 712   3                              if(ubit<=3)
 713   3                              {
 714   4                                      U_Buf[ubit]=9;
 715   4                                      Disp_changei(U_Buf[ubit]);
 716   4                                      ubit=ubit+1;
 717   4                              }
 718   3                              else
 719   3                              {
 720   4                                      ubit=0;
 721   4                              }
 722   3                      }break;
 723   2      
 724   2                      case ESC:
 725   2                      {
 726   3                              I_data = temp;
 727   3                              i_ds=0;
 728   3                              ubit=0;
 729   3                              Sys_sta = IDLE_STA;
 730   3                      }break;
 731   2      
 732   2                      case OK:
 733   2                      case ISET:
 734   2                      {
 735   3                              if (ubit == 4)
 736   3                              {
 737   4                                      if((U_Buf[0]==1 && U_Buf[2]==2 && U_Buf[3]>=4) || U_Buf[0]>=2)
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 13  

 738   4                                      {
 739   5                                              I_data = U_Buf[1]*100+U_Buf[2]*10+U_Buf[3];     
 740   5                                      }
 741   4                                      else
 742   4                                      {       
 743   5                                              I_data = U_Buf[0]*1000+U_Buf[1]*100+U_Buf[2]*10+U_Buf[3];
 744   5                                      }
 745   4                              }
 746   3                              else if(ubit == 3)
 747   3                              {
 748   4                                      I_data = U_Buf[0]*100+U_Buf[1]*10+U_Buf[2];
 749   4                              }
 750   3                  else if(ubit == 2)
 751   3                  {
 752   4                                      I_data = U_Buf[0]*10+U_Buf[1];
 753   4                              }
 754   3                  else if(ubit  == 1)
 755   3                  {
 756   4                                      I_data = U_Buf[0];
 757   4                              }
 758   3      
 759   3                              SEND_5615_I(I_data);
 760   3      
 761   3                              U_Buf[0]=0;
 762   3                              U_Buf[1]=0;
 763   3                              U_Buf[2]=0;
 764   3                              U_Buf[3]=0;
 765   3      
 766   3                              i_ds=0;
 767   3                              ubit=0;
 768   3                              Sys_sta = IDLE_STA;
 769   3                      }break;
 770   2              }
 771   1      
 772   1              while(keytemp!=0xff)
 773   1              {
 774   2                      keytemp = Key();
 775   2                      Disp();
 776   2                      Delay(10);
 777   2              }
 778   1      }
 779          //1mul8电压设定状态下的服务程序
 780          void U_SETu_Mange(void)
 781          {
 782   1              unsigned int temp;
 783   1              temp = U_data;
 784   1      
 785   1              flashbuf = flashbuf++;
 786   1      
 787   1              if(flashbuf==15)
 788   1              {
 789   2                      flash = ~flash;
 790   2                      flashbuf = 0;
 791   2              }
 792   1      
 793   1              if(flash==1)
 794   1              {
 795   2                      Disp_U_set(U_data);
 796   2              }
 797   1              else if(flash==0)
 798   1              {
 799   2                      Disp_Buf[uset_bit]=18;
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 14  

 800   2                      Disp();
 801   2              }
 802   1              Disp_I_Real();
 803   1      
 804   1              keytemp = Key();
 805   1              switch(keytemp)
 806   1              {
 807   2                      case ESC:
 808   2                      {
 809   3                              U_data = temp;
 810   3                              Sys_sta = IDLE_STA;
 811   3                              uset_bit=3;
 812   3                              flashbuf=0;
 813   3                      }break;
 814   2      
 815   2                      case OK:
 816   2                      case USET:
 817   2                      {
 818   3                              SEND_5615_U(U_data);
 819   3                              Sys_sta = IDLE_STA;
 820   3                              uset_bit=3;
 821   3                              flashbuf=0;
 822   3                      }break;
 823   2      
 824   2                      case USEL:
 825   2                      {
 826   3                              if(uset_bit==3)
 827   3                                      uset_bit=2;
 828   3                              else if(uset_bit==2)
 829   3                                              uset_bit=1;
 830   3                              else if(uset_bit==1)
 831   3                                              uset_bit=3;
 832   3                      }break;
 833   2      
 834   2                      case VADD:
 835   2                      {
 836   3                              switch(uset_bit)
 837   3                              {
 838   4                                      case 3:
 839   4                                      {
 840   5                                              U_data=U_data+1;
 841   5                                      }break;
 842   4                                      case 2:
 843   4                                      {
 844   5                                              U_data=U_data+10;
 845   5                                      }break;
 846   4                                      case 1:
 847   4                                      {
 848   5                                              U_data=U_data+100;
 849   5                                      }break;
 850   4                              }

⌨️ 快捷键说明

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