📄 main.c
字号:
{
g_Status.nPage == 1;
g_Status.Modify_Index = 0;
g_Status.Modify_Position = 0;
ShowTable(1);
}
g_Status.Mode = MODE_RUN;
KEYI_DOWN();
delay_ms(20);
KEYI_UP();
//ShowMode();
}
void Btn_Stop(void)
{
if(g_Status.Mode != MODE_RUN)
return;
KEYL_DOWN();
delay_ms(20);
KEYL_UP();
delay_ms(20);
ShowMode();
}
void Btn_Reset(void)
{
KEYK_DOWN();
delay_ms(20);
KEYK_UP();
}
void Btn_Clear(void)
{
KEYJ_DOWN();
delay_ms(20);
KEYJ_UP();
}
void Btn_Clear_all(void)
{
KEYH_DOWN();
delay_ms(20);
KEYH_UP();
}
void Btn_Up(void)
{
uchar i;
//密码对话框
if(g_Status.Mode == MODE_PARAMODIFY)
{
if(g_Status.PasswordCount < 4)
{
g_Status.Password &= ~(0x3 << g_Status.PasswordCount*2);
g_Status.Password |= (0x0 << 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)
{
if(g_Status.Modify_Position == 0)
{
g_Status.nPage = 4;
g_Status.Modify_Index = 28;
ShowTable(4);
LCD_ShowStatusOrParameter(28, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
KEYC_DOWN();
delay_ms(10);
KEYC_UP();
}
}
else if(g_Status.Modify_Index <= 3)
{
if(g_Status.Modify_Position == 0)
{
g_Status.nPage = 1;
g_Status.Modify_Index = 2;
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(3, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
LCD_ShowStatusOrParameter(2, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
KEYC_DOWN();
delay_ms(10);
KEYC_UP();
}
}
else if(g_Status.Modify_Index <= 4)
{
if(g_Status.Modify_Position == 0)
{
g_Status.nPage = 1;
g_Status.Modify_Index = 3;
if(g_Status.LED_Modify_Position != 5)
{
KEYE_DOWN();
while(1)
{
delay_ms(5);
Update_LEDPosition();
if(g_Status.LED_Modify_Position == 5)
break;
}
KEYE_UP();
}
LCD_ShowStatusOrParameter(4, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
LCD_ShowStatusOrParameter(3, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
KEYC_DOWN();
delay_ms(10);
KEYC_UP();
}
}
else if(g_Status.Modify_Index <= 5)
{
if(g_Status.Modify_Position == 0)
{
LCD_ShowStatusOrParameter(5, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index--;
LCD_ShowStatusOrParameter(4, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index - 4;
if(GetRealyStatus(i))
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, false, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, false);
}
else
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, true, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, true);
}
}
}
else if(g_Status.Modify_Index <= 14)
{
if(g_Status.Modify_Position == 0)
{
if(g_Status.Modify_Index == 9)
ShowTable(1);
else
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index--;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
//i = g_Status.Modify_Index - 4;
//if(GetRealyStatus(i))
//{
// LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, true, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
//}
//else
//{
// LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, false, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
//}
}
else
{
i = g_Status.Modify_Index - 4;
if(GetRealyStatus(i))
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, false, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, false);
}
else
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, true, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, true);
}
}
delay_ms(50);
}
else if(g_Status.Modify_Index <= 16)
{
if(g_Status.Modify_Position == 0)
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index--;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
if(g_Status.ItemState[i] < 9)g_Status.ItemState[i]++;
else g_Status.ItemState[i] = 0;
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)
{
if(g_Status.Modify_Index == 17)
ShowTable(2);
else
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index--;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index - 6;
if(GetRealyStatus(i))
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, false, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, false);
}
else
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, true, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, true);
}
}
delay_ms(50);
}
else if(g_Status.Modify_Index <=23)
{
if(g_Status.Modify_Position == 0)
{
if(g_Status.Modify_Index == 23)
ShowTable(3);
else
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index--;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
if(g_Status.ItemState[i] < 9)g_Status.ItemState[i]++;
else g_Status.ItemState[i] = 0;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
delay_ms(50);
}
else if(g_Status.Modify_Index <=28)
{
if(g_Status.Modify_Position == 0)
{
if(g_Status.Modify_Index == 23)
ShowTable(3);
else
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index--;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
if(g_Status.ItemState[i] < 9)g_Status.ItemState[i]++;
else g_Status.ItemState[i] = 0;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
delay_ms(50);
}
else
{}
g_Status.nPage = CalPage(g_Status.Modify_Index);
}
void Btn_Down(void)
{
uchar i;
//密码对话框
if(g_Status.Mode == MODE_PARAMODIFY)
{
if(g_Status.PasswordCount < 4)
{
g_Status.Password &= ~(0x3 << g_Status.PasswordCount*2);
g_Status.Password |= (0x2 << g_Status.PasswordCount*2);
g_Status.PasswordCount++;
LCD_ShowPassword(g_Status.PasswordCount);
}
}
if(g_Status.Mode != MODE_RUNABLE)
return;
//if(g_Status.Mode != MODE_PARAMODIFY)
// return;
if(g_Status.Modify_Index <= 1)
{}
else if(g_Status.Modify_Index <= 2)
{
if(g_Status.Modify_Position == 0)
{
g_Status.Modify_Index++;
if(g_Status.LED_Modify_Position != 5)
{
KEYB_DOWN();
while(1)
{
delay_ms(5);
Update_LEDPosition();
if(g_Status.LED_Modify_Position == 5)
break;
}
KEYB_UP();
}
LCD_ShowStatusOrParameter(2, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
LCD_ShowStatusOrParameter(3, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
KEYC_DOWN();
delay_ms(10);
KEYC_UP();
}
}
else if(g_Status.Modify_Index <= 3)
{
if(g_Status.Modify_Position == 0)
{
g_Status.Modify_Index++;
KEYE_DOWN();
delay_ms(10);
KEYE_UP();
delay_ms(10);
LCD_ShowStatusOrParameter(3, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
LCD_ShowStatusOrParameter(4, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
KEYC_DOWN();
delay_ms(10);
KEYC_UP();
}
}
else if(g_Status.Modify_Index <= 4)
{
if(g_Status.Modify_Position == 0)
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index++;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
KEYD_DOWN();
delay_ms(10);
KEYD_UP();
}
}
else if(g_Status.Modify_Index <= 13)
{
if(g_Status.Modify_Position == 0)
{
if(g_Status.Modify_Index == 8)
ShowTable(2);
else
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index++;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
//i = g_Status.Modify_Index - 4;
//if(GetRealyStatus(i))
//{
// LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, true, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
//}
//else
//{
// LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, false, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
//}
}
else
{
i = g_Status.Modify_Index - 4;
if(GetRealyStatus(i))
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, false, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, false);
}
else
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, true, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, true);
}
}
delay_ms(50);
}
else if(g_Status.Modify_Index <= 16)
{
if(g_Status.Modify_Position == 0)
{
if(g_Status.Modify_Index == 16)
ShowTable(3);
else
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index++;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
if(g_Status.ItemState[i] > 0)g_Status.ItemState[i]--;
else g_Status.ItemState[i] = 9;
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)
{
if(g_Status.Modify_Index == 22)
ShowTable(4);
else
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index++;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
i = g_Status.Modify_Index - 7;
if(GetRealyStatus(i))
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, 1, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, false);
}
else
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 1, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
SetRealyStatus(i, true);
}
}
delay_ms(50);
}
else if(g_Status.Modify_Index <=28)
{
if(g_Status.Modify_Position == 0)
{
if(g_Status.Modify_Index == 28)
{
g_Status.nPage = 1;
g_Status.Modify_Index = 2;
ShowTable(1);
LCD_ShowStatusOrParameter(2, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
else
{
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
g_Status.Modify_Index++;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, 0, 0, ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
}
else
{
i = g_Status.Modify_Index*5 + g_Status.Modify_Position- 6;
if(g_Status.ItemState[i] > 0)g_Status.ItemState[i]--;
else g_Status.ItemState[i] = 9;
LCD_ShowStatusOrParameter(g_Status.Modify_Index, g_Status.Modify_Position, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COLOR);
}
delay_ms(50);
}
else
{}
g_Status.nPage = CalPage(g_Status.Modify_Index);
}
void Btn_Left(void)
{
uchar i;
//密码对话框
if(g_Status.Mode == MODE_PARAMODIFY)
{
if(g_Status.PasswordCount < 4)
{
g_Status.Password &= ~(0x3 << g_Status.PasswordCount*2);
g_Status.Password |= (0x3 << g_Status.PasswordCount*2);
g_Status.PasswordCount++;
LCD_ShowPassword(g_Status.PasswordCount);
}
}
if(g_Status.Mode != MODE_RUNABLE)
return;
//if(g_Status.Mode != MODE_PARAMODIFY)
// return;
if(g_Status.Modify_Index <= 1)
{}
else if(g_Status.Modify_Index <= 4)
{
if(g_Status.Modify_Position > 1)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -