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

📄 clock.lst

📁 动态显示的万年历
💻 LST
📖 第 1 页 / 共 2 页
字号:
 229   1              {
 230   2                      tick=0;
 231   2                      a=~a;//用于让调整时间的位闪烁
 232   2                      now.second++;
 233   2                      if(now.second==60)
 234   2                      {
 235   3                              now.second=0;
 236   3                              now.minute++;
 237   3                              if(now.minute==60)
 238   3                              {
 239   4                                      now.minute=0;
 240   4                                      now.hour++;
 241   4                                      if(now.hour==24)
C51 COMPILER V7.20   CLOCK                                                                 02/25/2008 16:04:37 PAGE 5   

 242   4                                      {
 243   5                                              now.hour=0;
 244   5                                              today.day++;
 245   5                                              if(today.day>monthofday(today.year,today.month))
 246   5                                              {
 247   6                                                      today.day=1;
 248   6                                                      today.month++;
 249   6                                                      if(today.month==13)
 250   6                                                      {
 251   7                                                              today.month=1;
 252   7                                                              today.year++;
 253   7                                                      }
 254   6                                              }
 255   5                                      }
 256   4                              }
 257   3                      }
 258   2              }
 259   1      }
 260          
 261          void timer0_initialize()
 262          {
 263   1              EA=0;
 264   1              TMOD=0x01;
 265   1              TH0=(65536-5000)/256;
 266   1              TL0=(65536-5000)%256;
 267   1              ET0=1;
 268   1              TR0=1;
 269   1              EA=1;
 270   1              
 271   1      }
 272          
 273          void main()
 274          {
 275   1              timer0_initialize();
 276   1              while(1)
 277   1              {
 278   2                      if(mode==0)//键盘扫描
 279   2                      {
 280   3                              delay(20);
 281   3                              if(mode==0)
 282   3                              {
 283   4                                      flag++;
 284   4                                      if(flag==7)
 285   4                                      {
 286   5                                              flag=0;
 287   5                                      }
 288   4                                      while(!mode);
 289   4                              }
 290   3                      }
 291   2                      if(flag==1)
 292   2                      {
 293   3                              if(up==0)
 294   3                              {
 295   4                                      delay(20);
 296   4                                      if(up==0)
 297   4                                      {
 298   5                                              now.second++;
 299   5                                              if(now.second==60)
 300   5                                              now.second=0;   
 301   5                                      }
 302   4                                      while(!up);
 303   4                              }
C51 COMPILER V7.20   CLOCK                                                                 02/25/2008 16:04:37 PAGE 6   

 304   3                              if(down==0)
 305   3                              {
 306   4                                      delay(20);
 307   4                                      if(down==0)
 308   4                                      {
 309   5                                              now.second--;
 310   5                                              if(now.second==-1)
 311   5                                              now.second=59;
 312   5                                      }
 313   4                                      while(!down);
 314   4                              }
 315   3                      }
 316   2                      if(flag==2)
 317   2                      {
 318   3                              if(up==0)
 319   3                              {
 320   4                                      delay(20);
 321   4                                      if(up==0)
 322   4                                      {
 323   5                                              now.minute++;
 324   5                                              if(now.minute==60)
 325   5                                              now.minute=0;   
 326   5                                      }
 327   4                                      while(!up);
 328   4                              }
 329   3                              if(down==0)
 330   3                              {
 331   4                                      delay(20);
 332   4                                      if(down==0)
 333   4                                      {
 334   5                                              now.minute--;
 335   5                                              if(now.minute==-1)
 336   5                                              now.minute=59;
 337   5                                      }
 338   4                                      while(!down);
 339   4                              }
 340   3                      }
 341   2                      if(flag==3)
 342   2                      {
 343   3                              if(up==0)
 344   3                              {
 345   4                                      delay(20);
 346   4                                      if(up==0)
 347   4                                      {
 348   5                                              now.hour++;
 349   5                                              if(now.hour==24)
 350   5                                              now.hour=0;     
 351   5                                      }
 352   4                                      while(!up);
 353   4                              }
 354   3                              if(down==0)
 355   3                              {
 356   4                                      delay(20);
 357   4                                      if(down==0)
 358   4                                      {
 359   5                                              now.hour--;
 360   5                                              if(now.hour==-1)
 361   5                                              now.hour=23;
 362   5                                      }
 363   4                                      while(!down);
 364   4                              }
 365   3                      }
C51 COMPILER V7.20   CLOCK                                                                 02/25/2008 16:04:37 PAGE 7   

 366   2                      if(flag==4)
 367   2                      {
 368   3                              if(up==0)
 369   3                              {
 370   4                                      delay(20);
 371   4                                      if(up==0)
 372   4                                      {
 373   5                                              today.day++;
 374   5                                              if(today.day>monthofday(today.year,today.month))
 375   5                                              {
 376   6                                                      today.day=1;
 377   6                                              }       
 378   5                                      }
 379   4                                      while(!up);
 380   4                              }
 381   3                              if(down==0)
 382   3                              {
 383   4                                      delay(20);
 384   4                                      if(down==0)
 385   4                                      {
 386   5                                              today.day--;
 387   5                                              if(today.day==1)
 388   5                                              {
 389   6                                                      today.day=monthofday(today.year,today.month);
 390   6                                              }
 391   5                                      }
 392   4                                      while(!down);
 393   4                              }
 394   3                      }
 395   2                      if(flag==5)
 396   2                      {
 397   3                              if(up==0)
 398   3                              {
 399   4                                      delay(20);
 400   4                                      if(up==0)
 401   4                                      {
 402   5                                              today.month++;
 403   5                                              if(today.month==13)
 404   5                                              today.month=1;  
 405   5                                      }
 406   4                                      while(!up);
 407   4                              }
 408   3                              if(down==0)
 409   3                              {
 410   4                                      delay(20);
 411   4                                      if(down==0)
 412   4                                      {
 413   5                                              today.month--;
 414   5                                              if(today.month==0)
 415   5                                              today.month=12;
 416   5                                      }
 417   4                                      while(!down);
 418   4                              }
 419   3                      }
 420   2                      if(flag==6)
 421   2                      {
 422   3                              if(up==0)
 423   3                              {
 424   4                                      delay(20);
 425   4                                      if(up==0)
 426   4                                      {
 427   5                                              today.year++;
C51 COMPILER V7.20   CLOCK                                                                 02/25/2008 16:04:37 PAGE 8   

 428   5                                              if(today.year==9999)
 429   5                                              today.year=1900;        
 430   5                                      }
 431   4                                      while(!up);
 432   4                              }
 433   3                              if(down==0)
 434   3                              {
 435   4                                      delay(20);
 436   4                                      if(down==0)
 437   4                                      {
 438   5                                              today.year--;
 439   5                                              if(today.year==1899)
 440   5                                              today.year=9999;
 441   5                                      }
 442   4                                      while(!down);
 443   4                              }
 444   3                      }
 445   2      //              display(today.year,today.month,today.day,now.hour,now.minute,now.second);
 446   2              }
 447   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1715    ----
   CONSTANT SIZE    =     23    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     25       7
   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 + -