2017.11.23 display fun --STM8

作者: Berry521 | 来源:发表于2017-11-23 17:39 被阅读10次

    unsigned char disp_mode;

    unsigned char disp_last_mode;

    unsigned char disp_sub_mode;

    unsigned char disp_set_hour,disp_set_min;

    void disp_init(void)

    {

    unsigned char key_code;

    sys_flag.f.dsp=1; //update display

    if(key_input()==KEY_PLUS_MINU){

    disp_mode=DISP_CONFIG_MODE;

    }else{

    disp_mode=DISP_DAY_CLK_MODE;

    }

    disp_last_mode = disp_mode;

    disp_sub_mode=0;

    }

    void disp_func(void)

    {

    if(key_flag.f.locked==1){

    KEY_ON();

    }

    switch(sys_type){

    case SYS_DAY_TYPE:

    disp_day_func();

    break;

    case SYS_WEEK_TYPE:

    disp_week_func();

    break;

    case SYS_TEMP_TYPE:

    disp_temp_func();

    break;

    case SYS_FACTORY_TYPE:

    factory_disp_func();

    break;

    }

    }

    void disp_config_type(void)

    {

    digit_Con();

    switch(sys_type){

    case SYS_DAY_TYPE:

    digit_d5(1);

    break;

    case SYS_WEEK_TYPE:

    digit_d5(2);

    break;

    default:

    case SYS_TEMP_TYPE:

    digit_d5(3);

    break;

    }

    }

    void disp_rtc_func(void)

    {

    digit_d4_d5(sys_clk_min);

    digit_d2_d3(sys_clk_hour);

    COL_ON();

    }

    void disp_on_func(void)

    {

    disp_func();

    }

    /*=================================================================================

    DISPLAY OFF ROUTINE

    =================================================================================*/

    void disp_off_func(void)

    {

    switch(sys_type){

    case SYS_DAY_TYPE:

    disp_off_day_func();

    break;

    case SYS_WEEK_TYPE:

    disp_off_week_func();

    break;

    case SYS_TEMP_TYPE:

    disp_off_temp_func();

    break;

    case SYS_FACTORY_TYPE:

    factory_disp_off_func();

    break;

    }

    }

    void disp_mode_set(unsigned char mode)

    {

    disp_last_mode = disp_mode;

    disp_mode=mode;

    disp_sub_mode=0;

    sys_flag.f.dsp=1;

    key_off_advance_flag();

    switch(sys_type){

    case SYS_DAY_TYPE:

    disp_day_mode_set();

    break;

    case SYS_WEEK_TYPE:

    disp_week_mode_set();

    break;

    case SYS_TEMP_TYPE:

    disp_temp_mode_set();

    break;

    case SYS_FACTORY_TYPE:

    factory_disp_mode_set();

    break;

    }

    }

    void disp_sub_mode_set(unsigned char mode)

    {

    disp_sub_mode=mode;

    sys_flag.f.dsp=1;

    }

    void disp_enter_sleep(void)

    {

    disp_mode_set(DISP_CLK_MODE);

    相关文章

      网友评论

        本文标题:2017.11.23 display fun --STM8

        本文链接:https://www.haomeiwen.com/subject/rettbxtx.html