lcddrive.c

来自「一个分选系统的软件:用SmallRtos操作系统」· C语言 代码 · 共 635 行 · 第 1/2 页

C
635
字号
    }
    else
        displaydata(dlcdrow,dlcdline, temp);
}
/******************************************************************************/
/******************************************************************************/
void display_data_time(uint8 dlcdrow,uint8 dlcdline,uint8 temp)  /*时钟*/
{
    //if(temp>>4!=0)
    {
        displaydata(dlcdrow,dlcdline,temp>>4);
    }
    displaydata(dlcdrow,dlcdline+8,temp&0x0F);
}
/******************************************************************************/
void DispMenuDeep0(void)                          /*主菜单*/
{
    if(DeepOne==0)DotNot=1;else DotNot=0;
    display_word_item (1,32,0);                   /*时钟设置 */
    if(DeepOne==1)DotNot=1;else DotNot=0;
    display_word_item (3,32,1);                   /*参数设置 */
    if(DeepOne==2)DotNot=1;else DotNot=0;
    display_word_item (5,32,2);                   /*记录查询*/
    DotNot=0;
}
/******************************************************************************/
void display_data2_item (uint8 lcdrow,uint8 lcdline,uint8 temp)
{
    int8 b;
    b=temp%10;
    displaydata (lcdrow,(lcdline+8),b);
    b=temp/10;
    displaydata (lcdrow,(lcdline),b);
}
/******************************************************************************/
void display_time_setup()                         /*时钟设置 */
{
    uint8 idata temp;
    DotNot=0;
    displayword(01,28,04);
    displayword(01,64,05);
    displayword(01,100,06);
    displayword(03,48,00);
    displayword(03,84,07);
//    temp = read_ds12887_char(YEAR);               //year
    if(DeepTwo==0)DotNot=1;else DotNot=0;
//    display_data_item(1,12+8,8,temp);
    display_data2_item(1,12,temp);
//    display_data_time(1,12,temp);

//    temp = read_ds12887_char(MONTH);              //month
    if(DeepTwo==1)DotNot=1;else DotNot=0;
//    display_data_item(1,48+8,8,temp);
    display_data2_item(1,48,temp);
//    display_data_time(1,48,temp);

//    temp = read_ds12887_char(DATE);               //date
    if(DeepTwo==2)DotNot=1;else DotNot=0;
//    display_data_item(1,84+8,8,temp);
    display_data2_item(1,84,temp);
//    display_data_time(1,84,temp);

//    temp = read_ds12887_char(HOUR);               //hour
    if(DeepTwo==3)DotNot=1;else DotNot=0;
//    display_data_item(3,28+8,8,temp);
    display_data2_item(3,28,temp);
//    display_data_time(3,28,temp);

//    temp = read_ds12887_char(MINUTE);             //minute
    if(DeepTwo==4)DotNot=1;else DotNot=0;
//    display_data_item(3,64+8,8,temp);
    display_data2_item(3,64,temp);
//    display_data_time(3,64,temp);
}
/******************************************************************************/
/******************************************************************************/
void display_parameter_setup_word ( )             /*参数设置 */
{
    uint16 temp;
    displaydata(2,118,13);
    displaydata(4,118,14);
    displaydata(6,118,15);
    displaydata(4,97,10);
    displaydata(6,97,10);
    display_word_item(0,0,3);
    display_word_item(2,0,4);
    display_word_item(4,0,5);
    display_word_item(6,0,6);
    if(DeepTwo==0) DotNot=1; else DotNot=0;
    displaydata(0,72,5);
    if(DeepTwo==1) DotNot=1; else DotNot=0;
    displaydata(2,72,1);
    displaydata(2,80,2);
    displaydata(2,88,3);
    displaydata(2,97,10);
    displaydata(2,102,4);
    displaydata(2,110,5);
    if(DeepTwo==2) DotNot=1; else DotNot=0;
    displaydata(4,72,1);
    if(DeepTwo==3) DotNot=1; else DotNot=0;
    displaydata(6,72,5);
    DotNot=0;
}
/******************************************************************************/
void display_start_discharge ()                   /*按确认键开始放电*/
{
    //if(DeepTwo==3)
    DotNot=1; //else DotNot=0;
    display_word_item (3,32,12);
    DotNot=0;
}
/******************************************************************************/
void display_stop_discharge ()                    /*按取消键退出放电*/
{
    display_word_item (1,16,13);
   // if(DeepThree==0)
    DotNot=1; //else DotNot=0;
    display_word_item (4,16,14);
    DotNot=0;
}
/******************************************************************************/
/******************************************************************************/
void display_history_query ()                     /*记录查询*/
{
    if(DeepTwo==0) DotNot=1; else DotNot=0;
    display_word_item (1,16,7);
    if(DeepTwo==1) DotNot=1; else DotNot=0;
    display_word_item (3,16,8);

}
/******************************************************************************/
void display_history_query_order_word ()          /*按序号查询的三级菜单*/
{
    DotNot=0;
    display_word_item (1,16,9);
    DotNot=1;
    displaydata(3,32,1);
    DotNot=0;
   // disp_para_data_item (4,16,IN_RAM_PARA_TEMP,5);
}
/******************************************************************************/
void display_history_order_data ()                /*与序号相关的数据*/
{
    display_word_item (2,16,11);
}
/******************************************************************************/
/******************************************************************************/
void display_history_query_date_data ()           /*按时间查询的三级菜单*/
{
    uint8 idata temp;
    DotNot=0;
    display_word_item (1,16,10);
    displayword(04,28,04);
    displayword(04,64,05);
    displayword(04,100,06);

    temp = read_ds12887_char(100);
    if(DeepThree==0)DotNot=1;else DotNot=0;
    display_data2_item(4,12,temp);

    temp = read_ds12887_char(105);
    if(DeepThree==1)DotNot=1;else DotNot=0;
    display_data2_item(4,48,temp);

    temp = read_ds12887_char(110);
    if(DeepThree==2)DotNot=1;else DotNot=0;
    display_data2_item(4,84,temp);
    DotNot=0;
// disp_para_data_item (4,16,IN_RAM_PARA_TEMP,5);
}
/******************************************************************************/
void display_history_time_data ()                 /*与时间相关的数据*/
{
    display_word_item (2,16,11);
}
/******************************************************************************/
void display ()
{
//    displaycls ();
//    display_time_setup();
//  display_data_item(0,110,2,1);
//  disp_para_data_item (0,64,12345,2);
    if(RedrawLcd)
    {
        displaycls ();
        RedrawLcd=0;
    }
    switch (MenuDeep)
    {
        case 0:
        {
            if(RedrawLcdFocus)
            {
                DispMenuDeep0();
                RedrawLcdFocus=0;
            }
        } break;
        case 1:
        {
            switch (DeepOne)
            {
                case 0:
                {
                    if (RedrawLcdFocus)
                    {
                        display_time_setup();                   /*时钟设置 */
                        RedrawLcdFocus=0;
                    }
                } break;
                case 1:
                {
                    if (RedrawLcdFocus)
                    {
                        display_parameter_setup_word ();        /*参数设置 */
                        RedrawLcdFocus=0;
                    }
                 } break;
                case 2:
                {
                    if (RedrawLcdFocus)
                    {
                        display_history_query ();               /*记录查询*/
                        RedrawLcdFocus=0;
                    }
                } break;
            }//switch (DeepOne)
        }break;//case 1
        case 2:
        {
            if(DeepOne==1)
            {
                if(DeepTwo==4)
                {
                    if (RedrawLcdFocus)
                    {
                        displaycls ();
                        display_start_discharge ();
                        RedrawLcdFocus=0;
                    }
                }

            }
            if(DeepOne==2)
            {
                switch (DeepTwo)
                {
                    case 0:
                    {
                        if (RedrawLcdFocus)
                        {
                            displaycls ();
                            display_history_query_order_word ();
                            RedrawLcdFocus=0;
                        }
                    } break;
                     case 1:
                    {
                        if (RedrawLcdFocus)
                        {
                            displaycls ();
                            display_history_query_date_data ();
                            RedrawLcdFocus=0;
                        }
                    } break;
                }
            }
        }break;//case 2
        case 3:
        {
            if(DeepOne==1)
            {
                if(DeepTwo==4)
                {
                    if (RedrawLcdFocus)
                    {
                        displaycls ();
                        display_stop_discharge ();
                        RedrawLcdFocus=0;
                    }
                }
            }
            if(DeepOne==2)
            {
                switch (DeepTwo)
                {
                    case 0:
                    {
                        if (RedrawLcdFocus)
                        {
                            displaycls ();
                            display_history_order_data ();
                            RedrawLcdFocus=0;
                        }
                    }break;
                    case 1:
                    {
                        if(DeepThree==3)
                        {
                            if (RedrawLcdFocus)
                            {
                                displaycls ();
                                display_history_time_data ();
//                                RedrawLcdFocus=0;
                            }
                        }
                    }break;
                }//switch (DeepTwo)
            }//if(DeepOne==2)
        }break;//end case 3
        case 4:
        {

        }break;//end case 4
    }//end switch (MenuDeep)
}

⌨️ 快捷键说明

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