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

📄 timer_thermometer_12864.lst

📁 用单片机实现的温度检测 是整个电路的代码调试
💻 LST
📖 第 1 页 / 共 3 页
字号:
 345   5                              if((yeartmp%4==0&&yeartmp%100!=0)||(yeartmp%400==0)) leaptmp=1;
 346   5                                                                      else leaptmp=0;                                                 
 347   5                              if(DTTMP[dtn]==28&&DTTMP[dtn-1]==2&&leaptmp==0)
 348   5                                    DTTMP[dtn]=1;
 349   5                              else if(DTTMP[dtn]==29&&DTTMP[dtn-1]==2&&leaptmp==1)
 350   5                                   DTTMP[dtn]=1;
 351   5                                      else if(DTTMP[dtn]==30&&(DTTMP[dtn-1]==4||DTTMP[dtn-1]==6||DTTMP[dtn-1]==9||DTTMP[dtn-1]
             -==11))
 352   5                                   DTTMP[dtn]=1;
 353   5                               else if(DTTMP[dtn]==31)     DTTMP[dtn]=1;
 354   5                                                              else    DTTMP[dtn]+=1;
 355   5                                              }
 356   4                                              else if(dtn==3)
 357   4                                                              {if(DTTMP[dtn]==6)
 358   5                                                              DTTMP[dtn]=0;
 359   5                                                              else    DTTMP[dtn]+=1;                                                  
 360   5                                                              }
 361   4                                              else if(dtn==4)
 362   4                                                      if(DTTMP[dtn]==23)      DTTMP[dtn]=0;
 363   4                                                      else    DTTMP[dtn]+=1;
C51 COMPILER V7.06   TIMER_THERMOMETER_12864                                               03/22/2007 10:01:19 PAGE 7   

 364   4                                              else if(dtn==5||dtn==6)
 365   4                                                      if(DTTMP[dtn]==59)      DTTMP[dtn]=0;
 366   4                                                      else    DTTMP[dtn]+=1;
 367   4                                              MSFLAG=20;                                      
 368   4                                              }
 369   3                                      else if(key==DOWN)
 370   3                                              {if(dtn==0)
 371   4                                                      if(DTTMP[dtn]==0)       DTTMP[dtn]=99;
 372   4                                                      else    DTTMP[dtn]-=1;  
 373   4                                              else if(dtn==1)
 374   4                                                      if(DTTMP[dtn]==1)       DTTMP[dtn]=12;
 375   4                                                      else    DTTMP[dtn]-=1;                  
 376   4                                              else if(dtn==2)
 377   4                                                      { yeartmp=DTTMP[dtn-2]+2000;
 378   5                               if((yeartmp%4==0&&yeartmp%100!=0)||(yeartmp%400==0)) leaptmp=1;
 379   5                                                                      else leaptmp=0;
 380   5                              if(DTTMP[dtn]==1&&DTTMP[dtn-1]==2&&leaptmp==0)
 381   5                                    DTTMP[dtn]=28;
 382   5                               else if(DTTMP[dtn]==1&&DTTMP[dtn-1]==2&&leaptmp==1)
 383   5                                   DTTMP[dtn]=29;
 384   5                                      else if(DTTMP[dtn]==1&&(DTTMP[dtn-1]==4||DTTMP[dtn-1]==6||DTTMP[dtn-1]==9||DTTMP[dtn-1]=
             -=11))
 385   5                                   DTTMP[dtn]=30;
 386   5                               else if(DTTMP[dtn]==1)     DTTMP[dtn]=31;
 387   5                                                              else    DTTMP[dtn]-=1;
 388   5                                                                                                              
 389   5                                                      }
 390   4                                              else if(dtn==3)
 391   4                                                              {if(DTTMP[dtn]==0)
 392   5                                                              DTTMP[dtn]=6;
 393   5                                                              else    DTTMP[dtn]-=1;                                                  
 394   5                                                              }
 395   4                                              else if(dtn==4)
 396   4                                                      if(DTTMP[dtn]==0)       DTTMP[dtn]=23;
 397   4                                                      else    DTTMP[dtn]-=1;
 398   4                                              else if(dtn==5||dtn==6)
 399   4                                                      if(DTTMP[dtn]==0)       DTTMP[dtn]=59;
 400   4                                                      else    DTTMP[dtn]-=1;                                  
 401   4                                              MSFLAG=20;
 402   4                                              }
 403   3                                      else if(key==ENTER)
 404   3                                              {for(i=0;i<7;i++)
 405   4                                              DTBUF[i]=DTTMP[i];
 406   4                                              back=1;}
 407   3                                      else if(key==CANCEL)
 408   3                                              back=1;                                 
 409   3                                      }
 410   2                              }                               
 411   1                      Clean_Lcd();
 412   1                      LCD_Initializate();LCD_DateTime_Initializate();                 
 413   1                      dp=0;           //开中断显示
 414   1                      pdt=DTBUF;
 415   1              }
 416          ////////////////////////////////////
 417          //中断服务程序
 418          void Timer0(void)interrupt 1 using 0
 419          {       unsigned int year,leap; 
 420   1              TH0=(65536-TCONST)/256;
 421   1              TL0=(65536-TCONST)%256;
 422   1              ++TCOUNT;
 423   1              if(TCOUNT==10)
 424   1                      {secf=0;
C51 COMPILER V7.06   TIMER_THERMOMETER_12864                                               03/22/2007 10:01:19 PAGE 8   

 425   2                      Second_Flash(0);}                               //秒闪  
 426   1              else if(TCOUNT==20)
 427   1          {DTBUF[6]+=1;                                       //秒单元
 428   2              DateTime_Display(pdt,6,1,dp);                           //void  DateTime_Display(unsigned char sn,unsigned char fl)
 429   2           TCOUNT=0;                                          //20*50MS计数器
 430   2           MSFLAG--;                                          //秒倒计时
 431   2           secf=1;    Second_Flash(1);
 432   2              if(DTBUF[6]%10==0){LCD_Initializate();LCD_DateTime_Initializate();}                             
 433   2                 if(DTBUF[6]==60)
 434   2                   {DTBUF[5]+=1; DTBUF[6]=0;             
 435   3                                      DateTime_Display(pdt,6,1,dp);   DateTime_Display(pdt,5,1,dp);                           
 436   3                      if(DTBUF[5]==60)
 437   3                      {DTBUF[4]+=1;DTBUF[5]=0;                 
 438   4                                              DateTime_Display(pdt,5,1,dp);DateTime_Display(pdt,4,1,dp);                                      
 439   4                          if(DTBUF[4]==24)
 440   4                             {DTBUF[4]=0;     DTBUF[3]+=1;    DTBUF[2]+=1;                                                    
 441   5                              DateTime_Display(pdt,4,1,dp);   DateTime_Display(pdt,3,1,dp);   DateTime_Display(pdt,2
             -,1,dp);                                                
 442   5                                                      if(DTBUF[3]==7)
 443   5                                                              DTBUF[3]=0;     DateTime_Display(pdt,3,1,dp);                                                                                           
 444   5                              year=DTBUF[0]+2000;
 445   5                              if((year%4==0&&year%100!=0)||(year%400==0)) leap=1;
 446   5                              if(DTBUF[2]==29&&DTBUF[1]==2&&leap==0)
 447   5                                    {DTBUF[2]=1;      DTBUF[1]+=1;  }                 
 448   5                               else if(DTBUF[2]==30&&DTBUF[1]==2&&leap==1)
 449   5                                    {DTBUF[2]=1;      DTBUF[1]+=1;}
 450   5                               else if(DTBUF[2]==31&&(DTBUF[1]==4||DTBUF[1]==6||DTBUF[1]==9||DTBUF[1]==11))
 451   5                                    {DTBUF[2]=1;      DTBUF[1]+=1;}                              
 452   5                               else if(DTBUF[2]==32)
 453   5                                   {DTBUF[2]=1;       DTBUF[1]+=1;}                                                                                                           
 454   5                                if(DTBUF[1]==13)
 455   5                                { DTBUF[1]=1; DTBUF[0]+=1;
 456   6                                  DateTime_Display(pdt,1,1,dp);       DateTime_Display(pdt,0,1,dp);                                                   
 457   6                                  if(DTBUF[0]==100)
 458   6                                    {DTBUF[0]=0;      DateTime_Display(pdt,0,1,dp);                                                   
 459   7                                    }
 460   6                                 }
 461   5                            }
 462   4                      }
 463   3                }
 464   2           }
 465   1      }
 466          ///////////////////////////////////////////////////////
 467          
 468          void Main()
 469                  {       unsigned char a;                
 470   1                      pdt=DTBUF;              
 471   1                      IntRst();               //软件复位
 472   1              Lcd_On();                //开显示                   
 473   1                      Clean_Lcd();                            //清屏          
 474   1                      LCD_Initializate();
 475   1                      LCD_DateTime_Initializate();            
 476   1                      Lcd_Z(0);                               //设置Z地址为0
 477   1                  TMOD=0X01;  
 478   1                      TH0=(65536-TCONST)/256;
 479   1                      TL0=(65536-TCONST)%256;
 480   1                      EA=1;
 481   1                      ET0=1;  
 482   1                      TR0=1;
 483   1                      Tmp_Display();                                 
 484   1              while(1)
 485   1                      {       a=GetKey();                                     
C51 COMPILER V7.06   TIMER_THERMOMETER_12864                                               03/22/2007 10:01:19 PAGE 9   

 486   2                              if(a==SETUP)    DateTime_SetUp();
 487   2                              else if(a==CLEAR)       //全屏刷新
 488   2                                              {Clean_Lcd();
 489   3                                              LCD_Initializate();
 490   3                                              LCD_DateTime_Initializate();
 491   3                                              Lcd_Z(0);
 492   3                                              }
 493   2                              
 494   2                              if(TCOUNT==13)Tmp_Display();    
 495   2                      } 
 496   1      
 497   1                      
 498   1              }
 499          //Right_Bytes_DaSend( x, y, *loc,bytes)
 500          //Left_Bytes_DaSend( x, y, *loc,bytes)
 501          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3341    ----
   CONSTANT SIZE    =    784    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28      41
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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