?? lcdshow.c
字號:
//第一行 消音鍵壞
if(g_intMarkA & KeyStokeMute_MarkA)
{
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[3 + chI] = chActiveAlert_8[chI];
}
}
//第二行 自校驗鍵壞
if(g_intMarkA & KeyStokeAuto_MarkA)
{
for(chI = 0; chI < 10; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_8[chI + 8];
}
}
g_chLcdDriveTail = 32;
//g_chMainLcdProcess_Stat = 10 在這里死等待!
break;
//11-20 顯示正常信息
case 10:
//無活動告警 時間
//第一行 無活動告警
for(chI = 0; chI < 13; chI++)
{
g_chLcdDriveBuf[3 + chI] = chInitiativeReport_10[chI];
}
//第二行 時間
g_chLcdDriveBuf[17] = '2';
g_chLcdDriveBuf[18] = '0';
g_chLcdDriveBuf[19] = (g_chYear / 10) % 10 + 48;
g_chLcdDriveBuf[20] = (g_chYear % 10) + 48;
g_chLcdDriveBuf[21] = '-';
g_chLcdDriveBuf[22] = (g_chMonth / 10) % 10 + 48;
g_chLcdDriveBuf[23] = (g_chMonth % 10) + 48;
g_chLcdDriveBuf[24] = '-';
g_chLcdDriveBuf[25] = (g_chDay / 10) % 10 + 48;
g_chLcdDriveBuf[26] = (g_chDay % 10) + 48;
g_chLcdDriveBuf[28] = (g_chHour / 10) % 10 + 48;
g_chLcdDriveBuf[29] = (g_chHour % 10) + 48;
g_chLcdDriveBuf[30] = ':';
g_chLcdDriveBuf[31] = (g_chMinute / 10) % 10 + 48;
g_chLcdDriveBuf[32] = (g_chMinute % 10) + 48;
g_chLcdDriveTail = 32;
g_chMainLcdProcess_Stat = 20;//--------no
break;
case 19:
g_chMainLcdProcess_Stat = 20;//--------no
break;
//21---120 顯示告警信息,其中 要有告警聲音--只有這里不是成對地嚴格出現!
case 20://活動告警xx共05條
{
unsigned char m_chSum;
m_chSum = AlertSum();
if(m_chSum == 0)
{//無告警信息
g_chMainLcdProcess_Stat = 10;
}
else
{//有告警信息--chActiveAlert_20---
//第一行 活動告警xx共05條
for(chI = 0; chI < 16; chI++)
{
g_chLcdDriveBuf[1 + chI] = chActiveAlert_20[chI];
}
g_chLcdDriveBuf[13] = (m_chSum / 10) + 48;
g_chLcdDriveBuf[14] = (m_chSum % 10) + 48;
g_chLcdDriveTail = 16;
g_chIndex = 1;//處理成功后,才加
g_chBit = 0;
g_chMainLcdProcess_Stat = 21;
}
}
break;
case 21://g_chGP_SelfCheck_Status
if(g_chGP_SelfCheck_Status > 0)
{
if(g_chGP_SelfCheck_Status & (1 << g_chBit))
{//有告警
//05工頻設備第01列
g_chLcdDriveBuf[1 + g_chLcdDriveTail] = (g_chIndex / 10) % 10 + 48;
g_chLcdDriveBuf[2 + g_chLcdDriveTail] = (g_chIndex % 10) + 48;
for(chI = 0; chI < 10; chI++)
{
g_chLcdDriveBuf[3 + chI + g_chLcdDriveTail] = chActiveAlert_21[chI];
}
g_chLcdDriveBuf[13 + g_chLcdDriveTail] = ((g_chBit + 1) / 10) % 10 + 48;
g_chLcdDriveBuf[14 + g_chLcdDriveTail] = ((g_chBit + 1) % 10) + 48;
for(chI = 0; chI < 2; chI++)
{
g_chLcdDriveBuf[15 + chI + g_chLcdDriveTail] = chActiveAlert_21_1[chI];
}
g_chIndex++;//工頻 不可以 這樣做
g_chBit++;
g_chLcdDriveTail += 16;
}
else
{
g_chBit++;
if(g_chBit >= 8)
{//該 字節 處理完了
g_chMainLcdProcess_Stat++;
g_chBit = 0;
}
}
}
else
{
g_chMainLcdProcess_Stat++;
}
break;
case 22://g_chGP_Status--采用自動調節的方法來處理
if(g_chGP_Status > 0)
{
if(g_chGP_Status & (1 << g_chBit))
{//有告警
//第一行 04強電01列9999mA
g_chLcdDriveBuf[1 + g_chLcdDriveTail] = (g_chIndex / 10) % 10 + 48;
g_chLcdDriveBuf[2 + g_chLcdDriveTail] = (g_chIndex % 10) + 48;
//強電
for(chI = 0; chI < 4; chI++)
{
g_chLcdDriveBuf[3 + chI + g_chLcdDriveTail] = chActiveAlert_124[chI];
}
//01
g_chLcdDriveBuf[7 + g_chLcdDriveTail] = ((g_chBit + 1) / 10) % 10 + 48;
g_chLcdDriveBuf[8 + g_chLcdDriveTail] = ((g_chBit + 1) % 10) + 48;
//列
for(chI = 0; chI < 2; chI++)
{
g_chLcdDriveBuf[9 + chI + g_chLcdDriveTail] = chActiveAlert_21_1[chI];
}
//9999mA
g_chLcdDriveBuf[11 + g_chLcdDriveTail] = ((g_intGP_Current[g_chBit] / 1000) % 10) + 48;//
g_chLcdDriveBuf[12 + g_chLcdDriveTail] = ((g_intGP_Current[g_chBit] / 100) % 10) + 48;//
g_chLcdDriveBuf[13 + g_chLcdDriveTail] = ((g_intGP_Current[g_chBit] / 10) % 10) + 48;//
g_chLcdDriveBuf[14 + g_chLcdDriveTail] = ((g_intGP_Current[g_chBit]) % 10) + 48;//
g_chLcdDriveBuf[15 + g_chLcdDriveTail] = 'm';
g_chLcdDriveBuf[16 + g_chLcdDriveTail] = 'A';
//看是否可以 顯示 第二行
if(g_chLcdDriveTail == 16)
{
g_chLcdDriveTail = 32;
break;
}
//第二行 xx固有值:x 0000 mA
for(chI = 0; chI < 6; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_124[chI + 4];
}
g_chLcdDriveBuf[27] = ((g_intGP_FixedCurrent[g_chBit] / 1000) % 10) + 48;//
g_chLcdDriveBuf[28] = ((g_intGP_FixedCurrent[g_chBit] / 100) % 10) + 48;//
g_chLcdDriveBuf[29] = ((g_intGP_FixedCurrent[g_chBit] / 10) % 10) + 48;//
g_chLcdDriveBuf[30] = ((g_intGP_FixedCurrent[g_chBit]) % 10) + 48;//
g_chLcdDriveBuf[31] = 'm';
g_chLcdDriveBuf[32] = 'A';
g_chIndex++;//工頻 不可以 這樣做
g_chBit++;
g_chLcdDriveTail = 32;
}
else
{
g_chBit++;
if(g_chBit >= 8)
{//該 字節 處理完了
g_chMainLcdProcess_Stat++;
g_chBit = 0;
}
}
}
else
{
g_chMainLcdProcess_Stat++;
}
break;
case 23://g_chFS_Status
if(g_chFS_Status > 0)
{
if(g_chFS_Status & (1 << g_chBit))
{//有告警
//01配線架第xx01列
g_chLcdDriveBuf[1 + g_chLcdDriveTail] = (g_chIndex / 10) % 10 + 48;
g_chLcdDriveBuf[2 + g_chLcdDriveTail] = (g_chIndex % 10) + 48;
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[3 + chI + g_chLcdDriveTail] = chActiveAlert_23[chI];
}
g_chLcdDriveBuf[13 + g_chLcdDriveTail] = ((g_chBit + 1) / 10) % 10 + 48;
g_chLcdDriveBuf[14 + g_chLcdDriveTail] = ((g_chBit + 1) % 10) + 48;
for(chI = 0; chI < 2; chI++)
{
g_chLcdDriveBuf[15 + chI + g_chLcdDriveTail] = chActiveAlert_21_1[chI];
}
g_chIndex++;//工頻 不可以 這樣做
g_chBit++;
g_chLcdDriveTail += 16;
}
else
{
g_chBit++;
if(g_chBit >= 8)
{//該 字節 處理完了
g_chMainLcdProcess_Stat++;
g_chBit = 0;
}
}
}
else
{
g_chMainLcdProcess_Stat++;
}
break;
case 24://g_chFS_SelfCheck_Status
if(g_chFS_SelfCheck_Status > 0)
{
if(g_chFS_SelfCheck_Status & (1 << g_chBit))
{//有告警
//03信號線第xx01列
g_chLcdDriveBuf[1 + g_chLcdDriveTail] = (g_chIndex / 10) % 10 + 48;
g_chLcdDriveBuf[2 + g_chLcdDriveTail] = (g_chIndex % 10) + 48;
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[3 + chI + g_chLcdDriveTail] = chActiveAlert_24[chI];
}
g_chLcdDriveBuf[13 + g_chLcdDriveTail] = ((g_chBit + 1) / 10) % 10 + 48;
g_chLcdDriveBuf[14 + g_chLcdDriveTail] = ((g_chBit + 1) % 10) + 48;
for(chI = 0; chI < 2; chI++)
{
g_chLcdDriveBuf[15 + chI + g_chLcdDriveTail] = chActiveAlert_21_1[chI];
}
g_chIndex++;//工頻 不可以 這樣做
g_chBit++;
g_chLcdDriveTail += 16;
}
else
{
g_chBit++;
if(g_chBit >= 8)
{//該 字節 處理完了
g_chMainLcdProcess_Stat++;
g_chBit = 0;
}
}
}
else
{
g_chMainLcdProcess_Stat++;
}
break;
case 25://g_chCable_Status
if(g_chCable_Status > 0)
{
if(g_chCable_Status & (1 << g_chBit))
{//有告警
//02主干電纜第01列
g_chLcdDriveBuf[1 + g_chLcdDriveTail] = (g_chIndex / 10) % 10 + 48;
g_chLcdDriveBuf[2 + g_chLcdDriveTail] = (g_chIndex % 10) + 48;
for(chI = 0; chI < 10; chI++)
{
g_chLcdDriveBuf[3 + chI + g_chLcdDriveTail] = chActiveAlert_25[chI];
}
g_chLcdDriveBuf[13 + g_chLcdDriveTail] = ((g_chBit + 1) / 10) % 10 + 48;
g_chLcdDriveBuf[14 + g_chLcdDriveTail] = ((g_chBit + 1) % 10) + 48;
for(chI = 0; chI < 2; chI++)
{
g_chLcdDriveBuf[15 + chI + g_chLcdDriveTail] = chActiveAlert_21_1[chI];
}
g_chIndex++;//工頻 不可以 這樣做
g_chBit++;
g_chLcdDriveTail += 16;
}
else
{
g_chBit++;
if(g_chBit >= 8)
{//該 字節 處理完了
g_chMainLcdProcess_Stat++;
g_chBit = 0;
}
}
}
else
{
g_chMainLcdProcess_Stat++;
}
break;
case 26://g_chEnv_Status
//門
if((g_chEnv_Free & EnvFree_Door) || (g_chDoorStat != 2))
{//不報告!
//g_chMainLcdProcess_Stat++;
}
else
{//非法開門
//02非法開門
g_chLcdDriveBuf[1 + g_chLcdDriveTail] = (g_chIndex / 10) % 10 + 48;
g_chLcdDriveBuf[2 + g_chLcdDriveTail] = (g_chIndex % 10) + 48;
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[3 + chI + g_chLcdDriveTail] = chActiveAlert_120_1[chI + 8];
}
g_chIndex++;//工頻 不可以 這樣做
g_chLcdDriveTail += 16;
}
g_chMainLcdProcess_Stat++;
break;
case 27://
//溫度報告
if((g_chEnv_Free & EnvFree_Temperature))
{//不報告!
//g_chMainLcdProcess_Stat++;
}
else
{//溫度報告
if((g_chEnv_Status & EnvStat_Temperature))
{
//08溫度01xxxx 50度 10溫度01 xxxx 故障--由人工去判斷!因為溫度數值不對!
g_chLcdDriveBuf[1 + g_chLcdDriveTail] = (g_chIndex / 10) % 10 + 48;
g_chLcdDriveBuf[2 + g_chLcdDriveTail] = (g_chIndex % 10) + 48;
for(chI = 0; chI < 6; chI++)
{
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -