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

📄 main.lst

📁 采用1*4,4*4键盘同时控制,带有8位数码显示的数控直流电源驱动及应用程序(Keil c51)
💻 LST
📖 第 1 页 / 共 5 页
字号:
 279   3                      }break;
 280   2      
 281   2                      case IADD:
 282   2                      {
 283   3                              if(I_data >= 0x03ff)
 284   3                              {}
 285   3                              else
 286   3                              {
 287   4                                      I_data=I_data+1;
 288   4                                      SEND_5615_I(I_data);
 289   4                                      Delay(5);
 290   4                              }
 291   3                      }break;
 292   2      
 293   2                      case ISUB:
 294   2                      {
 295   3                              if(I_data <= 5 || I_data >= 0x03ff)
 296   3                              {
 297   4                                      SEND_5615_I(I_data);
 298   4                                      Delay(5);
 299   4                              }
 300   3                              else
 301   3                              {
 302   4                                      I_data=I_data-1;
 303   4                                      SEND_5615_I(I_data);
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 6   

 304   4                                      Delay(5);
 305   4                              }
 306   3                      }break;
 307   2                      //功能键
 308   2                      case USET://1*8
 309   2                      {
 310   3                              Sys_sta = U_SETu;
 311   3                      }break;
 312   2      
 313   2                      case SETu://4*4
 314   2                      {
 315   3                              Sys_sta = U_SET_STA;
 316   3                      }break;
 317   2      
 318   2                      case ISET://1*8
 319   2                      {
 320   3                              Sys_sta = I_SETi;
 321   3                      }break;
 322   2      
 323   2                      case SETi://4*4
 324   2                      {
 325   3                              Sys_sta = I_SET_STA;
 326   3                      }break;
 327   2      
 328   2                      case USER://4*4
 329   2                      {
 330   3                              Sys_sta = USER_SET_STA;
 331   3                      }break;
 332   2      
 333   2                      case CALL://4*4
 334   2                      {
 335   3                              Sys_sta = CALL_USER_STA;
 336   3                      }break;
 337   2      
 338   2                      default:break;
 339   2              }
 340   1      
 341   1              while(keytemp!=0xff)
 342   1              {
 343   2                      keytemp = Key();
 344   2                      Disp();
 345   2                      Delay(5);
 346   2              }
 347   1              
 348   1              Disp_U_Real();
 349   1              Delay(20);
 350   1              Disp_I_Real();
 351   1      
 352   1      }
 353          //4mul4电压设定状态下的服务程序
 354          void U_SET_Mange(void)
 355          {
 356   1              unsigned int temp;
 357   1              temp = U_data;
 358   1              if(u_ds==0)
 359   1              {
 360   2                      u_ds=1;
 361   2                      Disp_Buf[0]=16;
 362   2                      Disp_Buf[1]=18;
 363   2                      Disp_Buf[2]=18;
 364   2                      Disp_Buf[3]=18;
 365   2                      Disp();
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 7   

 366   2              }
 367   1              Disp_I_Real();
 368   1      
 369   1              keytemp = Key();
 370   1              switch(keytemp)
 371   1              {
 372   2                      case 0:
 373   2                      {
 374   3                              if(ubit<=3)
 375   3                              {
 376   4                                      U_Buf[ubit]=0;
 377   4                                      Disp_change(U_Buf[ubit]);
 378   4                                      ubit=ubit+1;
 379   4                              }
 380   3                              else
 381   3                              {
 382   4                                      ubit=0;
 383   4                              }
 384   3                      }break;
 385   2      
 386   2                      case 1:
 387   2                      {
 388   3                              if(ubit<=3)
 389   3                              {
 390   4                                      U_Buf[ubit]=1;
 391   4                                      Disp_change(U_Buf[ubit]);
 392   4                                      ubit=ubit+1;
 393   4                              }
 394   3                              else
 395   3                              {
 396   4                                      ubit=0;
 397   4                              }
 398   3                      }break;
 399   2      
 400   2                      case 2:
 401   2                      {
 402   3                              if(ubit<=3)
 403   3                              {
 404   4                                      U_Buf[ubit]=2;
 405   4                                      Disp_change(U_Buf[ubit]);
 406   4                                      ubit=ubit+1;
 407   4                              }
 408   3                              else
 409   3                              {
 410   4                                      ubit=0;
 411   4                              }
 412   3                      }break;
 413   2      
 414   2                      case 3:
 415   2                      {
 416   3                              if(ubit<=3)
 417   3                              {
 418   4                                      U_Buf[ubit]=3;
 419   4                                      Disp_change(U_Buf[ubit]);
 420   4                                      ubit=ubit+1;
 421   4                              }
 422   3                              else
 423   3                              {
 424   4                                      ubit=0;
 425   4                              }
 426   3                      }break;
 427   2      
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 8   

 428   2                      case 4:
 429   2                      {
 430   3                              if(ubit<=3)
 431   3                              {
 432   4                                      U_Buf[ubit]=4;
 433   4                                      Disp_change(U_Buf[ubit]);
 434   4                                      ubit=ubit+1;
 435   4                              }
 436   3                              else
 437   3                              {
 438   4                                      ubit=0;
 439   4                              }
 440   3                      }break;
 441   2      
 442   2                      case 5:
 443   2                      {
 444   3                              if(ubit<=3)
 445   3                              {
 446   4                                      U_Buf[ubit]=5;
 447   4                                      Disp_change(U_Buf[ubit]);
 448   4                                      ubit=ubit+1;
 449   4                              }
 450   3                              else
 451   3                              {
 452   4                                      ubit=0;
 453   4                              }
 454   3                      }break;
 455   2      
 456   2                      case 6:
 457   2                      {
 458   3                              if(ubit<=3)
 459   3                              {
 460   4                                      U_Buf[ubit]=6;
 461   4                                      Disp_change(U_Buf[ubit]);
 462   4                                      ubit=ubit+1;
 463   4                              }
 464   3                              else
 465   3                              {
 466   4                                      ubit=0;
 467   4                              }
 468   3                      }break;
 469   2      
 470   2                      case 7:
 471   2                      {
 472   3                              if(ubit<=3)
 473   3                              {
 474   4                                      U_Buf[ubit]=7;
 475   4                                      Disp_change(U_Buf[ubit]);
 476   4                                      ubit=ubit+1;
 477   4                              }
 478   3                              else
 479   3                              {
 480   4                                      ubit=0;
 481   4                              }
 482   3                      }break;
 483   2      
 484   2                      case 8:
 485   2                      {
 486   3                              if(ubit<=3)
 487   3                              {
 488   4                                      U_Buf[ubit]=8;
 489   4                                      Disp_change(U_Buf[ubit]);
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 9   

 490   4                                      ubit=ubit+1;
 491   4                              }
 492   3                              else
 493   3                              {
 494   4                                      ubit=0;
 495   4                              }
 496   3                      }break;
 497   2      
 498   2                      case 9:
 499   2                      {
 500   3                              if(ubit<=3)
 501   3                              {
 502   4                                      U_Buf[ubit]=9;
 503   4                                      Disp_change(U_Buf[ubit]);
 504   4                                      ubit=ubit+1;
 505   4                              }
 506   3                              else
 507   3                              {
 508   4                                      ubit=0;
 509   4                              }
 510   3                      }break;
 511   2      
 512   2                      case ESC:
 513   2                      {
 514   3                              U_data = temp;
 515   3                              u_ds=0;
 516   3                              ubit=0;
 517   3                              Sys_sta = IDLE_STA;
 518   3                      }break;
 519   2      
 520   2                      case OK:
 521   2                      case USET:
 522   2                      {
 523   3                              if (ubit == 4)
 524   3                              {
 525   4                                      if((U_Buf[0]==1 && U_Buf[2]==2 && U_Buf[3]>=4) || U_Buf[0]>=2)
 526   4                                      {
 527   5                                              U_data = U_Buf[1]*100+U_Buf[2]*10+U_Buf[3];     
 528   5                                      }
 529   4                                      else
 530   4                                      {       
 531   5                                              U_data = U_Buf[0]*1000+U_Buf[1]*100+U_Buf[2]*10+U_Buf[3];
 532   5                                      }
 533   4                              }
 534   3                              else if(ubit == 3)
 535   3                              {
 536   4                                      U_data = U_Buf[0]*100+U_Buf[1]*10+U_Buf[2];
 537   4                              }
 538   3                  else if(ubit == 2)
 539   3                  {
 540   4                                      U_data = U_Buf[0]*10+U_Buf[1];
 541   4                              }
 542   3                  else if(ubit  == 1)
 543   3                  {
 544   4                                      U_data = U_Buf[0];
 545   4                              }
 546   3                              SEND_5615_U(U_data);
 547   3      
 548   3                              U_Buf[0]=0;
 549   3                              U_Buf[1]=0;
 550   3                              U_Buf[2]=0;
 551   3                              U_Buf[3]=0;
C51 COMPILER V7.09   MAIN                                                                  12/06/2007 09:33:57 PAGE 10  

 552   3      
 553   3                              u_ds=0;
 554   3                              ubit=0;
 555   3                              Sys_sta = IDLE_STA;
 556   3                      }break;
 557   2              }
 558   1              while(keytemp!=0xff)
 559   1              {
 560   2                      keytemp = Key();
 561   2                      Disp();
 562   2                      Delay(10);
 563   2              }

⌨️ 快捷键说明

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