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

📄 settime.lst

📁 DS1302 ds18b20时间温度led显示系统源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 314   3                }
 315   2              }
 316   1      
 317   1        if(flag1 == 3)        //设置月状态时
 318   1        {
 319   2          if(add == 0)
 320   2              delay_50us(100);
 321   2              if(add == 0)
 322   2              {
 323   3                while(!add);
 324   3                if(month == 12)
 325   3                  month = 1;
 326   3                else
 327   3                  month++;
 328   3                }
 329   2          if(dec == 0)
 330   2          delay_50us(100);
 331   2          if(dec == 0)
 332   2          {
 333   3            while(!dec);
 334   3                if(month == 1)
 335   3                  month = 12;
 336   3                else
 337   3                  month--;
 338   3                }
 339   2               }
 340   1               
 341   1        if(flag1 == 4)        //设置日期状态时
 342   1        {
 343   2          if(add == 0)
 344   2          delay_50us(100);
 345   2          if(add == 0)
 346   2              {
 347   3                while(!add);
 348   3                if((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (mo
             -nth == 12))
 349   3                {
 350   4                  if(date == 31)
 351   4                    date = 1;
 352   4                  else
 353   4                    date++;
 354   4                  }
 355   3                if((month == 4) || (month == 6) || (month == 9) || (month == 11))
 356   3                {
 357   4                  if(date == 30)
 358   4                    date = 1;
 359   4                  else
 360   4                    date++;
 361   4                  }
 362   3            else
 363   3                {
 364   4              if(date == 29)
C51 COMPILER V7.50   SETTIME                                                               04/12/2008 21:12:31 PAGE 7   

 365   4                        date = 1;
 366   4                      else
 367   4                        date++;
 368   4                      }
 369   3                 }
 370   2          if(dec == 0)
 371   2          delay_50us(100);
 372   2          if(dec == 0)
 373   2              {
 374   3                 while(!dec);
 375   3                 if((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (m
             -onth == 12))
 376   3                 {
 377   4                   if(date == 1)
 378   4                     date = 31;
 379   4                   else
 380   4                     date--;
 381   4                   }
 382   3                 if((month == 4) || (month == 6) || (month == 9) || (month == 11))
 383   3                 {
 384   4                   if(date == 1)
 385   4                     date = 30;
 386   4                   else
 387   4                     date--;
 388   4                   }
 389   3                 else
 390   3                 {
 391   4                   if(date == 1)
 392   4                         date = 29;
 393   4                       else
 394   4                         date--;
 395   4                      }
 396   3                 }
 397   2               }
 398   1              //在正常时间显示状态时按下dec键,可以在时间显示和温度显示状态之间切换
 399   1        if(dec == 0)
 400   1        delay_50us(100);
 401   1        if(dec == 0)
 402   1        {
 403   2          while(!dec);
 404   2              flag2 = !flag2;
 405   2              }
 406   1              //esc键按下,推出设置及温度显示状态,返回到时间显示
 407   1        if(esc == 0)
 408   1        delay_50us(100);
 409   1        if(esc == 0)
 410   1        {
 411   2          while(!esc);
 412   2              flag1 = 0;
 413   2              flag2 = 0;
 414   2              }
 415   1         //else 
 416   1          // settime();
 417   1       }                                                       
 418          
 419          void showmin()
 420          {
 421   1        uchar n,w;
 422   1        Num[0]=min % 10;
 423   1        Num[1]=min / 10;
 424   1        Num[2]=hour % 10;
 425   1        Num[3]=hour / 10;
C51 COMPILER V7.50   SETTIME                                                               04/12/2008 21:12:31 PAGE 8   

 426   1        for(n=80;n>0;n--)
 427   1        { 
 428   2          for(w=0;w<4;w++)
 429   2          { 
 430   3                P0 = 0xff;
 431   3                P2=SW[w];
 432   3            P0=table[Num[w]];
 433   3                delay_50us(10);
 434   3                }
 435   2         }
 436   1        for(n=200;n>0;n--)
 437   1        { 
 438   2          for(w=2;w<4;w++)
 439   2          { 
 440   3                P0 = 0xff;
 441   3                P2=SW[w];
 442   3            P0=table[Num[w]];
 443   3                delay_50us(10);
 444   3                }
 445   2         }
 446   1       }
 447          
 448          void showhour()
 449          {
 450   1        uchar n,w;
 451   1        Num[0]=min % 10;
 452   1        Num[1]=min / 10;
 453   1        Num[2]=hour % 10;
 454   1        Num[3]=hour / 10;
 455   1        for(n=80;n>0;n--)
 456   1        { 
 457   2          for(w=0;w<4;w++)
 458   2          { 
 459   3                P0 = 0xff;
 460   3                P2=SW[w];
 461   3            P0=table[Num[w]];
 462   3                delay_50us(10);
 463   3                }
 464   2              }
 465   1        for(n=200;n>0;n--)
 466   1        { 
 467   2          for(w=0;w<2;w++)
 468   2          { 
 469   3                P0 = 0xff;
 470   3                P2=SW[w];
 471   3            P0=table[Num[w]];
 472   3                delay_50us(10);
 473   3                }
 474   2              }
 475   1       }       
 476          
 477          void showdate()
 478          {
 479   1        uchar n,w;
 480   1        Num[0]=date % 10;
 481   1        Num[1]=date / 10;
 482   1        Num[2]=month % 10;
 483   1        Num[3]=month / 10;
 484   1        for(n=80;n>0;n--)
 485   1        { 
 486   2          for(w=0;w<4;w++)
 487   2          { 
C51 COMPILER V7.50   SETTIME                                                               04/12/2008 21:12:31 PAGE 9   

 488   3                P0 = 0xff;
 489   3                P2=SW[w];
 490   3            P0=table[Num[w]];
 491   3                delay_50us(10);
 492   3                }
 493   2              }
 494   1        for(n=200;n>0;n--)
 495   1        { 
 496   2          for(w=2;w<4;w++)
 497   2          { 
 498   3                P0 = 0xff;
 499   3                P2=SW[w];
 500   3            P0=table[Num[w]];
 501   3                delay_50us(10);
 502   3                }
 503   2              }
 504   1       }       
 505          
 506          void showmonth()
 507          {
 508   1        uchar n,w;
 509   1        Num[0]=date % 10;
 510   1        Num[1]=date / 10;
 511   1        Num[2]=month % 10;
 512   1        Num[3]=month / 10;
 513   1        for(n=80;n>0;n--)
 514   1        { 
 515   2          for(w=0;w<4;w++)
 516   2          { 
 517   3                P0 = 0xff;
 518   3                P2=SW[w];
 519   3            P0=table[Num[w]];
 520   3                delay_50us(10);
 521   3                }
 522   2              }
 523   1        for(n=200;n>0;n--)
 524   1        { 
 525   2          for(w=0;w<2;w++)
 526   2          { 
 527   3                P0 = 0xff;
 528   3                P2=SW[w];
 529   3            P0=table[Num[w]];
 530   3                delay_50us(10);
 531   3                }
 532   2              }
 533   1       }       
 534            
 535          void showtime()
 536          {
 537   1        uchar n,w;
 538   1        Num[0]=min % 10;
 539   1        Num[1]=min / 10;
 540   1        Num[2]=hour % 10;
 541   1        Num[3]=hour / 10;
 542   1        for(n=10;n>0;n--)
 543   1        { 
 544   2          for(w=0;w<4;w++)
 545   2          { 
 546   3                P0 = 0xff;
 547   3                P2=SW[w];
 548   3            P0=table[Num[w]];
 549   3                delay_50us(10);
C51 COMPILER V7.50   SETTIME                                                               04/12/2008 21:12:31 PAGE 10  

 550   3                }
 551   2         }
 552   1      }
 553           
 554          void main()
 555          {
 556   1        uchar temp;
 557   1        flag1 = 0;
 558   1        Start_ds18b20();
 559   1        delay_50us(10);
 560   1        temp = ReadTemp();
 561   1        Init1302();
 562   1        while(1)
 563   1        {
 564   2          Gettime();
 565   2              //Start_ds18b20();
 566   2              //if((sec%16) > 4)
 567   2              //for(i=5;i>0;i--)
 568   2              //{
 569   2                showtime();
 570   2              //  }
 571   2              /*else
 572   2              {
 573   2                temp = ReadTemp();
 574   2                for(i=10;i>0;i--)
 575   2                {
 576   2                    showtemp(temp);
 577   2                }
 578   2               }*/
 579   2         scankey();
 580   2         while(flag2)
 581   2         {
 582   3           flag1 = 0;
 583   3               scankey();
 584   3               Start_ds18b20();
 585   3               delay_50us(10);
 586   3               temp = ReadTemp();
 587   3               showtemp(temp);
 588   3               }
 589   2         while(flag1)
 590   2         {
 591   3           scankey();
 592   3               flag2 = 0;
 593   3              /* if(flag1 == 1)
 594   3               {
 595   3                      Start_ds18b20();
 596   3                      delay_50us(10);
 597   3                      temp = ReadTemp();
 598   3                      showtemp(temp);
 599   3                      }*/
 600   3               if(flag1 == 1)
 601   3           showhour();
 602   3               if(flag1 == 2)
 603   3               showmin();
 604   3               if(flag1 == 3)
 605   3               showmonth();
 606   3               if(flag1 == 4)
 607   3               showdate();
 608   3               if(flag1 == 5)
 609   3               {
 610   4                      settime();
 611   4                      flag1 = 0;
C51 COMPILER V7.50   SETTIME                                                               04/12/2008 21:12:31 PAGE 11  

 612   4                      }
 613   3                } 
 614   2        }
 615   1      }
 616          
 617          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1494    ----
   CONSTANT SIZE    =     18    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     17       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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