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

📄 sz.lst

📁 1302专用时钟芯片 1602 LCD 显示
💻 LST
📖 第 1 页 / 共 3 页
字号:
 403   2      //-----------------以下是分钟
 404   2      
 405   2              while(sure)  //直到 确认 键再次被按下时  才退出
 406   2                              {
 407   3                                      if(up==0)
 408   3                                      {
 409   4                                      while(!up);     delayMs (40);                   
 410   4                                      mid[1]++;
 411   4                                      if((mid[1]&0x0f)>9){mid[1]=mid[1]+6;}
 412   4                                   if(mid[1]>=0x60){mid[1]=0;}
 413   4                                      v_Set1302(mid); xianshi();
 414   4                                  }
 415   3                                      if(down==0)
 416   3                                      {while(!down);          delayMs (40);   
 417   4                                              if((mid[1]==0x00)){mid[1]=0x59;}                
 418   4                              else {  mid[1]--;       }
 419   4      
 420   4                                      if((mid[1]&0x0f)==0x0f){mid[1]=mid[1]-6;}
 421   4                              
 422   4      
 423   4                                      v_Set1302(mid); xianshi();}
 424   3                              }
C51 COMPILER V8.02   SZ                                                                    04/29/2008 22:19:33 PAGE 8   

 425   2                 while(!sure); 
 426   2      
 427   2              delayMs (80);
 428   2      //-----------------以下是秒
 429   2      
 430   2              while(sure)  //直到 确认 键再次被按下时  才退出
 431   2                              {
 432   3                                      if(up==0)
 433   3                                      {
 434   4                                      while(!up);     delayMs (40);                   
 435   4                                      mid[0]++;
 436   4                                      if((mid[0]&0x0f)>9){mid[0]=mid[0]+6;}
 437   4                                   if(mid[0]>=0x60){mid[0]=0;}
 438   4                                      v_Set1302(mid); xianshi();
 439   4                                  }
 440   3                                      if(down==0)
 441   3                                      {while(!down);                  delayMs (40);   
 442   4                                              if((mid[0]==0)){mid[0]=0x59;}   
 443   4                                      else {mid[0]--;   }
 444   4      
 445   4                                      if((mid[0]&0x0f)==0x0f){mid[0]=mid[1]-6;}
 446   4                              
 447   4      
 448   4                                      v_Set1302(mid); xianshi();}
 449   3                              }
 450   2                 while(!sure);        delayMs (80);
 451   2      
 452   2      //-----------------以下是闹钟
 453   2                              while(sure)  //直到 确认 键再次被按下时  才退出
 454   2                              {
 455   3                                      if(up==0)
 456   3                                      {
 457   4                                      while(!up);     delayMs (40);                   
 458   4                                      nshi++;                          ///   时 十位
 459   4                                      if(nshi>=24){nshi=0;}
 460   4      
 461   4                                         nshishi_1=nshi/10;
 462   4                                         nshige_1=nshi%10;
 463   4                      
 464   4                                              xianshi();
 465   4                                  }
 466   3      
 467   3                                      if(down==0)
 468   3                                      {while(!down);                  delayMs (40);   
 469   4                              if(nshi==0) {nshi=23;}          
 470   4                                      else {nshi--;}                          
 471   4                              nshishi_1=nshi/10;
 472   4                                       nshige_1=nshi%10;
 473   4                                xianshi();}
 474   3                              }
 475   2                 while(!sure);        delayMs (80);
 476   2      
 477   2      
 478   2      
 479   2      
 480   2      
 481   2      //-----------------以下是闹钟分钟 
 482   2      
 483   2      
 484   2      
 485   2                              while(sure)  //直到 确认 键再次被按下时  才退出
 486   2                              {
C51 COMPILER V8.02   SZ                                                                    04/29/2008 22:19:33 PAGE 9   

 487   3                                      if(up==0)
 488   3                                      {
 489   4                                      while(!up);     delayMs (40);                   
 490   4                                      nfen++;
 491   4                                      if(nfenshi>=60){nfenshi=0;}
 492   4                                       nfenshi_1=nfen/10;
 493   4                                       nfenge_1=nfen%10;
 494   4                              //      v_Set1302(mid); 
 495   4                              xianshi();
 496   4                                  }
 497   3      
 498   3                                      if(down==0)
 499   3                                      {
 500   4                                      while(!down);           delayMs (40);   
 501   4                                      if(nfen==0){    nfen=59;}       
 502   4                                      else {nfen--;}
 503   4                                       nfenshi_1=nfen/10;
 504   4                                       nfenge_1=nfen%10;              
 505   4                              //      v_Set1302(mid); 
 506   4                              xianshi();}
 507   3                              }
 508   2                 while(!sure);        delayMs (80);
 509   2      
 510   2      
 511   2      
 512   2      
 513   2                      }
 514   1      }
 515          void xianshi()
 516           {  
 517   1          uchar m ;//定义变量
 518   1      
 519   1          P0=0xFF ;                      //置P0口
 520   1          P2=0xFF ;                    //置P2口  
 521   1      
 522   1      
 523   1          v_Get1302(mid); 
 524   1                week=   mid[5]+0x30;
 525   1       
 526   1      
 527   1      
 528   1              
 529   1                miaoge=(mid[0]&0x0f)+0x30; //--------------------------秒
 530   1            miaoshi=(mid[0]>>4)+0x30; //------------------------------
 531   1      
 532   1                fenge=(mid[1]&0x0f)+0x30;//----------------------------分
 533   1            fenshi=(mid[1]>>4)+0x30;//-----------------------------
 534   1      
 535   1            shige=(mid[2]&0x0f)+0x30;//----------------------------时
 536   1            shishi=(mid[2]>>4)+0x30;//-----------------------------
 537   1          
 538   1            rige=(mid[3]&0x0f)+0x30;//-----------------------------日
 539   1            rishi=(mid[3]>>4)+0x30;//-----------------------------
 540   1      
 541   1            yuege=(mid[4]&0x0f)+0x30;//----------------------------月
 542   1            yueshi=(mid[4]>>4)+0x30;//-----------------------------
 543   1      
 544   1      
 545   1                
 546   1            niange=(mid[6]&0x0f)+0x30;//---------------------------年
 547   1            nianshi=(mid[6]>>4)+0x30;//-----------------------------
 548   1                
C51 COMPILER V8.02   SZ                                                                    04/29/2008 22:19:33 PAGE 10  

 549   1                nshishi=nshishi_1+0x30;
 550   1        nshige=nshige_1+0x30;
 551   1        nfenshi=nfenshi_1+0x30;
 552   1              nfenge=nfenge_1+0x30;
 553   1      
 554   1          lcd_init() ;                    //初始化LCD     
 555   1               
 556   1              
 557   1          
 558   1          lcd_pos(0) ;                   //设置显示位置为第一行的第1个字符
 559   1          
 560   1           m = 0 ;
 561   1          for(m;m<16;m++)      //遇到字符'\0'结束循环,即字符串读取完毕
 562   1           {                                    //显示字符
 563   2             lcd_wdat(xian0[m]) ;
 564   2            }           
 565   1          lcd_pos(0x40) ;                //设置显示位置为第二行第1个字符
 566   1           m = 0 ;
 567   1          for(m;m<16;m++)      //遇到字符'\0'结束循环,即字符串读取完毕
 568   1           {                                    //显示字符
 569   2             lcd_wdat(xian2[m]) ;     
 570   2           }      
 571   1         
 572   1      
 573   1      
 574   1        }  
 575           
 576          
 577          void main()
 578          { 
 579   1          int i; 
 580   1      
 581   1              v_Set1302(mid);
 582   1      
 583   1              while(1)
 584   1              {                        
 585   2           for(i=100;i>0;i--) {scan();}       
 586   2              if( xian2[0]==xian2[11]&&xian2[1]==xian2[12]&&xian2[3]==xian2[14]&& xian2[4]==xian2[15]){DQ=0;}
 587   2              else DQ=1;
 588   2              xianshi();
 589   2              }
 590   1      
 591   1      }
 592          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1517    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     65       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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