📄 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 + -