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 + -
显示快捷键?