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

📄 电源老化测试定时器.lst

📁 电源老化房老化测试定时器 望大家有用
💻 LST
📖 第 1 页 / 共 2 页
字号:
 306          {
 307   1            byte_read( 0x2000);
 308   1          ON_2=ISP_DATA;
 309   1          byte_read( 0x2001);
 310   1          ON_1=ISP_DATA;
 311   1          byte_read( 0x2002);
 312   1          ON_0=ISP_DATA;
 313   1      
 314   1          byte_read( 0x2003);
 315   1          OFF_2=ISP_DATA;
 316   1          byte_read( 0x2004);
 317   1          OFF_1=ISP_DATA;
 318   1          byte_read( 0x2005);
 319   1          OFF_0=ISP_DATA;
 320   1      
 321   1          byte_read( 0x2006);
 322   1          TIMER_2=ISP_DATA;
 323   1          byte_read( 0x2007);
 324   1          TIMER_1=ISP_DATA;
 325   1          byte_read( 0x2008);
 326   1          TIMER_0=ISP_DATA;
 327   1      
 328   1          ON=ON_2*100+ON_1*10+ON_0;
 329   1          OFF=OFF_2*100+OFF_1*10+OFF_0;
 330   1          TIMER=TIMER_2*100+TIMER_1*10+TIMER_0;
 331   1      
 332   1       }
 333          
 334          
 335          
 336          
 337          
 338          
 339          
 340          
 341          
 342          
 343          void Timer0ISR(void) interrupt 1 using 3        //定时器0中断程序,用于走时,1/8000秒一次
 344          {
 345   1          if(TIMER==0)
 346   1          {
 347   2          TR0=0;
 348   2          out= 1; 
 349   2          start=0;
 350   2         } 
 351   1       count_down--;
 352   1       if(count_down==0)                              //过了一秒钟
 353   1       {count_down=8000;
 354   2        miao++; 
 355   2        if(miao==60)  
 356   2        {miao=0;
 357   3         TIMER--;
 358   3      
 359   3         }
 360   2      
 361   2      
 362   2      
 363   2        if(ON_OFF==0)  
 364   2        { 
 365   3         
C51 COMPILER V8.05a   电源老化测试定时芲                                                   11/08/2007 21:39:03 PAGE 7   

 366   3         out= 1; 
 367   3         if(OFF==0) ON_OFF=1;
 368   3         else     OFF--;
 369   3        }   
 370   2        else 
 371   2        {
 372   3        out= 0;
 373   3        if(ON==0) ON_OFF=0;
 374   3        else     ON--;
 375   3        }
 376   2       }
 377   1      }
 378          
 379          
 380          
 381          
 382          
 383          
 384          
 385          
 386           void Timer1ISR(void) interrupt 3 using 2               //定时器2中断,用于按键扫描
 387          {uchar keytmp;
 388   1      
 389   1      TH1=0x3c; TL1=0xb0;      // 每30ms中断一次
 390   1      
 391   1               //***  按键扫描及处理  ***/
 392   1        keytmp=P3;
 393   1        if(keytmp==0xff)  { km=0;  kp=0;  }   
 394   1        else 
 395   1         { if(km==0)   km=1;   
 396   2               else
 397   2           { if(kp==0)
 398   3              { kp=1;  
 399   4                      
 400   4                        if(keytmp==0xfe &&TR0==0)      //第一个按钮
 401   4      
 402   4                         {show_status++;
 403   5      
 404   5                          if(show_status==1)sheding=1;
 405   5      
 406   5                          if(show_status>4)                   
 407   5                          show_status=0;
 408   5        
 409   5                          }
 410   4                        if(keytmp==0xfd &&TR0==0 )    //第二个按钮
 411   4                       
 412   4                         { switch(show_status  )
 413   5                           { case 1:  
 414   6                                      
 415   6                                   if(ON>998)          ON=999;
 416   6                                   else          ON++;
 417   6                                   break;
 418   6      
 419   6                             case 2:  
 420   6                                      
 421   6                                   if(OFF>998)         OFF=999;
 422   6                                   else          OFF++;
 423   6                                   break;
 424   6      
 425   6                             case 3:  
 426   6                                      
 427   6                                   if(TIMER>998)       TIMER=999;
C51 COMPILER V8.05a   电源老化测试定时芲                                                   11/08/2007 21:39:03 PAGE 8   

 428   6                                   else          TIMER++;
 429   6                                   break;
 430   6      
 431   6      
 432   6      
 433   6                             default:
 434   6                                   break;
 435   6      
 436   6      
 437   6                                 }
 438   5                           
 439   5                           } 
 440   4                        if(keytmp==0xfb &&TR0==0)    //第二个按钮
 441   4                        
 442   4                         { switch(show_status  )
 443   5                           { 
 444   6                             case 1:  
 445   6                                      
 446   6                                   if(ON==0){ON=0; }
 447   6                                   else {ON--; }
 448   6                                   break;
 449   6                             case 2:  
 450   6                                      
 451   6                                   if(OFF==0){OFF=0; }
 452   6                                   else {OFF--; }
 453   6                                   break;
 454   6                             case 3:  
 455   6                                      
 456   6                                   if(TIMER==0){TIMER=0; }
 457   6                                   else {TIMER--; }
 458   6                                   break;
 459   6      
 460   6      
 461   6      
 462   6                             default:
 463   6                                   break;
 464   6      
 465   6      
 466   6                                 }
 467   5                           
 468   5                           }  
 469   4                           
 470   4                        if(keytmp==0xf7  && start==0 )    //第二个按钮
 471   4                        
 472   4                         { 
 473   5                           
 474   5                            rest=1;
 475   5                            show_status=0;
 476   5      
 477   5                          
 478   5      
 479   5      
 480   5      
 481   5                           }                      
 482   4                        if(keytmp==0xef &&show_status==0)    //第二个按钮
 483   4                        
 484   4                         { 
 485   5                           start=!start;
 486   5                           if(start==1)
 487   5                            {
 488   6      
 489   6                           TR0=1; 
C51 COMPILER V8.05a   电源老化测试定时芲                                                   11/08/2007 21:39:03 PAGE 9   

 490   6                           }
 491   5                           else   
 492   5                           {
 493   6                            TR0=0;
 494   6                           out= 1;
 495   6                           }
 496   5                           }                                                                   
 497   4              }
 498   3           }
 499   2         }
 500   1        }              
 501                                   
 502                                   
 503                                   
 504                                   
 505                                   
 506          
 507          
 508               
 509          
 510          
 511          
 512          
 513          
 514          
 515          
 516          
 517          
 518          
 519          
 520          
 521          
 522          
 523          
 524          
 525          
 526          
 527          
 528          
 529          
 530          main()
 531          {  out= 1;
 532   1         EPIN=0;
 533   1         lcdreset();
 534   1        
 535   1         lcdwda(0,0," ON=    s  Timer");
 536   1         lcdwda(0,1,"OFF=    s      m");
 537   1          delay(50);
 538   1         read_ISP_IAP();
 539   1          start=0;
 540   1          ON_OFF=0;
 541   1          miao=0;
 542   1           sheding=0;
 543   1          IE=0;  IP=0;             //disable all interrupt and lower priority
 544   1        TMOD=0x12;             //timer 0 is set to mode 2,auto_reloading,timer1,mode 1
 545   1        TH0=0x2F;    TL0=0x2F;        //timer0 parameters for 0.125ms
 546   1        TH1=0x3c; TL1=0xb0;      //timer1 parameters for 30ms
 547   1        TR0=0;    TR1=1;        //timer0 interrupt most important
 548   1        ET0=1;    ET1=1;    EA=1;     //enable interrupt function
 549   1          count_down=8000;
 550   1          show_status=0;
 551   1         while(1)
C51 COMPILER V8.05a   电源老化测试定时芲                                                   11/08/2007 21:39:03 PAGE 10  

 552   1         {  
 553   2       
 554   2         show_1602();
 555   2      
 556   2         if(sheding==1)
 557   2         {sheding=0;
 558   3          read_ISP_IAP();
 559   3          }
 560   2         if(rest==1)
 561   2         {
 562   3          rest=0;
 563   3          read_ISP_IAP();
 564   3              
 565   3          }
 566   2        if( TR0==1)
 567   2         {
 568   3          if(ON==0 && ON_OFF==0)
 569   3          {
 570   4      
 571   4          byte_read( 0x2000);
 572   4          ON_2=ISP_DATA;
 573   4          byte_read( 0x2001);
 574   4          ON_1=ISP_DATA;
 575   4          byte_read( 0x2002);
 576   4          ON_0=ISP_DATA;
 577   4      
 578   4      
 579   4          ON=ON_2*100+ON_1*10+ON_0;
 580   4      
 581   4              
 582   4          }
 583   3         if(OFF==0&& ON_OFF==1)
 584   3         {
 585   4      
 586   4          byte_read( 0x2003);
 587   4          OFF_2=ISP_DATA;
 588   4          byte_read( 0x2004);
 589   4          OFF_1=ISP_DATA;
 590   4          byte_read( 0x2005);
 591   4          OFF_0=ISP_DATA;
 592   4      
 593   4      
 594   4          OFF=OFF_2*100+OFF_1*10+OFF_0;
 595   4      
 596   4              
 597   4          }
 598   3      
 599   3        }
 600   2      
 601   2         }
 602   1      }
 603                    


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1558    ----
   CONSTANT SIZE    =     34    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     27    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      6    ----
C51 COMPILER V8.05a   电源老化测试定时芲                                                   11/08/2007 21:39:03 PAGE 11  

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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