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

📄 key.lst

📁 nokia5110智能电子钟的设计ds1302+ds18b20+stc12c5a60s2
💻 LST
📖 第 1 页 / 共 2 页
字号:
             -rite_hanzi(4,0,10);
 252   2                      }
 253   1                      else if(menue==1)
 254   1                      {
 255   2                      LCD_write_hanzi(0,0,10);Delay1ms(120);LCD_write_hanzi(0,2,3);Delay1ms(120);LCD_write_hanzi(0,4,10);LCD_w
             -rite_hanzi(4,0,10);
 256   2                      }
 257   1                      else if(menue==2)
 258   1                      {
 259   2                      LCD_write_hanzi(0,2,10);Delay1ms(120);LCD_write_hanzi(0,4,3);Delay1ms(120);LCD_write_hanzi(0,0,10);LCD_w
             -rite_hanzi(4,0,10);
 260   2                      }
 261   1                      else if(menue==3) 
 262   1                      {LCD_write_hanzi(0,4,10);Delay1ms(120);LCD_write_hanzi(0,0,10);Delay1ms(120);LCD_write_hanzi(0,2,10);LCD
             -_write_hanzi(4,0,28);}
 263   1                      else
 264   1                      {
 265   2                      LCD_write_hanzi(0,4,10);Delay1ms(120);LCD_write_hanzi(0,0,3);Delay1ms(120);LCD_write_hanzi(0,2,10);LCD_w
             -rite_hanzi(4,0,10);
 266   2                      }
 267   1                      
 268   1      
 269   1                      for(function=0;function<2;function++)
 270   1                      {
 271   2                      LCD_write_hanzi(function+1,0,function+4);
 272   2                      LCD_write_hanzi(function+1,2,function+6);
 273   2                      LCD_write_hanzi(function+1,4,function+8);
 274   2                      }
 275   1      
 276   1                      if(set<2)
 277   1              {        
 278   2                      TR0 = 1;
 279   2                      if(TF0==1)
 280   2                      {
 281   3                              counter++;
 282   3                              TF0=0;
 283   3                      }
 284   2                      if(counter==100)
 285   2                      {
 286   3                              
 287   3                              counter=0;LCD_BLA=0;TR0 = 0;
 288   3                              if(menue==0)ok=1;
 289   3                      } 
 290   2          } 
 291   1      
 292   1      
 293   1      
 294   1      }
 295          /*闹钟程序      */
 296          
 297          
C51 COMPILER V9.00   KEY                                                                   07/01/2013 12:13:30 PAGE 6   

 298          
 299          void clock()
 300          {
 301   1      
 302   1              Read_RTC();//读取时钟;
 303   1              data_change();//时钟数据处理
 304   1              
 305   1      if(set==2)
 306   1      {       
 307   2              
 308   2      //              while(keyup==0||keydown==0);
 309   2                      {       
 310   3                      
 311   3                              minute+=key_flag;
 312   3                              if((key_flag<0)&(minute==0))minute=59;
 313   3                              if(minute>59)minute=0;
 314   3      
 315   3      
 316   3                              EA=0;//使用iap功能时关闭中断;
 317   3                              hour=R_EROM(1,2);//读闹钟小时数据;
 318   3                              week2=R_EROM(1,3);//读闹钟分数据;
 319   3                              C_EROM(1);
 320   3                              W_EROM(1,1,minute);     //写闹钟分数据;
 321   3                              W_EROM(1,2,hour); //写闹钟小时数据;
 322   3                              W_EROM(1,3,week2);//写闹钟星期数据;
 323   3                              EA=1;//不使用iap功能时打开中断;
 324   3                      }
 325   2        key_flag=0;
 326   2              
 327   2      }
 328   1      
 329   1      if(set==3)
 330   1      {               
 331   2      //         while(keyup==0||keydown==0);
 332   2                 {
 333   3                      hour=hour+key_flag;
 334   3                      if(hour>23)hour=0;
 335   3                      if((key_flag<0)&&(hour<0))hour=23;
 336   3      
 337   3                      }
 338   2                              EA=0;//使用iap功能时关闭中断 
 339   2                              minute=R_EROM(1,1);
 340   2                              week2=R_EROM(1,3);
 341   2                              C_EROM(1);
 342   2                              W_EROM(1,1,minute);
 343   2                              W_EROM(1,2,hour);
 344   2                              W_EROM(1,3,week2);
 345   2                          EA=1;//不使用iap功能时打开中断;
 346   2      
 347   2              key_flag=0;
 348   2      
 349   2      }
 350   1      if(set==4)
 351   1      {       
 352   2      //       while(keyup==0||keydown==0);
 353   2              
 354   2              {
 355   3              
 356   3                      week2=week2+key_flag;
 357   3                      if(week2>7)week2=1;
 358   3                      if((key_flag<0)&&(week2<1))week2=7;
 359   3      
C51 COMPILER V9.00   KEY                                                                   07/01/2013 12:13:30 PAGE 7   

 360   3              }
 361   2                              EA=0;//使用iap功能时关闭中断
 362   2                              minute=R_EROM(1,1);
 363   2                              hour=R_EROM(1,2);
 364   2                      
 365   2                              C_EROM(1);
 366   2                              W_EROM(1,1,minute);
 367   2                              W_EROM(1,2,hour);
 368   2                              W_EROM(1,3,week2);
 369   2                              EA=1;//不使用iap功能时打开中断;
 370   2      key_flag=0;     
 371   2      }       
 372   1      
 373   1      
 374   1      
 375   1      
 376   1      
 377   1                      EA=0;//使用iap功能时关闭中断
 378   1                  minute=R_EROM(1,1);
 379   1                      hour=R_EROM(1,2);
 380   1                      week2=R_EROM(1,3);
 381   1                      EA=1;//不使用iap功能时打开中断;
 382   1      
 383   1                clocktable[0]=minute/10;//分十位;
 384   1                clocktable[1]=minute%10;//分个位
 385   1                clocktable[2]=hour/10;  //时十位
 386   1                clocktable[3]=hour%10;  //时个位
 387   1                clocktable[4]=week2;    //星期;
 388   1      
 389   1      
 390   1              LCD_write_hanzi(2,0,28);
 391   1      
 392   1              LCD_write_shu(1,2,clocktable[2]);
 393   1              LCD_write_shu(2,2,clocktable[3]);//时
 394   1                      
 395   1              LCD_write_shu(3,2,64);
 396   1      
 397   1              LCD_write_shu(4,2,clocktable[0]);
 398   1              LCD_write_shu(5,2,clocktable[1]);//分;
 399   1      
 400   1      
 401   1              if(clocktable[4]==1)
 402   1              {
 403   2      
 404   2                      LCD_write_6x8shu(10,3,23);
 405   2                      LCD_write_6x8shu(11,3,25);
 406   2                      LCD_write_6x8shu(12,3,24);      
 407   2              }
 408   1              if(clocktable[4]==2)
 409   1              {
 410   2                      LCD_write_6x8shu(10,3,30);
 411   2                      LCD_write_6x8shu(11,3,31);
 412   2                      LCD_write_6x8shu(12,3,15);      
 413   2              }
 414   1      
 415   1              if(clocktable[4]==3)
 416   1              {
 417   2              
 418   2                      LCD_write_6x8shu(10,3,33);
 419   2                      LCD_write_6x8shu(11,3,15);
 420   2                      LCD_write_6x8shu(12,3,14);      
 421   2              }
C51 COMPILER V9.00   KEY                                                                   07/01/2013 12:13:30 PAGE 8   

 422   1      
 423   1              if(clocktable[4]==4)
 424   1              {
 425   2              
 426   2                      LCD_write_6x8shu(10,3,30);
 427   2                      LCD_write_6x8shu(11,3,18);
 428   2                      LCD_write_6x8shu(12,3,31);      
 429   2              }
 430   1      
 431   1              if(clocktable[4]==5)
 432   1              {
 433   2      
 434   2                      LCD_write_6x8shu(10,3,16);
 435   2                      LCD_write_6x8shu(11,3,28);
 436   2                      LCD_write_6x8shu(12,3,19);              
 437   2              }
 438   1      
 439   1              if(clocktable[4]==6)
 440   1              {
 441   2      
 442   2                      LCD_write_6x8shu(10,3,29);
 443   2                      LCD_write_6x8shu(11,3,11);
 444   2                      LCD_write_6x8shu(12,3,30);
 445   2              }
 446   1      
 447   1              if(week2==7)
 448   1              {
 449   2                      LCD_write_6x8shu(10,3,29);
 450   2                      LCD_write_6x8shu(11,3,31);
 451   2                      LCD_write_6x8shu(12,3,24);      
 452   2              }
 453   1      
 454   1      
 455   1      switch(set)
 456   1              {
 457   2              case 0: LCD_write_6x8shu(10,4,96);LCD_write_6x8shu(11,4,96);LCD_write_6x8shu(12,4,96);LCD_write_6x8shu(13
             -,4,96);break;
 458   2      
 459   2              case 1: LCD_write_6x8shu(10,4,96);LCD_write_6x8shu(11,4,96);LCD_write_6x8shu(12,4,96);LCD_write_6x8shu(13
             -,4,96);break;
 460   2      
 461   2              case 2: Delay100ms();LCD_write_shu(4,2,76);LCD_write_shu(5,2,76);Delay100ms();                   LCD_write_6x8shu(10,4,9
             -6);LCD_write_6x8shu(11,4,23);LCD_write_6x8shu(12,4,45);LCD_write_6x8shu(13,4,50);break;
 462   2      
 463   2              case 3: Delay100ms();LCD_write_shu(1,2,76);LCD_write_shu(2,2,76);Delay100ms();                  LCD_write_6x8shu(10,4,18
             -);LCD_write_6x8shu(11,4,51);LCD_write_6x8shu(12,4,57);LCD_write_6x8shu(13,4,54);break;
 464   2      
 465   2              case 4: Delay100ms();LCD_write_6x8shu(10,3,98);LCD_write_6x8shu(11,3,98);LCD_write_6x8shu(12,3,98);Delay1
             -00ms();                        LCD_write_6x8shu(10,4,33);LCD_write_6x8shu(11,4,41);LCD_write_6x8shu(12,4,41);LCD_write_6x8shu(13,4,47);break;
 466   2      
 467   2              default:LCD_write_6x8shu(10,4,96);LCD_write_6x8shu(11,4,96);LCD_write_6x8shu(12,4,96);LCD_write_6x8shu(13
             -,4,96);set=0;break;
 468   2              }
 469   1      
 470   1      
 471   1              
 472   1      
 473   1      }
 474          
 475          void checkclock()
 476          {
 477   1              key();
C51 COMPILER V9.00   KEY                                                                   07/01/2013 12:13:30 PAGE 9   

 478   1              if((hour==(l_tmpdisplay[6]*10+l_tmpdisplay[7]))&&(minute==(l_tmpdisplay[8]*10+l_tmpdisplay[9]))&&(week2==
             -l_tmpdisplay[12])&&(set==0))
 479   1              { beep=0;}
 480   1              else 
 481   1              beep=1;
 482   1      
 483   1      }
 484          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2223    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19       2
   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 + -