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

📄 dzz_thesamea.lst

📁 单片机控制下的电子钟实验程序。适用于初学者。
💻 LST
📖 第 1 页 / 共 3 页
字号:
 239   4                                      if(num_minig==10)
 240   4                                              num_minig=0;
 241   4                              }
C51 COMPILER V8.05a   DZZ_THESAMEA                                                         09/13/2008 20:03:56 PAGE 5   

 242   3                              while(!s3);
 243   3                              umost=16;
 244   3                      }       
 245   2                      if(s2==0)
 246   2                      {
 247   3                              delay(10);
 248   3                              if(s2==0)
 249   3                                      yes=1;  
 250   3                      }       
 251   2                      while(!s2);
 252   2                      if((umost==0)|yes)
 253   2                      {
 254   3                              yes=0;
 255   3                              break;
 256   3                      }                       
 257   2              }
 258   1      }
 259          
 260          void settime_minis()    //分十位时间调整函数  
 261          {
 262   1              uchar umost=16;
 263   1              while(1)
 264   1              {
 265   2                      umost--;
 266   2                      for(i=0;i<185;i++)
 267   2                      {       
 268   3                              display_ss(3);
 269   3                      }
 270   2                      for(i=0;i<185;i++)
 271   2                      {
 272   3                              display_wait2();
 273   3                      }
 274   2                      if(s3==0)
 275   2                      {
 276   3                              delay(10);
 277   3                              if(s3==0)
 278   3                              {
 279   4                                      num_minis++;
 280   4                                      if(num_minis==6)
 281   4                                              num_minis=0;
 282   4                              }
 283   3                              while(!s3);
 284   3                              umost=16;
 285   3                      }       
 286   2                      if(s2==0)
 287   2                      {
 288   3                              delay(10);
 289   3                              if(s2==0)
 290   3                                      yes=1;  
 291   3                      }       
 292   2                      while(!s2);
 293   2                      if((umost==0)|yes)
 294   2                      {
 295   3                              yes=0;
 296   3                              break;
 297   3                      }                       
 298   2              }
 299   1      }
 300          
 301          void settime_hourg()            //小时个位时间调整函数  
 302          {
 303   1              uchar umost=16;
C51 COMPILER V8.05a   DZZ_THESAMEA                                                         09/13/2008 20:03:56 PAGE 6   

 304   1              while(1)
 305   1              {
 306   2                      umost--;
 307   2                      for(i=0;i<185;i++)
 308   2                      {
 309   3                              display_ss(1);
 310   3                      }
 311   2                      for(i=0;i<185;i++)
 312   2                      {
 313   3                              display_wait2();
 314   3                      }
 315   2                      if(s3==0)
 316   2                      {
 317   3                              delay(10);
 318   3                              if(s3==0)
 319   3                              {
 320   4                                      num_hourg++;
 321   4                                      if(num_hourg==10)
 322   4                                              num_hourg=0;
 323   4                              }
 324   3                              while(!s3);
 325   3                              umost=16;
 326   3                      }       
 327   2                      if(s2==0)
 328   2                      {
 329   3                              delay(10);
 330   3                              if(s2==0)
 331   3                                      yes=1;  
 332   3                      }       
 333   2                      while(!s2);
 334   2                      if((umost==0)|yes)
 335   2                      {
 336   3                              yes=0;
 337   3                              break;
 338   3                      }                       
 339   2              }
 340   1      }
 341          
 342          void settime_hours()            //小时十位时间调整函数  
 343          {
 344   1              uchar umost=16;
 345   1              while(1)
 346   1              {
 347   2                      umost--;
 348   2                      for(i=0;i<185;i++)
 349   2                      {
 350   3                              display_ss(0);
 351   3                      }
 352   2                      for(i=0;i<185;i++)
 353   2                      {
 354   3                              display_wait2();
 355   3                      }
 356   2                      if(s3==0)
 357   2                      {
 358   3                              delay(10);
 359   3                              if(s3==0)
 360   3                              {
 361   4                                      num_hours++;
 362   4                                      if(num_hours==3)
 363   4                                              num_hours=0;
 364   4                              }
 365   3                              while(!s3);
C51 COMPILER V8.05a   DZZ_THESAMEA                                                         09/13/2008 20:03:56 PAGE 7   

 366   3                              umost=16;
 367   3                      }       
 368   2                      if(s2==0)
 369   2                      {
 370   3                              delay(10);
 371   3                              if(s2==0)
 372   3                                      yes=1;  
 373   3                      }       
 374   2                      while(!s2);
 375   2                      if((umost==0)|yes)
 376   2                      {
 377   3                              yes=0;
 378   3                              flag=1;
 379   3                              temp=1;
 380   3                              break;
 381   3                      }                       
 382   2              }
 383   1      }
 384          
 385          void settime()          //时间设置子函数 
 386          {
 387   1              if(s2==0)
 388   1              {       
 389   2                      delay(10);
 390   2                      if(s2==0)
 391   2                      num_key=1;
 392   2                      key_flag=1;
 393   2                      //while(!s2);   //waiting for relase
 394   2              }                                       //工程应用中这种等待的方式一般是不允许的  
 395   1              if(key_flag==1)         //如果有声音的话,因为,执行while(!s2)语音因为CPUb不能执行而中断了   
 396   1              {                                       //本程序中所有的whlie(!s2)或while(!s3)都必须改正  
 397   2                      if(s2==1)
 398   2                      {
 399   3                              delay(10);
 400   3                              if(s2==1)       
 401   3                              {       
 402   4                                      key_flag=0;
 403   4                                      switch(num_key)
 404   4                                      {
 405   5                                              case 1: settime_minig();
 406   5                                              case 2: settime_minis();
 407   5                                              case 3: settime_hourg();
 408   5                                              case 4: settime_hours();
 409   5                                      }
 410   4                              }
 411   3                      }
 412   2              }
 413   1      }
 414          
 415          void setclock() //闹钟的设定 ,连击键的问题如何使用?  
 416          {
 417   1              if(s3==0)
 418   1              {
 419   2                      delay(10);
 420   2                      if(s3==0)
 421   2                      pres=1;
 422   2                      while(!s3);
 423   2                      
 424   2                      while(1)
 425   2                      {       
 426   3                              upmost1--;
 427   3                              displayclock(num_hoursclock,num_hourgclock,num_minisclock,num_minigclock);
C51 COMPILER V8.05a   DZZ_THESAMEA                                                         09/13/2008 20:03:56 PAGE 8   

 428   3                              if(s3==0)
 429   3                              {
 430   4                                      delay(10);
 431   4                                      if(s3==0)
 432   4                                      yes=1;  
 433   4                              }       
 434   3                              while(!s3);
 435   3                              if(upmost1==0|yes==1)
 436   3                              {
 437   4                                      upmost1=500;
 438   4                                      yes=0;
 439   4                                      break;
 440   4                              }
 441   3                      }
 442   2      
 443   2                      switch(pres)
 444   2                      {
 445   3                              case 1: while(1)
 446   3                                              {
 447   4                                                      upmost2--;
 448   4                                                      //statedisplay(num_minigclock,0xef);
 449   4                                                      statedisplay(num_minigclock,0x10);
 450   4                                                      if(s2==0)
 451   4                                                      {
 452   5                                                              delay(10);
 453   5                                                              if(s2==0)
 454   5                                                              {
 455   6                                                                      num_minigclock++;
 456   6                                                                      if(num_minigclock==10)
 457   6                                                                              num_minigclock=0;
 458   6                                                              }
 459   5                                                              while(!s2);
 460   5                                                              upmost2=50000;
 461   5                                                      }
 462   4                                                      if(s3==0)
 463   4                                                      {
 464   5                                                              delay(10);
 465   5                                                              if(s3==0)
 466   5                                                              yes=1;  
 467   5                                                      }       
 468   4                                                      while(!s3);
 469   4                                                      if(upmost2==0|yes==1)
 470   4                                                      {
 471   5                                                              upmost2=50000;
 472   5                                                              yes=0;
 473   5                                                              break;
 474   5                                                      }
 475   4                                              }
 476   3                              case 2:  while(1)
 477   3                                              {
 478   4                                                      upmost2--;
 479   4                                                      //statedisplay(num_minisclock,0xf7);
 480   4                                                      statedisplay(num_minisclock,0x08);
 481   4                                                      if(s2==0)
 482   4                                                      {
 483   5                                                              delay(10);

⌨️ 快捷键说明

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