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

📄 disp_task.lst

📁 一个可作为mp3播放器固件的代码集,包括解码,播放,控制,任务管理等.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 313          
 314          
 315          /*F**************************************************************************
 316          * NAME: disp_name_stop 
 317          *----------------------------------------------------------------------------
 318          * PARAMS:
 319          *
 320          * return:
 321          *----------------------------------------------------------------------------
 322          * PURPOSE:
 323          *   Suspend name display
 324          *----------------------------------------------------------------------------
 325          * EXAMPLE:
 326          *----------------------------------------------------------------------------
 327          * NOTE:
 328          *----------------------------------------------------------------------------
 329          * REQUIREMENTS:
 330          *****************************************************************************/
 331          void disp_name_stop (void)
 332          {
 333   1        disp_state = DISP_IDLE;
 334   1      }
 335          
 336          
 337          /*F**************************************************************************
 338          * NAME: disp_clock_reset
 339          *----------------------------------------------------------------------------
 340          * PARAMS:
 341          *
 342          * return:
 343          *----------------------------------------------------------------------------
 344          * PURPOSE:
 345          *   Reset chrono to 0:00
 346          *----------------------------------------------------------------------------
 347          * EXAMPLE:
 348          *----------------------------------------------------------------------------
 349          * NOTE:
 350          *----------------------------------------------------------------------------
 351          * REQUIREMENTS:
 352          *****************************************************************************/
 353          void disp_clock_reset (void)
 354          {
 355   1      #if CONF_DISPLAY == LED
 356   1        LED_VOL   = 0;
 357   1        LED_BASS  = 0;
 358   1        LED_MED   = 0; 
 359   1        LED_TREEB = 0;
 360   1      #endif
 361   1        disp_clock_on = FALSE;
 362   1        disp_sec_cpt = 0;
 363   1        disp_min_cpt = 0;
 364   1        print_time(0, 0);                         /* display 0:00 */
C51 COMPILER V7.50   DISP_TASK                                                             09/20/2005 21:47:45 PAGE 7   

 365   1      #if CONF_DISPLAY == LCD
                disp_state = DISP_INIT;                   /* reset task */
              #endif
 368   1      }
 369          
 370          
 371          
 372          /*F**************************************************************************
 373          * NAME: disp_clock_start 
 374          *----------------------------------------------------------------------------
 375          * PARAMS:
 376          *
 377          * return:
 378          *----------------------------------------------------------------------------
 379          * PURPOSE:
 380          *   Start or re-start clock display
 381          *----------------------------------------------------------------------------
 382          * EXAMPLE:
 383          *----------------------------------------------------------------------------
 384          * NOTE:
 385          *----------------------------------------------------------------------------
 386          * REQUIREMENTS:
 387          *****************************************************************************/
 388          void disp_clock_start (void)
 389          {
 390   1        disp_clock_on = TRUE;
 391   1      }
 392          
 393          
 394          /*F**************************************************************************
 395          * NAME: disp_clock_stop 
 396          *----------------------------------------------------------------------------
 397          * PARAMS:
 398          *
 399          * return:
 400          *----------------------------------------------------------------------------
 401          * PURPOSE:
 402          *   Suspend clock display
 403          *----------------------------------------------------------------------------
 404          * EXAMPLE:
 405          *----------------------------------------------------------------------------
 406          * NOTE:
 407          *----------------------------------------------------------------------------
 408          * REQUIREMENTS:
 409          *****************************************************************************/
 410          void disp_clock_stop (void)
 411          {
 412   1        disp_clock_on = FALSE;
 413   1      }
 414          
 415          
 416          /*F**************************************************************************
 417          * NAME: disp_get_min 
 418          *----------------------------------------------------------------------------
 419          * PARAMS:
 420          *
 421          * return:
 422          *   minutes
 423          *----------------------------------------------------------------------------
 424          * PURPOSE: 
 425          *   Return minutes of current time
 426          *----------------------------------------------------------------------------
C51 COMPILER V7.50   DISP_TASK                                                             09/20/2005 21:47:45 PAGE 8   

 427          * EXAMPLE:
 428          *----------------------------------------------------------------------------
 429          * NOTE:
 430          *----------------------------------------------------------------------------
 431          * REQUIREMENTS:
 432          *****************************************************************************/
 433          Byte disp_get_min (void)
 434          {
 435   1        return disp_min_cpt;
 436   1      }
 437          
 438          
 439          /*F**************************************************************************
 440          * NAME: disp_get_sec 
 441          *----------------------------------------------------------------------------
 442          * PARAMS:
 443          *
 444          * return:
 445          *   seconds
 446          *----------------------------------------------------------------------------
 447          * PURPOSE: 
 448          *   Return seconds of current time
 449          *----------------------------------------------------------------------------
 450          * EXAMPLE:
 451          *----------------------------------------------------------------------------
 452          * NOTE:
 453          *----------------------------------------------------------------------------
 454          * REQUIREMENTS:
 455          *****************************************************************************/
 456          Byte disp_get_sec (void)
 457          {
 458   1        return disp_sec_cpt;
 459   1      }
 460          
 461          
 462          
 463          /*F**************************************************************************
 464          * NAME: disp_save_time 
 465          *----------------------------------------------------------------------------
 466          * PARAMS:
 467          *
 468          * return:
 469          *   seconds
 470          *----------------------------------------------------------------------------
 471          * PURPOSE: 
 472          *   Save time info in local variables
 473          *----------------------------------------------------------------------------
 474          * EXAMPLE:
 475          *----------------------------------------------------------------------------
 476          * NOTE:
 477          *----------------------------------------------------------------------------
 478          * REQUIREMENTS:
 479          *****************************************************************************/
 480          void disp_save_time (void)
 481          {
 482   1      #if CONF_DISPLAY == LCD
                gl_cpt_tick_save = gl_cpt_tick;
                disp_sec_cpt_save = disp_sec_cpt;
                disp_min_cpt_save = disp_min_cpt;
              #endif
 487   1      }
 488          
C51 COMPILER V7.50   DISP_TASK                                                             09/20/2005 21:47:45 PAGE 9   

 489          
 490          /*F**************************************************************************
 491          * NAME: disp_recall_time 
 492          *----------------------------------------------------------------------------
 493          * PARAMS:
 494          *
 495          * return:
 496          *   seconds
 497          *----------------------------------------------------------------------------
 498          * PURPOSE: 
 499          *   Reset time with local variables value
 500          *----------------------------------------------------------------------------
 501          * EXAMPLE:
 502          *----------------------------------------------------------------------------
 503          * NOTE:
 504          *----------------------------------------------------------------------------
 505          * REQUIREMENTS:
 506          *****************************************************************************/
 507          void disp_recall_time(void)
 508          {
 509   1      #if CONF_DISPLAY == LCD
                gl_cpt_tick = gl_cpt_tick_save;
                disp_sec_cpt = disp_sec_cpt_save;
                disp_min_cpt = disp_min_cpt_save;
                /* Refresh second and minute display */
                print_sec(disp_sec_cpt);
                print_min(disp_min_cpt);
              #endif
 517   1      }
 518          
 519          
 520          /*F**************************************************************************
 521          * NAME: disp_inc_time 
 522          *----------------------------------------------------------------------------
 523          * PARAMS:
 524          *  Byte second
 525          * return:
 526          *   
 527          *----------------------------------------------------------------------------
 528          * PURPOSE: 
 529          *   increase time with second value
 530          *----------------------------------------------------------------------------
 531          * EXAMPLE:
 532          *----------------------------------------------------------------------------
 533          * NOTE:
 534          *----------------------------------------------------------------------------
 535          * REQUIREMENTS:
 536          *****************************************************************************/
 537          void disp_inc_time(Byte second)
 538          {
 539   1      #if CONF_DISPLAY == LCD
                disp_sec_cpt += second;
                if (disp_sec_cpt >= DISP_SEC_MIN)     /* 1 min expiration */
                {
                  disp_sec_cpt = disp_sec_cpt - DISP_SEC_MIN;
                  disp_min_cpt++;
                  print_min(disp_min_cpt);
                }
                print_sec(disp_sec_cpt);
              #else
 549   1        disp_sec_cpt += second;
 550   1        if (disp_sec_cpt >= DISP_SEC_MIN)     /* 1 min expiration */
C51 COMPILER V7.50   DISP_TASK                                                             09/20/2005 21:47:45 PAGE 10  

 551   1        {
 552   2          disp_sec_cpt = disp_sec_cpt - DISP_SEC_MIN;
 553   2          disp_min_cpt++;
 554   2      }
 555   1      #endif
 556   1      }
 557          
 558          
 559          /*F**************************************************************************
 560          * NAME: disp_dec_time 
 561          *----------------------------------------------------------------------------
 562          * PARAMS:
 563          *  Byte second
 564          * return:
 565          *   
 566          *----------------------------------------------------------------------------
 567          * PURPOSE: 
 568          *   decrease time with second value
 569          *----------------------------------------------------------------------------
 570          * EXAMPLE:
 571          *----------------------------------------------------------------------------
 572          * NOTE:
 573          *----------------------------------------------------------------------------
 574          * REQUIREMENTS:
 575          *****************************************************************************/
 576          void disp_dec_time(Byte second)
 577          {
 578   1      #if CONF_DISPLAY == LCD
                if (disp_sec_cpt <= second)
                {
                  if (disp_min_cpt == 0)
                  {
                    disp_sec_cpt = 0;
                    print_sec(disp_sec_cpt);
                  }
                  else
                  {
                    disp_sec_cpt = DISP_SEC_MIN + disp_sec_cpt - second;
                    disp_min_cpt--;
                    print_min(disp_min_cpt);
                    print_sec(disp_sec_cpt);
                  }
                }
                else
                {
                  disp_sec_cpt-=second;
                  print_sec(disp_sec_cpt);
                }
              #else
 600   1        if (disp_sec_cpt <= second)
 601   1        {
 602   2          if (disp_min_cpt == 0)
 603   2          {
 604   3            disp_sec_cpt = 0;
 605   3          }
 606   2          else
 607   2          {
 608   3            disp_sec_cpt = DISP_SEC_MIN + disp_sec_cpt - second;
 609   3            disp_min_cpt--;
 610   3          }
 611   2        }
 612   1        else
C51 COMPILER V7.50   DISP_TASK                                                             09/20/2005 21:47:45 PAGE 11  

 613   1        {
 614   2          disp_sec_cpt-=second;
 615   2        }
 616   1      
 617   1      #endif
 618   1      }
 619          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    336    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      3    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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