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

📄 main.lst

📁 本程序是一个人机接口程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 220   1              {
 221   2                      Alarm = 11;
 222   2                      Show_Alarm_prompt();      //显示报警内容
 223   2              }
 224   1              Current_Current=(unsigned int)d;
 225   1              ShowCurrent(1,(unsigned int)d,0);  
 226   1      
 227   1              d = ADC[1];                                       //显示即时电压
 228   1              d*=Voltage_Measuring_Range;
 229   1              d*=100;
 230   1              d = d/ADC1_coefficients;
 231   1              if(d > Voltage_Upper_Bound)    //过压报警
 232   1              {
 233   2                      Alarm = 12;
 234   2                      Show_Alarm_prompt();      //显示报警内容
 235   2              }
 236   1              Current_Voltage = (unsigned int)d;
 237   1              ShowVoltage(1,(unsigned int)d,0);
 238   1       
 239   1              d = ADC[2]; //网电电压
 240   1              d*=Supply_Voltage_Measuring_Range;
 241   1      
C51 COMPILER V7.06   MAIN                                                                  06/30/2000 09:45:23 PAGE 5   

 242   1              if(Supply_Voltage_Measuring_Range > 10000) 
 243   1              {
 244   2                      d*=10;
 245   2                      d = d/(ADC2_coefficients/10);
 246   2              }
 247   1              else 
 248   1              {
 249   2                      d*=100;
 250   2                      d = d / ADC2_coefficients;
 251   2              }
 252   1              if(d > Supply_Voltage_Upper_Bound)  //网电电压高报警
 253   1              {
 254   2                      Alarm = 13;
 255   2                      Show_Alarm_prompt();      //显示报警内容
 256   2              }
 257   1              if(d < Supply_Voltage_Lower_Bound)  //网电电压低报警
 258   1              {
 259   2                      Alarm = 14;
 260   2                      Show_Alarm_prompt();      //显示报警内容
 261   2              }
 262   1              if(d > 99999) d = 99999;
 263   1              Current_Support_Voltage = d;
 264   1              for(i = 9;i < 13;i++) ShowChar(4,i,' ');
 265   1              if(d/10000) ShowChar(4,9,d/10000+0x30);
 266   1              if(d/1000) ShowChar(4,10,d%10000/1000+0x30);
 267   1              if(d/100) ShowChar(4,11,d%1000/100+0x30);
 268   1              if(d/10) ShowChar(4,12,d%100/10+0x30);
 269   1              ShowChar(4,13,d%10+0x30);
 270   1      
 271   1          if(ADC[3] > ADC3_start_coefficients) d = ADC[3]-ADC3_start_coefficients;
 272   1              else d = 0;
 273   1              d*=20520;
 274   1              d/=ADC3_coefficients;
 275   1              if(d > 180) d = 180;
 276   1              dtj = d;
 277   1              for(i = 25;i < 27;i++) ShowChar(0,i,' ');
 278   1              if(d/100) ShowChar(0,25,d/100+0x30);
 279   1              if(d/10) ShowChar(0,26,d%100/10+0x30);
 280   1              ShowChar(0,27,d%10+0x30);
 281   1      }
 282          
 283          //给定显示
 284          void Show_Preset(void)   
 285          {
 286   1              if(Voltage_Set_value>Voltage_Measuring_Range) Voltage_Set_value=Voltage_Measuring_Range; 
 287   1              if(Current_Set_value>Current_Measuring_Range) Current_Set_value=Current_Measuring_Range; 
 288   1              if(Loop_state==0)    //开环
 289   1              {
 290   2                      ShowCurrent(0,65535,0); 
 291   2                      ShowVoltage(0,65535,0);
 292   2              } 
 293   1              else if(Loop_mode==1) 
 294   1              {
 295   2                      ShowCurrent(0,65535,0); 
 296   2                      ShowVoltage(0,Voltage_Set_value,0);
 297   2              }
 298   1              else 
 299   1              {
 300   2                      ShowCurrent(0,Current_Set_value,0); 
 301   2                      ShowVoltage(0,65535,0);
 302   2              }
 303   1      }
C51 COMPILER V7.06   MAIN                                                                  06/30/2000 09:45:23 PAGE 6   

 304          
 305          //给定
 306          //s=1,直接给定
 307          //s=0,软给定
 308          void Preset(unsigned char s)
 309          {
 310   1              unsigned int i;
 311   1              unsigned long temp;
 312   1      
 313   1              feeddog();
 314   1              if(system_staus == 0)    //停止状态
 315   1              {
 316   2                      Set_DAC(1,0);      //0给定
 317   2                      return;
 318   2              }
 319   1              if(Loop_mode == 1) //稳压
 320   1              {
 321   2                      if(s == 0)
 322   2                      {
 323   3                              for(i = 0;i < Voltage_Set_value;i+=10)  //电压软设置,步进10V
 324   3                              {
 325   4                                      temp=i;
 326   4                                      temp*=Voltage_Preset_coefficients; //20326
 327   4                                      temp/=10;
 328   4                                      temp/=Voltage_Measuring_Range;
 329   4                                      Set_DAC(1,(unsigned int)temp);
 330   4                                      delay(300);
 331   4                              }
 332   3                      }
 333   2                      temp=Voltage_Set_value; 
 334   2                      temp*=Voltage_Preset_coefficients;
 335   2                      temp/=10;
 336   2                      temp/=Voltage_Measuring_Range;
 337   2                      Set_DAC(1,(unsigned int)temp);  
 338   2                      
 339   2              }
 340   1              else      //稳流
 341   1              {
 342   2                      if(s==0)
 343   2                      {
 344   3                              for(i=0;i<Current_Set_value;i+=100) //电流软设置,步进100A
 345   3                              {
 346   4                                      temp=i;
 347   4                                      temp*=Current_Preset_coefficients;  //20326
 348   4                                      temp/=10;
 349   4                                      temp/=Current_Measuring_Range;
 350   4                                      Set_DAC(1,(unsigned int)temp);
 351   4                                      delay(300);
 352   4                              }
 353   3                       
 354   3                      }
 355   2                      temp=Current_Set_value;
 356   2                      temp*=Current_Preset_coefficients;
 357   2                      temp/=10;
 358   2                      temp/=Current_Measuring_Range;
 359   2                      Set_DAC(1,(unsigned int)temp); 
 360   2              }
 361   1      }
 362           
 363          //显示状态页
 364          void Show_1_page(void)
 365          {
C51 COMPILER V7.06   MAIN                                                                  06/30/2000 09:45:23 PAGE 7   

 366   1              ClearScreen();
 367   1              ShowLine(0,0,"状态:             导通角:  0°");
 368   1              ShowLine(4,0,"网电压:       V 变压器:   ℃");
 369   1              ShowLine(5,0,"排  温:   ℃    水  温:   ℃");
 370   1              ShowLine(6,0,"系统状态: ");
 371   1              ShowLine(7,0,"20  年  月  日    :  :  ");
 372   1      
 373   1              Show_Alarm_prompt();
 374   1      
 375   1              ShowHZ24(0,16,0);   //电
 376   1              ShowHZ24(24,16,2);      //流
 377   1              ShowHZ24(144,16,0);     //电
 378   1              ShowHZ24(168,16,1);     //压
 379   1              ShowHZ24(0,40,3);       //给
 380   1              ShowHZ24(24,40,4);      //定
 381   1              ShowHZ24(144,40,3);     //给
 382   1              ShowHZ24(168,40,4);     //定
 383   1      
 384   1              if(system_staus==1) ShowLine(0,12,"运行");
 385   1              else ShowLine(0,12,"停止");
 386   1      }
 387          
 388          //显示生成商标识
 389          //80*80点阵图形
 390          void Show_logo(void)
 391          {
 392   1              unsigned char i,j;
 393   1              unsigned int StartAddr;
 394   1              
 395   1              StartAddr = 482;
 396   1      
 397   1              LCM_CE = 0;
 398   1              for(i = 0;i < 80;i++)
 399   1              {
 400   2                      OutPortCom3((unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24);
 401   2                      for(j = 0;j < 10;j++)
 402   2                      {
 403   3                              OutPortCom2(pic[i][j], 0xc0);
 404   3                      }
 405   2                      StartAddr = StartAddr + ColumnChar;
 406   2              }
 407   1              LCM_CE = 1;
 408   1      }
 409          
 410          void Output_control(void)
 411          {
 412   1              if(Loop_state==0)                      //开环
 413   1              {
 414   2                      Set_Relay(16,0);
 415   2                      Set_Relay(15,0);
 416   2                      Set_Relay(14,0);
 417   2                      Set_Relay(1,0);
 418   2                      ShowLine(0,6,"开环");
 419   2              } 
 420   1              else if(Loop_mode==1)                  //闭环稳压
 421   1              {
 422   2                      Set_Relay(16,1);
 423   2                      Set_Relay(15,1);
 424   2                      Set_Relay(14,0);
 425   2                      Set_Relay(1,0);
 426   2                      ShowLine(0,6,"稳压");
 427   2              }
C51 COMPILER V7.06   MAIN                                                                  06/30/2000 09:45:23 PAGE 8   

 428   1              else                                   //闭环稳流
 429   1              {
 430   2                      Set_Relay(16,1);
 431   2                      Set_Relay(15,0);
 432   2                      Set_Relay(14,1);
 433   2                      Set_Relay(1,1);
 434   2                      ShowLine(0,6,"稳流");
 435   2              }
 436   1              Show_Preset();                         //显示给定值
 437   1              Preset(0);                                                         //给定
 438   1      }
 439          
 440          //读取系统设置
 441          void Read_system_set(void)
 442          {
 443   1              unsigned char i;
 444   1      
 445   1              Loop_mode=byte_read(0x8000);                                                                      //系统

⌨️ 快捷键说明

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