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

📄 lcddriver.lst

📁 基于MST-G240128点阵液晶的 状态机机制 人机界面四级滚屏菜单 源代码 ,带时间片机制模拟操作系统
💻 LST
📖 第 1 页 / 共 4 页
字号:
 839   2            LCD_CAstr(16,i,"机柜很热",0,0);
 840   2                 HisFlash(14);
 841   2         }
 842   1         if(ErrorRege&0x4000)
 843   1         {
 844   2            LCD_CAstr(16,i,"快熔熔断",0,0);
 845   2                 HisFlash(15);
 846   2         }
 847   1              if(ErrorRege&0x8000)
 848   1         {
 849   2            LCD_CAstr(16,i,"KQ误开通",0,0);
 850   2                 HisFlash(16);
 851   2         }
 852   1              
 853   1      }
 854          /////////////////////////////////////////////////////////////////////////////
 855          void LCD_RunPage(void)
 856          {
 857   1         uint8 i,j;
 858   1         
 859   1         for(i=0;i<240;i++)
 860   1         {
 861   2         LCD_WByte(i,0,0x40);
C51 COMPILER V7.20   LCDDRIVER                                                             01/31/2007 10:20:44 PAGE 15  

 862   2         LCD_WByte(i,3,0x02);
 863   2         }
 864   1         LCD_CAstr(2,1,"``",0,0);
 865   1         LCD_CAstr(22,1,"LZK-3G",0,1);
 866   1         LCD_CAstr(74,1,"同步电动机励磁装置",0,0);
 867   1         LCD_CAstr(222,1,"<<",0,0);
 868   1      
 869   1         for(i=167;i<233;i++)
 870   1         {
 871   2         LCD_WByte(i,3,0x82);
 872   2         LCD_WByte(i,12,0x01);
 873   2         }
 874   1         for(i=4;i<12;i++)
 875   1         {
 876   2         LCD_WByte(167,i,0xff);
 877   2         LCD_WByte(232,i,0xff);
 878   2         }
 879   1        
 880   1         switch(PictrRege)
 881   1         {
 882   2         case 0x00:
 883   2         case 0x01:
 884   2                     for(j=4;j<12;j++)
 885   2                for(i=168;i<232;i++)
 886   2                LCD_WByte(i,j,Static[(j-4)*64+i-168]);
 887   2                break;
 888   2         case 0x03:
 889   2                     for(j=4;j<11;j++)
 890   2                for(i=168;i<232;i++)
 891   2                LCD_WByte(i,j,Swave[(j-4)*64+i-168]);
 892   2                break;
 893   2         
 894   2         default:break;
 895   2         }
 896   1              LCD_Clock();
 897   1      
 898   1         switch(page)
 899   1         {
 900   2         case 1:
 901   2                     LCD_CAstr(16,4,"励磁电压:",0,0);
 902   2                LCD_CAstr(16,6,"励磁电流:",0,0);
 903   2                          LCD_CAstr(16,8,"触发角度:",0,0);
 904   2                LCD_CAstr(16,10,"功率因树:",0,0);
 905   2                          LCD_CAstr(16,12,"运行模式:",0,0);
 906   2                          break;
 907   2         case 2:
 908   2                     LCD_CAstr(16,4,"视在功率:",0,0);
 909   2                LCD_CAstr(16,6,"有功功率:",0,0);
 910   2                          LCD_CAstr(16,8,"无功功率:",0,0);
 911   2                LCD_CAstr(16,10,"定子电压:",0,0);
 912   2                          LCD_CAstr(16,12,"定子电流:",0,0);
 913   2                          break;
 914   2         case 3:
 915   2                     LCD_RunError();
 916   2                     break;
 917   2         default:break;
 918   2         }
 919   1                
 920   1      }
 921          /////////////////////////////////////////////////////////////////////////////
 922          void LCD_RunData(void)
 923                  {
C51 COMPILER V7.20   LCDDRIVER                                                             01/31/2007 10:20:44 PAGE 16  

 924   1                 if(page==1)
 925   1                 {
 926   2                    switch(Data_Num)
 927   2                              {
 928   3                              case 1:
 929   3                                     LCD_Num(96,4,EM_ExcVoltData,0,"V   ");
 930   3                                     break;
 931   3                              case 2:
 932   3                                     LCD_Num(96,6,EM_ExcCurrData,0,"A   ");
 933   3                                               break;
 934   3                              case 3:
 935   3                                     LCD_Num(96,8,EM_AngleData,0,"^   ");
 936   3                                               break;
 937   3                              case 4:
 938   3                                     LCD_CAstr(96,10,"0.",0,0);
 939   3                                     LCD_Num(112,10,EM_PowFacData,0," ");
 940   3                                               break;
 941   3                              case 5:
 942   3                                              switch(EM_ModeCMD)
 943   3                                              {
 944   4                                              case 0:LCD_CAstr(96,12,"恒压",0,0);
 945   4                                                     break;
 946   4                                              case 1:LCD_CAstr(96,12,"恒流",0,0);
 947   4                                                     break;
 948   4                                              case 2:LCD_CAstr(96,12,"恒角度",0,0);
 949   4                                                     break;
 950   4                                              case 3:LCD_CAstr(96,12,"功率因树",0,0);
 951   4                                                     break;
 952   4                                              case 4:LCD_CAstr(96,12,"恒无功",0,0);
 953   4                                                     break;
 954   4                                              default:break;
 955   4                                              }
 956   3                                              break;
 957   3                  case 6:
 958   3                                      switch(RTU_MaOrSlave)
 959   3                                              {
 960   4                                              case 0:LCD_CAstr(168,13,"主",0,0);
 961   4                                                     break;
 962   4                                              case 1:LCD_CAstr(168,13,"从",0,0);
 963   4                                                     break;
 964   4                          default:break;
 965   4                                              }
 966   3                                              break;
 967   3                              default:break;
 968   3                    }
 969   2                 }
 970   1                 else if(page==2)
 971   1                 {
 972   2                    switch(Data_Num)
 973   2                              {
 974   3                              case 1:
 975   3                                     LCD_Num(96,4,EM_SumPowData,0,"KVA  ");
 976   3                                     break;
 977   3                              case 2:
 978   3                                     LCD_Num(96,6,EM_EffPowData,0,"KW   ");
 979   3                                               break;
 980   3                              case 3:
 981   3                                     LCD_Num(96,8,EM_NulPowData,0,"Kvar  ");
 982   3                                               break;
 983   3                              case 4:
 984   3                                         LCD_Num(96,10,EM_StaVoltData,0,"V   ");
 985   3                                               break;
C51 COMPILER V7.20   LCDDRIVER                                                             01/31/2007 10:20:44 PAGE 17  

 986   3                              case 5:
 987   3                                     LCD_Num(96,12,EM_StaCurrData,0,"A   ");
 988   3                                           break;
 989   3                  case 6:
 990   3                                              switch(RTU_MaOrSlave)
 991   3                                              {
 992   4                                              case 0:LCD_CAstr(168,13,"主",0,0);
 993   4                                                     break;
 994   4                                              case 1:LCD_CAstr(168,13,"从",0,0);
 995   4                                                     break;
 996   4                                              default:break;
 997   4                                              }
 998   3                                              break;
 999   3                              default:break;
1000   3                    }  
1001   2                 }
1002   1            Data_Num+=1;
1003   1                      if(Data_Num>6)
1004   1                         Data_Num=1;
1005   1              }
1006          /////////////////////////////////////////////////////////////////////////////
1007                  void LCD_RunPictr(void)
1008                  {
1009   1                      /*************电机运行及录波动画****************/
1010   1                      switch(PictrTemp)
1011   1                      {
1012   2                      case 0x01:
1013   2                            if(Mov1Up==0x00 && Mov2Up==0x00)
1014   2                                         head=0;
1015   2                  if(Mov1Up==0xff && Mov2Up==0xff)
1016   2                     head=1;
1017   2      
1018   2                                      if(head==0)
1019   2                                      {
1020   3                                              if(Mov1Up!=0xff)
1021   3                                                 Mov1Up=(Mov1Up>>1)+0x80;
1022   3                     if(Mov2Up!=0xff)
1023   3                                                 Mov2Up=(Mov2Up<<1)+0x01;
1024   3                                      }
1025   2                                      else
1026   2                                      {
1027   3                                              if(Mov1Up!=0x00)
1028   3                                                 Mov1Up=Mov1Up<<1;
1029   3                     if(Mov2Up!=0x00)
1030   3                                                 Mov2Up=Mov2Up>>1;
1031   3                                      }
1032   2                            
1033   2                                      for(hunt=199;hunt<207;hunt++)
1034   2                                      {
1035   3                                         LCD_WByte(hunt,7,Mov1Up);
1036   3                                              LCD_WByte(hunt,8,Mov2Up);
1037   3                                      }
1038   2                                      break;
1039   2      
1040   2                      case 0x03:
1041   2                                      head++;
1042   2                                      if(head>16)
1043   2                                      {
1044   3                                              head=1;
1045   3                                              if(Mov1Up==0)
1046   3                                              {
1047   4                                                 Mov1Up=1;
C51 COMPILER V7.20   LCDDRIVER                                                             01/31/2007 10:20:44 PAGE 18  

1048   4                                                 Mov2Up=0x00;
1049   4                     }
1050   3                     else
1051   3                                              {
1052   4                                                 Mov1Up=0;
1053   4                                                 Mov2Up=0xff;
1054   4                     }
1055   3                  }
1056   2      
1057   2                                      LCD_WByte(167+2*(17-head),11,Mov2Up);
1058   2                                      LCD_WByte(198+2*head,11,Mov2Up);
1059   2                                      break;
1060   2      
1061   2                      default:break;
1062   2                      }
1063   1            /***********上位机通信动画*******************/
1064   1                      if(Com_EN)
1065   1                      {
1066   2                         Shf2UP++;
1067   2                              if(Shf2UP>10)
1068   2                              Shf2UP=1;
1069   2              
1070   2                              LCD_WByte(226,4,0x3f);
1071   2                              for(Shf1UP=0;Shf1UP<5;Shf1UP++)
1072   2                              {
1073   3                                 if(Shf1UP<Shf2UP && Shf2UP<6)
1074   3                                         LCD_WByte(Shf1UP+227,4,0x3f);
1075   3                  else if(Shf1UP>=Shf2UP && Shf2UP<6)
1076   3                                         LCD_WByte(Shf1UP+227,4,0x20);
1077   3                  else if(Shf1UP<(Shf2UP-5) && Shf2UP>5)
1078   3                                         LCD_WByte(Shf1UP+227,4,0x20);
1079   3                  else
1080   3                                         LCD_WByte(Shf1UP+227,4,0x3f);
1081   3                              }
1082   2                      }
1083   1                      else
1084   1                      {
1085   2                         for(Shf1UP=226;Shf1UP<232;Shf1UP++)
1086   2                                 LCD_WByte(Shf1UP,4,0x00);
1087   2                      }
1088   1            /*******************双机热备图标*******************/
1089   1                      if(EM_BackUp)
1090   1                      {
1091   2                         for(Shf1UP=0;Shf1UP<5;Shf1UP++)
1092   2                                 LCD_WByte(Shf1UP+168,4,0x1f>>Shf1UP);
1093   2                      }
1094   1                      else
1095   1                      {
1096   2                         for(Shf1UP=0;Shf1UP<5;Shf1UP++)
1097   2                                 LCD_WByte(Shf1UP+168,4,0x00);
1098   2                      }
1099   1            
1100   1              }
1101          /********************************************************************************/
1102                  


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   6896    ----
   CONSTANT SIZE    =    526    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V7.20   LCDDRIVER                                                             01/31/2007 10:20:44 PAGE 19  

   DATA SIZE        =   ----      90
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----      10
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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