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

📄 dds.lst

📁 AT89S52的万年历程序源码
💻 LST
📖 第 1 页 / 共 3 页
字号:
 209   1                      if(flag==5)
 210   1                      {
 211   2                              flag=0;
 212   2                              page(sum);
 213   2                              while(flag!=6)
 214   2                              {
 215   3                                      detect();
 216   3                                      if(flag==1)
 217   3                                      {
 218   4                                              flag=0;
 219   4                                              if(sum<3)
 220   4                                              {
 221   5                                                      sum++;
 222   5                                              }
 223   4                                      }
 224   3                                      if(flag==2)
 225   3                                      {
 226   4                                              flag=0;
 227   4                          if(sum>0)
 228   4                                              {
 229   5                                              sum--;
 230   5                                              }
 231   4                                      
 232   4                                      }
 233   3                                      page(sum);
 234   3                              }
 235   2                      sum=0;
 236   2                      key=2;
 237   2                      }
 238   1      }
 239          
C51 COMPILER V7.06   DDS                                                                   04/21/2009 14:42:16 PAGE 5   

 240          void alamn()
 241          {
 242   1                              flag=0;
 243   1                              detect();
 244   1                              if(flag==5)
 245   1                              {
 246   2                                      flag=0;
 247   2                                      while(flag!=6)
 248   2                                      {                                       
 249   3                                              write_com(0x90+0x02);
 250   3                                              write_data(time[move[0]]);
 251   3                                              write_data(time[move[1]]);
 252   3                                              write_data(':');
 253   3                                              write_data(time[move[2]]);
 254   3                                              write_data(time[move[3]]);
 255   3                          write_com(0x8a);
 256   3                          if(alarmsign==1)
 257   3                          hzkdis("闹钟开");
 258   3                          else
 259   3                          hzkdis("闹钟关");
 260   3                                              detect();
 261   3                                              if(flag==1)
 262   3                                              {
 263   4                                                      flag=0;
 264   4                                                      move[1]=move[1]+1;
 265   4                                                      
 266   4                                                      if(move[1]==10)
 267   4                                                              {
 268   5                                                                      move[1]=0;
 269   5                                                                      move[0]=move[0]+1;
 270   5                                                              }
 271   4                                                      
 272   4                                                      if(move[0]==2)
 273   4                                                      {
 274   5                                                              if(move[1]==4)
 275   5                                                              {
 276   6                                                                      move[1]=0;
 277   6                                                                      move[0]=0;
 278   6                                                              }
 279   5                                                      }
 280   4                                                      ringgo[2]=move[0]<<4|move[1];
 281   4                                              }
 282   3                                              if(flag==2)
 283   3                                              {
 284   4                                                      flag=0;
 285   4                                                      move[3]=move[3]+1;
 286   4                                                      if(move[3]==10)
 287   4                                                      {
 288   5                                                              move[3]=0;
 289   5                                                              move[2]=move[2]+1;
 290   5                                                              if(move[2]==6)
 291   5                                                              {
 292   6                                                                      move[2]=0;
 293   6                                                              }
 294   5                                                      }
 295   4                                                      ringgo[1]=move[2]<<4|move[3];
 296   4                                              }
 297   3                                              if(flag==3)
 298   3                                              {
 299   4                                                  flag=0;
 300   4                                                      alarmsign=~alarmsign;
 301   4                                              }
C51 COMPILER V7.06   DDS                                                                   04/21/2009 14:42:16 PAGE 6   

 302   3                                              if(flag==5)
 303   3                                              {
 304   4                                                      set_ds1302(alamn_add,ringgo);//只要设定时和分,秒自动为零     
 305   4                                                      flag=6;
 306   4                                              }
 307   3                                              
 308   3                                      }
 309   2                                      key=3;
 310   2                              }
 311   1      }
 312          
 313          void time_set()
 314          {
 315   1                              unsigned char setsign=0;
 316   1                  flag=0;
 317   1                              detect();
 318   1                              if(flag==5)
 319   1                              {
 320   2                                      flag=0;
 321   2                                      while(flag!=6)
 322   2                                      {                                       
 323   3                                              
 324   3                                          write_com(0x90);
 325   3                                              write_data(time[set[0]/10]);
 326   3                                              write_data(time[set[0]%10]);
 327   3                                              hzkdis("年"); 
 328   3                                              write_data(time[set[1]/10]);
 329   3                                              write_data(time[set[1]%10]);
 330   3                                              hzkdis("月"); 
 331   3                                              write_data(time[set[2]/10]);
 332   3                                              write_data(time[set[2]%10]);
 333   3                                              hzkdis("日");  
 334   3                                          write_com(0x88);
 335   3                                              write_data(time[set[3]/10]);
 336   3                                              write_data(time[set[3]%10]);
 337   3                                              write_data(':');
 338   3                                              write_data(time[set[4]/10]);
 339   3                                              write_data(time[set[4]%10]);
 340   3                          write_data(':');
 341   3                                              write_data(time[set[5]/10]);
 342   3                                              write_data(time[set[5]%10]);
 343   3                                              detect();
 344   3                                              if(flag==1)
 345   3                                              {
 346   4                                                      flag=0;
 347   4                                                      set[setsign]=set[setsign]+1;
 348   4                                              }
 349   3                                              else if(flag==2)
 350   3                                              {
 351   4                                                      flag=0;
 352   4                                                      if(set[setsign]>0)
 353   4                              set[setsign]=set[setsign]-1;
 354   4                                              }
 355   3                          else if(flag==3)
 356   3                          {
 357   4                               flag=0;
 358   4                               setsign++;
 359   4                               if(setsign==6)
 360   4                               setsign=0;
 361   4                          }
 362   3                          else if(flag==4)
 363   3                          {
C51 COMPILER V7.06   DDS                                                                   04/21/2009 14:42:16 PAGE 7   

 364   4                               flag=0;
 365   4                               set[setsign]+=10;
 366   4                          }
 367   3                          else if(flag==5)
 368   3                                          {
 369   4                                              for(setsign=0;setsign<6;setsign++)
 370   4                                                      timego[5-setsign]=set[setsign]/10*16+set[setsign]%10;
 371   4                                                  set_ds1302(time_add,timego);
 372   4                              write_data_ds1302(0x8e,0x00);
 373   4                              write_data_ds1302(0x86,timego[3]);
 374   4                              write_data_ds1302(0x88,timego[4]);
 375   4                              write_data_ds1302(0x8c,timego[5]);
 376   4                              write_data_ds1302(0x8e,0x80);  
 377   4                                              flag=6;
 378   4                                      }
 379   3                          if(setsign==0)
 380   3                          {
 381   4                              if(set[setsign]>=100)
 382   4                              set[setsign]=0;
 383   4                          }
 384   3                          else if(setsign==1)
 385   3                          {
 386   4                              if(set[setsign]>12||set[setsign]<1)
 387   4                              set[setsign]=1;
 388   4                          }
 389   3                          else if(setsign==2)
 390   3                          {
 391   4                               if(set[0]%400==0||(set[0]%4==0&&set[0]%100!=0))
 392   4                               monthtab[1]=29;
 393   4                               if(set[setsign]>=monthtab[set[1]-1]||set[setsign]<1)
 394   4                               set[setsign]=1;
 395   4                          }
 396   3                                              else if(setsign==3)
 397   3                                              {
 398   4                                                  if(set[setsign]>=24)
 399   4                                                      set[setsign]=0;
 400   4                                              }
 401   3                          else
 402   3                          {
 403   4                               if(set[setsign]>=60)
 404   4                               set[setsign]=0;
 405   4                          }
 406   3                                              
 407   3                                      }
 408   2                                      key=0;  
 409   2                              }
 410   1      }
 411          
 412          void timeup()
 413          {       
 414   1              clrscreen();
 415   1              write_com(0x90);
 416   1              hzkdis(get_up);
 417   1              InitialSound();
 418   1              switch(ring_song)
 419   1              {
 420   2                      case 0:Play(tale,0,3,300);break;
 421   2                      case 1:Play(Love,0,3,340);break;
 422   2              }
 423   1              clrscreen();
 424   1      }
 425          
C51 COMPILER V7.06   DDS                                                                   04/21/2009 14:42:16 PAGE 8   

⌨️ 快捷键说明

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