📄 disp_task.c
字号:
/*C**************************************************************************
* NAME: disp_task.c
*----------------------------------------------------------------------------
* Copyright (c) 2006 Atmel.
*----------------------------------------------------------------------------
* RELEASE: C51 Sample
* REVISION: 1.00
*----------------------------------------------------------------------------
*
*****************************************************************************/
/*_____ I N C L U D E S ____________________________________________________*/
#include "system\reg51.h"
#include "system\compiler.h"
#include "system\config.h"
#include "driver\io_def.h"
#include "disp_task.h" /* displayer task definition */
#if CONF_DISPLAY == HT1621
#include "driver\ht1621_drv.h" /* ht1621 driver definition */
#endif
/*_____ M A C R O S ________________________________________________________*/
/*_____ D E F I N I T I O N ________________________________________________*/
/*F**************************************************************************
* NAME: disp_task_init
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
* Display task initialization
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void disp_task_init (void)
{
ht1621_init();
HT1621_command(HT1621_COMBIAS);
HT1621_command(HT1621_RC);
HT1621_command(HT1621_TIMER);
HT1621_command(HT1621_SYSEN);
HT1621_command(HT1621_ON);
glht1621_sec(45); /* 防止出错,无意义的调用 */
glht1621_min(20); /* 防止出错,无意义的调用 */
glht1621_TRACK(20); /* 防止出错,无意义的调用 */
glht1621_volume(); /* 防止出错,无意义的调用 */
glht1621_rec(); /* 防止出错,无意义的调用 */
glht1621_stop(); /* 防止出错,无意义的调用 */
ht1621_cls();
#if disp_version == E_DispVer
glht1621_TRACK(6); /* 软件版本:年份 */
glht1621_min(8); /* 软件版本:月期 */
glht1621_sec(4); /* 软件版本:日份 */
#endif
disp_state = DISP_INIT;
}
/*F**************************************************************************
* NAME: disp_task
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
* Display task handling display of clock and scrolling of file name
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void disp_task (void)
{
switch (disp_state)
{
case DISP_IDLE: break;
case DISP_INIT:
{
ht1621_cls();
disp_state = DISP_PRO;
}
break;
case DISP_TICK0:
{
if(disp_tick > DISP_LOOP){
disp_state = DISP_PRO;
disp_tick = 0;
}
}
break;
case DISP_PRO:
{
if(!MPOWER){
glht1621_POFF();
}
else {
if(vol_flag){
if( vol_tick > VOLDISP_TIME) {
vol_flag = Low;
vol_tick = 0;
}
else glht1621_volume();
}
else{
if(CDPOWER){
if(!DtsMen_flag) {
dtsFM_DispFer();
//dts_DispMem();
}
else {
dts_DispMem();
dtsFM_DispFer();
}
}
}
}
disp_state = DISP_TICK0;
break;
}
default: ;
}
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -