📄 main.c
字号:
KEYB_DOWN();
delay_ms(10);
KEYB_UP();
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position--;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else if(g_Status.Modify_Position > 0)
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position--;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{}
}
else if(g_Status.Modify_Index <= 14)
{
if(g_Status.Modify_Position == 0)
{}
else
{
i = GetRealyStatus(g_Status.Modify_Index - 4);
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, i, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position = 0;
}
}
else if(g_Status.Modify_Index <= 16)
{
if(g_Status.Modify_Position <= 0)
{}
else if(g_Status.Modify_Position <=1)
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position = 0;
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position --;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
}
else if(g_Status.Modify_Index <= 22)
{
if(g_Status.Modify_Position == 0)
{}
else
{
g_Status.Modify_Position = 0;
}
}
else if(g_Status.Modify_Index <=28)
{
if(g_Status.Modify_Position <= 0)
{}
else if(g_Status.Modify_Position <=1)
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position = 0;
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position --;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
}
else
{}
g_Status.nPage = CalPage(g_Status.Modify_Index);
}
void Btn_Right(void)
{
uchar i,pos;
//密码对话框
if(g_Status.Mode == MODE_PARAMODIFY)
{
if(g_Status.PasswordCount < 4)
{
g_Status.Password &= ~(0x3 << g_Status.PasswordCount*2);
g_Status.Password |= (0x1 << g_Status.PasswordCount*2);
g_Status.PasswordCount++;
LCD_ShowPassword(g_Status.PasswordCount);
}
}
if(g_Status.Mode != MODE_RUNABLE)
return;
if(g_Status.Modify_Index <= 1)
{}
else if(g_Status.Modify_Index <= 2)
{
pos = g_Status.Modify_Position + 1;
if(g_Status.Modify_Position >= 4)
{
Update_LEDPosition();
if(g_Status.LED_Modify_Position != 1)
{
KEYB_DOWN();
while(1)
{
delay_ms(5);
Update_LEDPosition();
if(g_Status.LED_Modify_Position == pos)
break;
}
KEYB_UP();
}
}
else
{
Update_LEDPosition();
if(g_Status.LED_Modify_Position != pos)
{
KEYE_DOWN();
while(1)
{
delay_ms(5);
Update_LEDPosition();
if(g_Status.LED_Modify_Position == pos)
break;
}
KEYE_UP();
}
}
if(g_Status.Modify_Position == 0)
{
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else if(g_Status.Modify_Position == 4)
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position = 0;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
}
else if(g_Status.Modify_Index <= 3)
{
/*
KEYE_DOWN();
while(1)
{
delay_ms(5);
Update_LEDPosition();
if(g_Status.LED_Modify_Position == 5)
break;
}
KEYE_UP();
*/
if(g_Status.Modify_Position == 0)
{
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position = 0;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
}
else if(g_Status.Modify_Index <= 4)
{
pos = g_Status.Modify_Position + 6;
if(g_Status.Modify_Position >= 2)pos = 7;
Update_LEDPosition();
if(g_Status.LED_Modify_Position != pos)
{
KEYE_DOWN();
while(1)
{
delay_ms(5);
Update_LEDPosition();
if(g_Status.LED_Modify_Position == pos)
break;
}
KEYE_UP();
}
if(g_Status.Modify_Position == 0)
{
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else if(g_Status.Modify_Position == 2)
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position = 0;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
}
else if(g_Status.Modify_Index <= 14)
{
i = g_Status.Modify_Index - 4;
if(g_Status.Modify_Position == 0)
{
g_Status.Modify_Position++;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, GetRealyStatus(i), ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, GetRealyStatus(i), ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position = 0;
}
}
else if(g_Status.Modify_Index <= 15)
{
if(g_Status.Modify_Position <= 0)
{
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else if(g_Status.Modify_Position <=1)
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
}
}
else if(g_Status.Modify_Index <= 16)
{
if(g_Status.Modify_Position <= 0)
{
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else if(g_Status.Modify_Position <=3)
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
}
}
else if(g_Status.Modify_Index <= 22)
{
i = g_Status.Modify_Index - 6;
if(g_Status.Modify_Position == 0)
{
g_Status.Modify_Position++;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, GetRealyStatus(i), ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
g_Status.Modify_Position = 0;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, GetRealyStatus(i), ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
}
}
else if(g_Status.Modify_Index <=28)
{
if(g_Status.Modify_Position <= 0)
{
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else if(g_Status.Modify_Position <=2)
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Position++;
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
}
}
else
{}
g_Status.nPage = CalPage(g_Status.Modify_Index);
}
void Btn_Mode(void)
{
KEYA_DOWN();
delay_ms(20);
KEYA_UP();
ShowMode();
}
void Btn_Modify(void)
{
uchar i;
i = g_Status.LED_Status;
if((i & 0x08) == 0)//run
return;
if((i & 0x01) != 0)
{
while(1)
{
KEYA_DOWN();
delay_ms(10);
KEYA_UP();
Update_led_status();
i = g_Status.LED_Status;
if((i & 0x01) == 0)
break;
delay_ms(10);
}
}
if(g_Status.Mode == MODE_PARAMODIFY)
{
if(g_Status.PasswordCount < 4)
return;
if(g_Status.Password == 0x55)
{
LCD_ShowPasswordDialog(false);
g_Status.PasswordCount = 0;
g_Status.Password = 0;
g_Status.Mode = MODE_RUNABLE;
g_Status.nPage = 1;
g_Status.Modify_Index = 2;
g_Status.Modify_Position = 0;
Update_LEDPosition();
if(g_Status.LED_Modify_Position != 1)
{
KEYE_DOWN();
while(1)
{
delay_ms(5);
Update_LEDPosition();
if(g_Status.LED_Modify_Position == 1)
break;
}
KEYE_UP();
}
LCD_ShowStatusOrParameter(2, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
g_Status.PasswordCount = 0;
g_Status.Password = 0;
LCD_ShowPasswordDialog(true);
}
}
else
{
g_Status.Mode = MODE_PARAMODIFY;
g_Status.PasswordCount = 0;
g_Status.Password = 0;
LCD_ShowPasswordDialog(true);
}
}
void Btn_Track(void)
{
if(g_Status.bTrack)
{
g_Status.bTrack = false;
LCD_ShowButton(BUTTON_TRACK, BLACK, GRAY, BTN_DOWN_BORDER_COLOR);
}
else
{
g_Status.bTrack = true;
LCD_ShowButton(BUTTON_TRACK, BLACK, GREEN, BTN_DOWN_BORDER_COLOR);
}
}
void Btn_Dianzheng(void)
{
if(g_Status.bDianzheng)
{
g_Status.bDianzheng = false;
LCD_ShowButton(BUTTON_DIANZHENG, BLACK, GRAY, BTN_DOWN_BORDER_COLOR);
}
else
{
g_Status.bDianzheng = true;
LCD_ShowButton(BUTTON_DIANZHENG, BLACK, GREEN, BTN_DOWN_BORDER_COLOR);
}
}
void Btn_Dianfan(void)
{
if(g_Status.bDianfan)
{
g_Status.bDianfan = false;
LCD_ShowButton(BUTTON_DIANFAN, BLACK, GRAY, BTN_DOWN_BORDER_COLOR);
}
else
{
g_Status.bDianfan = true;
LCD_ShowButton(BUTTON_DIANFAN, BLACK, GREEN, BTN_DOWN_BORDER_COLOR);
}
}
//====================================================================================
//函数名称:void ButtonAction()
//函数功能:按键功能的实现
//入口参数:g_Status.Mode,g_Status.Button_id,g_Status.nPage,g_Status.Modify_Index,
// g_Status.Modify_Position
//出口参数:无
//====================================================================================
void ButtonAction()
{
//处理按键事件
switch(g_Status.Button_id)
{
case BUTTON_NULL://无效值
break;
case BUTTON_RUN://运行
Btn_Run();
break;
case BUTTON_STOP://停止
Btn_Stop();
break;
case BUTTON_RESET://复位
Btn_Reset();
break;
case BUTTON_CLEAR://清零
Btn_Clear();
break;
case BUTTON_CLEAR_ALL://总清
Btn_Clear_all();
break;
case BUTTON_DIANZHENG://点正
Btn_Dianzheng();
break;
case BUTTON_DIANFAN://点反
Btn_Dianfan();
break;
case BUTTON_UP:
Btn_Up();
break;
case BUTTON_DOWN:
Btn_Down();
break;
case BUTTON_LEFT:
Btn_Left();
break;
case BUTTON_RIGHT:
Btn_Right();
break;
case BUTTON_MODE:
Btn_Mode();
break;
case BUTTON_TRACK:
Btn_Track();
break;
case BUTTON_MODIFY:
Btn_Modify();
break;
default:
break;
}//end of switch
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -