📄 main.c
字号:
void menu_down()//下一条
{
uchar p;
p = curr_menu_id;
if(menu_table[curr_menu_id].next == 0) //没下一条的情况
{
curr_menu_id =1;
curr_pos = 0;
view_menu( curr_menu_id );
return;
}
if(curr_pos != 3)
{//当前光标不在最下
disp_chinese(menu_table[p].str,2*curr_pos,0,8,1,0);//inv_line(curr_pos,0x00);取正显示
curr_pos++;
curr_menu_id = menu_table[p].next;
p = curr_menu_id;
disp_chinese(menu_table[p].str,2*curr_pos,0,8,1,1);//inv_line(curr_pos,0xff);反白显示
}
else //if(curr_pos == 3)
{ //当前光标在最下,再写菜单项
curr_menu_id = menu_table[p].next;
p = curr_menu_id;
disp_lattice(0x00,0x00); //???
view_menu(p);
}
return;
}
///////////////////功能菜单任务函数///////////
void menu_task()//菜单功能
{
//uchar a;
uchar i;
uchar p;
//menu *k;
task_pri[2].task_flag = 0; //清标志/////////////
if(menu_open)//从轮显进菜单任务
{
disp_lattice(0x00,0x00); //cls();清屏
curr_menu_id =1;
view_menu(curr_menu_id); //显示菜单
menu_open = 0;
curr_pos2 = 0; //功能设置光标置0
curr_menu_id = 1;
curr_pos = 0;
return;
}
//flag = 0;
///假如在测温点显示温度模式,就退出
if(rtu_view)
{
task_pri[3].task_flag = 0x00;
rtu_view = 0;
curr_menu_id = 7;//到最后一个菜单7
curr_pos = 2; //光标
disp_lattice(0x00,0x00);
p = 5;
for(i = 0;i < 2;i++)
{
disp_chinese(menu_table[p].str,2*i,0,8,1,0);
p++;
}
disp_chinese(menu_table[curr_menu_id].str,4,0,8,1,1);//反白显示
return;
}
if(key_code == KEY_UP1)//加1
{
if(curr_menu_id == 8)
{
// disp_8x16character(set_time,4,24,4,0,0);//显示原来的时间
if(curr_pos2 == 2) //个位
{
Hour_1++;
if(Hour_1>9) Hour_1 = 0;
buf = Hour_1 + 0x30;
disp_8x16character(&buf,4,24,0,0,1);//显示原来的时间
buf = hour_1 + 0x30;
disp_8x16character(&buf,4,32,0,0,0);//显示原来的时间
buf = min_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 1) // curr_pos2 ==0十位
{
hour_1++;
if(hour_1 > 9)hour_1 = 0;
buf = hour_1 + 0x30;
disp_8x16character(&buf,4,32,0,0,1);//显示原来的时间
buf = Hour_1 + 0x30;
disp_8x16character(&buf,4,24,0,0,0);//显示原来的时间
buf = min_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
min_1++;
if(min_1 > 9)min_1 = 0;
buf = min_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,1);//显示原来的时间
buf = hour_1 + 0x30;
disp_8x16character(&buf,4,32,0,0,0);//显示原来的时间
buf = Hour_1 + 0x30;
disp_8x16character(&buf,4,24,0,0,0);//显示原来的时间
}
return;
}
else if(curr_menu_id == 9)
{
// disp_8x16character(set_time,4,24,4,0,0);//显示原来的时间
if(curr_pos2 == 2) //个位
{
Hour_2++;
if(Hour_2>9) Hour_2 = 0;
buf = Hour_2 + 0x30;
disp_8x16character(&buf,4,24,0,0,1);//显示原来的时间
buf = hour_2 + 0x30;
disp_8x16character(&buf,4,32,0,0,0);//显示原来的时间
buf = min_2 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 1) // curr_pos2 ==0十位
{
hour_2++;
if(hour_2 > 9)hour_2 = 0;
buf = hour_2 + 0x30;
disp_8x16character(&buf,4,32,0,0,1);//显示原来的时间
buf = Hour_2 + 0x30;
disp_8x16character(&buf,4,24,0,0,0);//显示原来的时间
buf = min_2 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
min_2++;
if(min_2 > 9)min_2 = 0;
buf = min_2 + 0x30;
disp_8x16character(&buf,4,48,0,0,1);//显示原来的时间
buf = hour_2 + 0x30;
disp_8x16character(&buf,4,32,0,0,0);//显示原来的时间
buf = Hour_2 + 0x30;
disp_8x16character(&buf,4,24,0,0,0);//显示原来的时间
}
return;
}
else if(curr_menu_id == 10)//c光标位置,设置预警温度
{
if(curr_pos2 == 2) //个位
{
bai_1++;
if(bai_1>9)bai_1 = 0;
buf = bai_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,1);//显示原来的时间
}
else if (curr_pos2 == 1) // curr_pos2 ==0十位
{
ten_1++;
if(ten_1 > 9)ten_1 = 0;
buf = ten_1 + 0x30;
disp_8x16character(&buf,4,56,0,0,1);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
num_1++;
if(num_1 > 9)num_1 = 0;
buf = num_1 + 0x30;
disp_8x16character(&buf,4,64,0,0,1);//显示原来的时间
}
return;
}
else if(curr_menu_id == 11)//c光标位置,设置预警温度
{
if(curr_pos2 == 2) //个位
{
bai_2++;
if(bai_2>9)bai_2 = 0;
buf = bai_2 + 0x30;
disp_8x16character(&buf,4,48,0,0,1);//显示原来的时间
}
else if (curr_pos2 == 1) // curr_pos2 ==0十位
{
ten_2++;
if(ten_2 > 9)ten_2 = 0;
buf = ten_2 + 0x30;
disp_8x16character(&buf,4,56,0,0,1);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
num_2++;
if(num_2 > 9)num_2 = 0;
buf = num_2 + 0x30;
disp_8x16character(&buf,4,64,0,0,1);//显示原来的时间
}
return;
}
else if(curr_menu_id == 12) //设置设备地址
{
if (curr_pos2 == 1) // curr_pos2 ==0十位
{
Add_1++;
if(Add_1 > 9)Add_1 = 0;
buf = Add_1 + 0x30;
disp_8x16character(&buf,4,56,0,0,1);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
add_1++;
if(add_1 > 9)add_1 = 0;
buf = add_1 + 0x30;
disp_8x16character(&buf,4,64,0,0,1);//显示原来的时间
}
return;
}
else if(curr_menu_id == 13) //设置设备地址
{
if (curr_pos2 == 1) // curr_pos2 ==0十位
{
Add_2++;
if(Add_2 > 9)Add_2 = 0;
buf = Add_2 + 0x30;
disp_8x16character(&buf,4,56,0,0,1);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
add_2++;
if(add_2 > 9)add_2 = 0;
buf = add_2 + 0x30;
disp_8x16character(&buf,4,64,0,0,1);//显示原来的时间
}
return;
}
else if(curr_menu_id == 14) //设置设备地址
{
if (curr_pos2 == 1) // curr_pos2 ==0十位
{
Add_3++;
if(Add_3 > 9)Add_3 = 0;
buf = Add_3 + 0x30;
disp_8x16character(&buf,4,56,0,0,1);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
add_3++;
if(add_3 > 9)add_3 = 0;
buf = add_3 + 0x30;
disp_8x16character(&buf,4,64,0,0,1);//显示原来的时间
}
return;
}
else
menu_up();
return;
}
else if(key_code == KEY_DOWN1) //设置返回时间间隔
{
//key_code = 0;
if(curr_menu_id == 8) //设置采集时间间隔
{
//disp_8x16character(set_time,4,24,4,0,0);//显示原来的时间
if(curr_pos2 == 2) //个位
{
Hour_1--;
if(Hour_1 < 0) Hour_1 =9;
buf = Hour_1 + 0x30;
disp_8x16character(&buf,4,24,0,0,1);//显示原来的时间
buf = hour_1 + 0x30;
disp_8x16character(&buf,4,32,0,0,0);//显示原来的时间
buf = min_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 1) // curr_pos2 ==0十位
{
hour_1--;
if(hour_1 < 0)hour_1 = 9;
buf = hour_1 + 0x30;
disp_8x16character(&buf,4,32,0,0,1);//显示原来的时间
buf = Hour_1 + 0x30;
disp_8x16character(&buf,4,24,0,0,0);//显示原来的时间
buf = min_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
min_1--;
if(min_1 < 0)min_1 = 9;
buf = min_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,1);//显示原来的时间
buf = hour_1 + 0x30;
disp_8x16character(&buf,4,32,0,0,0);//显示原来的时间
buf = Hour_1 + 0x30;
disp_8x16character(&buf,4,24,0,0,0);//显示原来的时间
}
return;
}
if(curr_menu_id == 9) //设置采集时间间隔
{
//disp_8x16character(set_time,4,24,4,0,0);//显示原来的时间
if(curr_pos2 == 2) //个位
{
Hour_2--;
if(Hour_2< 0) Hour_2=9;
buf = Hour_2 + 0x30;
disp_8x16character(&buf,4,24,0,0,1);//显示原来的时间
buf = hour_2 + 0x30;
disp_8x16character(&buf,4,32,0,0,0);//显示原来的时间
buf = min_2 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
//if(bai == 0)bai = 10;
}
else if (curr_pos2 == 1) // curr_pos2 ==0十位
{
hour_2--;
if(hour_2 < 0)hour_2 = 9;
buf = hour_2 + 0x30;
disp_8x16character(&buf,4,32,0,0,1);//显示原来的时间
buf = Hour_2 + 0x30;
disp_8x16character(&buf,4,24,0,0,0);//显示原来的时间
buf = min_2 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
min_2--;
if(min_2 < 0)min_2 = 9;
buf = min_2 + 0x30;
disp_8x16character(&buf,4,48,0,0,1);//显示原来的时间
buf = hour_2+ 0x30;
disp_8x16character(&buf,4,32,0,0,0);//显示原来的时间
buf = Hour_2 + 0x30;
disp_8x16character(&buf,4,24,0,0,0);//显示原来的时间
}
return;
}
else if(curr_menu_id == 10) //设置预警温度,a为x*10分钟,b为小时
{
if(curr_pos2 == 2) //个位
{
bai_1--;
if(bai_1 < 0)bai_1 =9;
buf = bai_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,1);//显示原来的时间
buf = ten_1 + 0x30;
disp_8x16character(&buf,4,56,0,0,0);//显示原来的时间
buf = num_1 + 0x30;
disp_8x16character(&buf,4,64,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 1) // curr_pos2 ==0十位
{
ten_1--;
if(ten_1 < 0)ten_1 = 9;
buf = ten_1 + 0x30;
disp_8x16character(&buf,4,56,0,0,1);//显示原来的时间
buf = bai_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
buf = num_1 + 0x30;
disp_8x16character(&buf,4,64,0,0,0);//显示原来的时间
}
else if (curr_pos2 == 0) // curr_pos2 ==0十位
{
num_1--;
if(num_1 < 0)num_1 = 9;
buf = num_1 + 0x30;
disp_8x16character(&buf,4,64,0,0,1);//显示原来的时间
buf = ten_1 + 0x30;
disp_8x16character(&buf,4,56,0,0,0);//显示原来的时间
buf = bai_1 + 0x30;
disp_8x16character(&buf,4,48,0,0,0);//显示原来的时间
}
return;
}
else if(curr_menu_id == 11) //设置预警温度,a为x*10分钟,b为小时
{
if(curr_pos2 == 2) //个位
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -