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

📄 disp_task.lst

📁 本人at89c51snd1c主控IC增加了128*32点阵驱动显示
💻 LST
📖 第 1 页 / 共 2 页
字号:
 318   1      
 319   1        disp_state = DISP_IDLE;
 320   1      }
 321          #endif
 322          
 323          
 324          /*F**************************************************************************
 325          * NAME: disp_name_stop 
 326          *----------------------------------------------------------------------------
 327          * PARAMS:
 328          *
 329          * return:
 330          *----------------------------------------------------------------------------
 331          * PURPOSE:
 332          *   Suspend name display
 333          *----------------------------------------------------------------------------
 334          * EXAMPLE:
 335          *----------------------------------------------------------------------------
 336          * NOTE:
 337          *----------------------------------------------------------------------------
 338          * REQUIREMENTS:
 339          *****************************************************************************/
 340          void disp_name_stop (void)
 341          {
 342   1        disp_state = DISP_IDLE;
 343   1      }
 344          
 345          
 346          /*F**************************************************************************
 347          * NAME: disp_clock_reset
 348          *----------------------------------------------------------------------------
 349          * PARAMS:
 350          *
 351          * return:
 352          *----------------------------------------------------------------------------
 353          * PURPOSE:
 354          *   Reset chrono to 0:00
 355          *----------------------------------------------------------------------------
 356          * EXAMPLE:
 357          *----------------------------------------------------------------------------
 358          * NOTE:
 359          *----------------------------------------------------------------------------
 360          * REQUIREMENTS:
 361          *****************************************************************************/
 362          void disp_clock_reset (void)
 363          {
 364   1      #if CONF_DISPLAY == LED
C51 COMPILER V7.20   DISP_TASK                                                             03/24/2007 10:02:39 PAGE 7   

 365   1        LED_VOL   = 0;
 366   1        LED_BASS  = 0;
 367   1        LED_MED   = 0; 
 368   1        LED_TREEB = 0;
 369   1      #endif
 370   1        disp_clock_on = FALSE;
 371   1        disp_sec_cpt = 0;
 372   1        disp_min_cpt = 0;
 373   1        print_time(0, 0);                         /* display 0:00 */
 374   1      #if CONF_DISPLAY == LCD
                disp_state = DISP_INIT;                   /* reset task */
              #endif
 377   1      }
 378          
 379          
 380          
 381          /*F**************************************************************************
 382          * NAME: disp_clock_start 
 383          *----------------------------------------------------------------------------
 384          * PARAMS:
 385          *
 386          * return:
 387          *----------------------------------------------------------------------------
 388          * PURPOSE:
 389          *   Start or re-start clock display
 390          *----------------------------------------------------------------------------
 391          * EXAMPLE:
 392          *----------------------------------------------------------------------------
 393          * NOTE:
 394          *----------------------------------------------------------------------------
 395          * REQUIREMENTS:
 396          *****************************************************************************/
 397          void disp_clock_start (void)
 398          {
 399   1        disp_clock_on = TRUE;
 400   1      }
 401          
 402          
 403          /*F**************************************************************************
 404          * NAME: disp_clock_stop 
 405          *----------------------------------------------------------------------------
 406          * PARAMS:
 407          *
 408          * return:
 409          *----------------------------------------------------------------------------
 410          * PURPOSE:
 411          *   Suspend clock display
 412          *----------------------------------------------------------------------------
 413          * EXAMPLE:
 414          *----------------------------------------------------------------------------
 415          * NOTE:
 416          *----------------------------------------------------------------------------
 417          * REQUIREMENTS:
 418          *****************************************************************************/
 419          void disp_clock_stop (void)
 420          {
 421   1        disp_clock_on = FALSE;
 422   1      }
 423          
 424          
 425          /*F**************************************************************************
 426          * NAME: disp_get_min 
C51 COMPILER V7.20   DISP_TASK                                                             03/24/2007 10:02:39 PAGE 8   

 427          *----------------------------------------------------------------------------
 428          * PARAMS:
 429          *
 430          * return:
 431          *   minutes
 432          *----------------------------------------------------------------------------
 433          * PURPOSE: 
 434          *   Return minutes of current time
 435          *----------------------------------------------------------------------------
 436          * EXAMPLE:
 437          *----------------------------------------------------------------------------
 438          * NOTE:
 439          *----------------------------------------------------------------------------
 440          * REQUIREMENTS:
 441          *****************************************************************************/
 442          Byte disp_get_min (void)
 443          {
 444   1        return disp_min_cpt;
 445   1      }
 446          
 447          
 448          /*F**************************************************************************
 449          * NAME: disp_get_sec 
 450          *----------------------------------------------------------------------------
 451          * PARAMS:
 452          *
 453          * return:
 454          *   seconds
 455          *----------------------------------------------------------------------------
 456          * PURPOSE: 
 457          *   Return seconds of current time
 458          *----------------------------------------------------------------------------
 459          * EXAMPLE:
 460          *----------------------------------------------------------------------------
 461          * NOTE:
 462          *----------------------------------------------------------------------------
 463          * REQUIREMENTS:
 464          *****************************************************************************/
 465          Byte disp_get_sec (void)
 466          {
 467   1        return disp_sec_cpt;
 468   1      }
 469          
 470          
 471          
 472          /*F**************************************************************************
 473          * NAME: disp_save_time 
 474          *----------------------------------------------------------------------------
 475          * PARAMS:
 476          *
 477          * return:
 478          *   seconds
 479          *----------------------------------------------------------------------------
 480          * PURPOSE: 
 481          *   Save time info in local variables
 482          *----------------------------------------------------------------------------
 483          * EXAMPLE:
 484          *----------------------------------------------------------------------------
 485          * NOTE:
 486          *----------------------------------------------------------------------------
 487          * REQUIREMENTS:
 488          *****************************************************************************/
C51 COMPILER V7.20   DISP_TASK                                                             03/24/2007 10:02:39 PAGE 9   

 489          void disp_save_time (void)
 490          {
 491   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
 496   1      }
 497          
 498          
 499          /*F**************************************************************************
 500          * NAME: disp_recall_time 
 501          *----------------------------------------------------------------------------
 502          * PARAMS:
 503          *
 504          * return:
 505          *   seconds
 506          *----------------------------------------------------------------------------
 507          * PURPOSE: 
 508          *   Reset time with local variables value
 509          *----------------------------------------------------------------------------
 510          * EXAMPLE:
 511          *----------------------------------------------------------------------------
 512          * NOTE:
 513          *----------------------------------------------------------------------------
 514          * REQUIREMENTS:
 515          *****************************************************************************/
 516          void disp_recall_time(void)
 517          {
 518   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
 526   1      }
 527          
 528          
 529          /*F**************************************************************************
 530          * NAME: disp_inc_time 
 531          *----------------------------------------------------------------------------
 532          * PARAMS:
 533          *  Byte second
 534          * return:
 535          *   
 536          *----------------------------------------------------------------------------
 537          * PURPOSE: 
 538          *   increase time with second value
 539          *----------------------------------------------------------------------------
 540          * EXAMPLE:
 541          *----------------------------------------------------------------------------
 542          * NOTE:
 543          *----------------------------------------------------------------------------
 544          * REQUIREMENTS:
 545          *****************************************************************************/
 546          void disp_inc_time(Byte second)
 547          {
 548   1      #if CONF_DISPLAY == LCD
                disp_sec_cpt += second;
                if (disp_sec_cpt >= DISP_SEC_MIN)     /* 1 min expiration */
C51 COMPILER V7.20   DISP_TASK                                                             03/24/2007 10:02:39 PAGE 10  

                {
                  disp_sec_cpt = disp_sec_cpt - DISP_SEC_MIN;
                  disp_min_cpt++;
                  print_min(disp_min_cpt);
                }
                print_sec(disp_sec_cpt);
              #else
 558   1        disp_sec_cpt += second;
 559   1        if (disp_sec_cpt >= DISP_SEC_MIN)     /* 1 min expiration */
 560   1        {
 561   2          disp_sec_cpt = disp_sec_cpt - DISP_SEC_MIN;
 562   2          disp_min_cpt++;
 563   2      }
 564   1      #endif
 565   1      }
 566          
 567          
 568          /*F**************************************************************************
 569          * NAME: disp_dec_time 
 570          *----------------------------------------------------------------------------
 571          * PARAMS:
 572          *  Byte second
 573          * return:
 574          *   
 575          *----------------------------------------------------------------------------
 576          * PURPOSE: 
 577          *   decrease time with second value
 578          *----------------------------------------------------------------------------
 579          * EXAMPLE:
 580          *----------------------------------------------------------------------------
 581          * NOTE:
 582          *----------------------------------------------------------------------------
 583          * REQUIREMENTS:
 584          *****************************************************************************/
 585          void disp_dec_time(Byte second)
 586          {
 587   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
 609   1        if (disp_sec_cpt <= second)
 610   1        {
 611   2          if (disp_min_cpt == 0)
 612   2          {
C51 COMPILER V7.20   DISP_TASK                                                             03/24/2007 10:02:39 PAGE 11  

 613   3            disp_sec_cpt = 0;
 614   3          }
 615   2          else
 616   2          {
 617   3            disp_sec_cpt = DISP_SEC_MIN + disp_sec_cpt - second;
 618   3            disp_min_cpt--;
 619   3          }
 620   2        }
 621   1        else
 622   1        {
 623   2          disp_sec_cpt-=second;
 624   2        }
 625   1      
 626   1      #endif
 627   1      }
 628          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    377    ----
   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 + -