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

📄 +

📁 单片机控制1602LCD实现万年历设计.
💻
📖 第 1 页 / 共 3 页
字号:
 377   1                      write_com(0x80+13);
 378   1                      for(num=0;num<3;num++)
 379   1                      {
 380   2                              write_data(table2[num]);
 381   2                              delay(5);       
 382   2                      }
 383   1                      write_com(0x80+0x40);
 384   1                      for(num=0;num<8;num++)
 385   1                      {
 386   2                              write_data(table1[num]);
 387   2      /*              switch(num)
 388   2                      {
 389   2                              case 0:
 390   2                              shi1shi=table1[0];break;
 391   2                              case 1:
 392   2                              shi1ge=table1[1];break;
 393   2                              case 3:
 394   2                              fenshi=table1[3];break;
 395   2                              case 4:
 396   2                              fenge=table1[4];break;
 397   2                              case 6:
 398   2                              miaoshi=table1[6];break;
 399   2                              case 7:
 400   2                              miaoge=table1[7];break; 
 401   2                      } 
 402   2       */     
 403   2                              delay(5);
 404   2                      }
 405   1      /*
 406   1              nian=(nianqian+0x30)*1000+(nianbai+0x30)*100+(nianshi+0x30)*10+niange+0x30;
 407   1              yue=yueshi*(10+48)+yuege;
 408   1              ri=rishi*(10+48)+rige;
 409   1              shi1=shi1shi*(10)+shi1ge;
 410   1              fen=fenshi*(10+48)+fenge;
 411   1              miao=miaoshi*(10)+miaoge;
 412   1      */
 413   1      
 414   1      }
 415          void shijian()
 416          {
 417   1              uchar i;
 418   1                              if(num==18)
 419   1                                      {
 420   2                                              num=0;
 421   2                                              miao++;
 422   2                                              if(miao==60)
 423   2                                          {
 424   3                                                                      miao=0;
 425   3                                                                      fen++;
 426   3                                                                      if(fen==60)
C51 COMPILER V8.02   时钟                                                                  11/19/2012 19:28:08 PAGE 8   

 427   3                                                                      {
 428   4                                                                              fen=0;
 429   4                                                                              shi1++;
 430   4                                                                                      if(shi1==24)
 431   4                                                                                              {
 432   5                                                                                                      shi1=0;
 433   5                                                                                                      ri++;
 434   5                                                                                                      xingqi++;
 435   5                                                                                                      if(xingqi==8)
 436   5                                                                                                      xingqi=1;
 437   5                                                                                                      switch(xingqi)
 438   5                                                                                                      {
 439   6                                                                                                              case 1:
 440   6                                                                                                              write_com(0x80+13);
 441   6                                                                                                              for(i=0;i<3;i++)
 442   6                                                                                                              {
 443   7                                                                                                              write_data(table2[i]);          
 444   7                                                                                                              }
 445   6                                                                                                              break;
 446   6                                                                                                              case 2:
 447   6                                                                                                              write_com(0x80+13);
 448   6                                                                                                              for(i=3;i<6;i++)
 449   6                                                                                                              {
 450   7                                                                                                              write_data(table2[i]);          
 451   7                                                                                                              }
 452   6                                                                                                              break;
 453   6                                                                                                              case 3:
 454   6                                                                                                              write_com(0x80+13);
 455   6                                                                                                              for(i=6;i<9;i++)
 456   6                                                                                                              {
 457   7                                                                                                              write_data(table2[i]);          
 458   7                                                                                                              }
 459   6                                                                                                              break;
 460   6                                                                                                              case 4:
 461   6                                                                                                              write_com(0x80+13);
 462   6                                                                                                              for(i=9;i<12;i++)
 463   6                                                                                                              {
 464   7                                                                                                              write_data(table2[i]);          
 465   7                                                                                                              }
 466   6                                                                                                              break;
 467   6                                                                                                          case 5:
 468   6                                                                                                              write_com(0x80+13);
 469   6                                                                                                              for(i=12;i<15;i++)
 470   6                                                                                                              {
 471   7                                                                                                              write_data(table2[i]);          
 472   7                                                                                                              }
 473   6                                                                                                              break;
 474   6                                                                                                               case 6:
 475   6                                                                                                              write_com(0x80+13);
 476   6                                                                                                              for(i=15;i<18;i++)
 477   6                                                                                                              {
 478   7                                                                                                              write_data(table2[i]);          
 479   7                                                                                                              }
 480   6                                                                                                              break;
 481   6                                                                                                               case 7:
 482   6                                                                                                              write_com(0x80+13);
 483   6                                                                                                              for(i=18;i<21;i++)
 484   6                                                                                                              {
 485   7                                                                                                              write_data(table2[i]);          
 486   7                                                                                                              }
 487   6                                                                                                              break;
 488   6                                                                                                      }
C51 COMPILER V8.02   时钟                                                                  11/19/2012 19:28:08 PAGE 9   

 489   5                                                                                                      if(ri==32)
 490   5                                                                                                      {
 491   6                                                                                                              ri=0;
 492   6                                                                                                              yue++;
 493   6                                                                                                              if(yue==13)
 494   6                                                                                                              {
 495   7                                                                                                                      yue=0;
 496   7                                                                                                                      nianhou++;
 497   7                                                                                                                      if(nianhou==100)
 498   7                                                                                                                      {
 499   8                                                                                                                              nianhou=0;
 500   8                                                                                                                              nianqian++;
 501   8                                                                                                                              if(nianqian==100)
 502   8                                                                                                                              {
 503   9                                                                                                                                   nianqian=0;
 504   9                                                                                                                                       nianhou=0;
 505   9                                                                                                                                       yue=0;
 506   9                                                                                                                                       ri=0;
 507   9                                                                                                                                       shi1=0;
 508   9                                                                                                                                       fen=0;
 509   9                                                                                                                                       miao=0;
 510   9                                                                                                                                      write_com(0x80+13);
 511   9                                                                                                                                      for(i=0;i<3;i++)
 512   9                                                                                                                                      {
 513  10                                                                                                                                      write_data(table2[i]);          
 514  10                                                                                                                                      }
 515   9                                                                                                                              }
 516   8                                                                                                              write_wang2(0,nianqian);        
 517   8                                                                                                                      }
 518   7                                                                                                                      write_wang2(2,nianhou);         
 519   7                                                                                                              }
 520   6                                                                                                              write_wang1(5,yue);
 521   6                                                                                                      }
 522   5                                                                                                              write_wang1(8,ri);
 523   5                                                                                              }
 524   4                                                                               write_wang(0,shi1);
 525   4                                      }                                        
 526   3                                      write_wang(3,fen);
 527   3              }
 528   2              write_wang(6,miao);
 529   2      }               
 530   1      }
 531          void main()
 532          {       
 533   1          EA=1;
 534   1              ET0=1;
 535   1              TMOD=0X01;
 536   1              TH0=(65536-50000)/256;
 537   1              TL0=(65536-50000)%256;  
 538   1              init();
 539   1              duxianshi();
 540   1              num=0;
 541   1              TR0=1;  
 542   1                      while(1)
 543   1                      {       
 544   2      
 545   2                              shijian();
 546   2                              keycan();
 547   2      }
 548   1      }
 549          void T0_time()interrupt 1
 550          {
C51 COMPILER V8.02   时钟                                                                  11/19/2012 19:28:08 PAGE 10  

 551   1              TH0=(65536-50000)/256;
 552   1              TL0=(65536-50000)%256;
 553   1              num++;
 554   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1481    ----
   CONSTANT SIZE    =     42    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14       1
   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 + -