📄 disp_task.lst
字号:
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 + -