?? lcdshow.c
字號:
g_chLcdDriveBuf[3 + chI + g_chLcdDriveTail] = chActiveAlert_121[chI];
}
//已經保證了 g_chTemperature 》= 60
g_chLcdDriveBuf[11 + g_chLcdDriveTail] = (g_chTemperature - 60) / 100 + 48;
g_chLcdDriveBuf[12 + g_chLcdDriveTail] = ((g_chTemperature - 60) / 10) % 10 + 48;
g_chLcdDriveBuf[13 + g_chLcdDriveTail] = (g_chTemperature - 60) % 10 + 48;
g_chLcdDriveBuf[15 + g_chLcdDriveTail] = chActiveAlert_121[6];
g_chLcdDriveBuf[16 + g_chLcdDriveTail] = chActiveAlert_121[7];
g_chIndex++;//工頻 不可以 這樣做
g_chLcdDriveTail += 16;
}
}
g_chMainLcdProcess_Stat++;
break;
case 28://
//電壓報告
if((g_chEnv_Free & EnvFree_DC))
{//不報告!
//g_chMainLcdProcess_Stat++;
}
else
{//電壓報告
if((g_chEnv_Status & EnvStat_DC))
{
//直流電壓 度
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_122[chI];
}
g_chLcdDriveBuf[12 + g_chLcdDriveTail] = ((g_chDC) / 10) % 10 + 48;
g_chLcdDriveBuf[13 + g_chLcdDriveTail] = (g_chDC) % 10 + 48;
g_chLcdDriveBuf[15 + g_chLcdDriveTail] = chActiveAlert_122[8];
g_chLcdDriveBuf[16 + g_chLcdDriveTail] = chActiveAlert_122[9];
g_chIndex++;//工頻 不可以 這樣做
g_chLcdDriveTail += 16;
}
}
g_chMainLcdProcess_Stat++;
break;
case 29://
//有害氣體
if((g_chEnv_Free & EnvFree_BadGas))
{//不報告!
//
}
else
{//有害氣體
if((g_chEnv_Status & EnvStat_BadGas))
{
//有害氣體 %
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_123[chI];
}
g_chLcdDriveBuf[12 + g_chLcdDriveTail] = ((g_chBadGas) / 100) % 10 + 48;
g_chLcdDriveBuf[13 + g_chLcdDriveTail] = ((g_chBadGas) / 10) % 10 + 48;
g_chLcdDriveBuf[14 + g_chLcdDriveTail] = (g_chBadGas) % 10 + 48;
g_chLcdDriveBuf[16 + g_chLcdDriveTail] = '%';
g_chIndex++;//工頻 不可以 這樣做
g_chLcdDriveTail += 16;
}
}
g_chMainLcdProcess_Stat++;
break;
case 30://end
if(g_chLcdDriveTail == 16)
{
g_chLcdDriveTail = 32;
}
else
{
g_chMainLcdProcess_Stat = 19;
}
break;
//121-221 顯示調試、維護信息
case 120:
//門
//第一行 不報告門禁系統
g_chLcdDriveBuf[1] = '1';
//g_chLcdDriveBuf[2] = '1';
for(chI = 0; chI < 14; chI++)
{
g_chLcdDriveBuf[3 + chI] = chActiveAlert_120[chI];
}
if(g_chEnv_Free & EnvFree_Door)
{//不報告!
//
}
else
{//報告
g_chLcdDriveBuf[3] = ' ';
g_chLcdDriveBuf[4] = ' ';
}
//第二行 門的狀態!
// g_chLcdDriveBuf[17] = '0';
// g_chLcdDriveBuf[18] = '2';
switch(g_chDoorStat)
{//0-門關 1-密碼開門 2-非法開門 3-中心開門 4-禁用門禁 5-啟用 6-門開
case 0:
for(chI = 0; chI < 4; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_120_2[chI + 4];
}
break;
case 1://
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[21 + chI] = g_chOpenDoorID[chI];
}
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[25 + chI] = chActiveAlert_120_1[chI];
}
break;
case 2:
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_120_1[chI + 8];
}
break;
case 3:
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_120_1[chI + 16];
}
break;
case 4:
for(chI = 0; chI < 4; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_120_2[chI + 8];
}
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[23 + chI] = chActiveAlert_120[chI + 6];
}
break;
case 6:
for(chI = 0; chI < 4; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_120_2[chI];
}
break;
}
g_chLcdDriveTail = 32;
g_chMainLcdProcess_Stat = 121;//
break;
case 121:
//溫度報告
//第一行 溫度01 不報告
g_chLcdDriveBuf[1] = '2';
//g_chLcdDriveBuf[2] = '3';
for(chI = 0; chI < 6; chI++)
{
g_chLcdDriveBuf[9 + chI] = chActiveAlert_121[chI];
}
for(chI = 0; chI < 6; chI++)
{
g_chLcdDriveBuf[3 + chI] = chActiveAlert_120[chI];
}
if(g_chEnv_Free & EnvFree_Temperature)
{//不報告!
//
}
else
{//報告
g_chLcdDriveBuf[3] = ' ';
g_chLcdDriveBuf[4] = ' ';
}
//第二行 溫度01 度
// g_chLcdDriveBuf[17] = '0';
// g_chLcdDriveBuf[18] = '4';
for(chI = 0; chI < 6; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_121[chI];
}
g_chLcdDriveBuf[27] = (g_chTemperature - 60) / 100 + 48;
g_chLcdDriveBuf[28] = ((g_chTemperature - 60) / 10) % 10 + 48;
g_chLcdDriveBuf[29] = (g_chTemperature - 60) % 10 + 48;
g_chLcdDriveBuf[31] = chActiveAlert_121[6];
g_chLcdDriveBuf[32] = chActiveAlert_121[7];
g_chLcdDriveTail = 32;
g_chMainLcdProcess_Stat = 122;//
break;
case 122:
//電壓報告
//第一行 直流電壓 不報告
g_chLcdDriveBuf[1] = '3';
//g_chLcdDriveBuf[2] = '5';
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[9 + chI] = chActiveAlert_122[chI];
}
for(chI = 0; chI < 6; chI++)
{
g_chLcdDriveBuf[3 + chI] = chActiveAlert_120[chI];
}
if(g_chEnv_Free & EnvFree_DC)
{//不報告!
//
}
else
{//報告
g_chLcdDriveBuf[3] = ' ';
g_chLcdDriveBuf[4] = ' ';
}
//第二行 直流電壓 度
// g_chLcdDriveBuf[17] = '0';
// g_chLcdDriveBuf[18] = '6';
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_122[chI];
}
g_chLcdDriveBuf[28] = ((g_chDC) / 10) % 10 + 48;
g_chLcdDriveBuf[29] = (g_chDC) % 10 + 48;
g_chLcdDriveBuf[31] = chActiveAlert_122[8];
g_chLcdDriveBuf[32] = chActiveAlert_122[9];
g_chLcdDriveTail = 32;
g_chMainLcdProcess_Stat = 123;//--------no
break;
case 123:
//有害氣體
//第一行 有害氣體 不報告
g_chLcdDriveBuf[1] = '4';
//g_chLcdDriveBuf[2] = '5';
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[9 + chI] = chActiveAlert_123[chI];
}
for(chI = 0; chI < 6; chI++)
{
g_chLcdDriveBuf[3 + chI] = chActiveAlert_120[chI];
}
if(g_chEnv_Free & EnvFree_BadGas)
{//不報告!
//
}
else
{//報告
g_chLcdDriveBuf[3] = ' ';
g_chLcdDriveBuf[4] = ' ';
}
//第二行 有害氣體 99 %
// g_chLcdDriveBuf[17] = '0';
// g_chLcdDriveBuf[18] = '6';
for(chI = 0; chI < 8; chI++)
{
g_chLcdDriveBuf[19 + chI] = chActiveAlert_123[chI];
}
g_chLcdDriveBuf[28] = ((g_chBadGas) / 100) % 10 + 48;
g_chLcdDriveBuf[29] = ((g_chBadGas) / 10) % 10 + 48;
g_chLcdDriveBuf[30] = (g_chBadGas) % 10 + 48;
g_chLcdDriveBuf[32] = '%';
g_chLcdDriveTail = 32;
g_chMainLcdProcess_Stat = 124;//--------no
g_chBit = 0;
break;
//下面是八個 工頻
case 124:
//工頻
//第一行 04強電01列9999mA
g_chLcdDriveBuf[1] = (g_chBit + 5) / 10 + 48;//'5';
g_chLcdDriveBuf[2] = ((g_chBit + 5) % 10) + 48;//'5';
for(chI = 0; chI < 4; chI++)
{
g_chLcdDriveBuf[3 + chI] = chActiveAlert_124[chI];
}
g_chLcdDriveBuf[7] = (g_chBit + 1) / 10 + 48;//'5';
g_chLcdDriveBuf[8] = ((g_chBit + 1) % 10) + 48;//'5';
for(chI = 0; chI < 2; chI++)
{
g_chLcdDriveBuf[9 + chI] = chActiveAlert_21_1[chI];
}
g_chLcdDriveBuf[11] = ((g_intGP_Current[g_chBit] / 1000) % 10) + 48;//
g_chLcdDriveBuf[12] = ((g_intGP_Current[g_chBit] / 100) % 10) + 48;//
g_chLcdDriveBuf[13] = ((g_intGP_Current[g_chBit] / 10) % 10) + 48;//
g_chLcdDriveBuf[14] = ((g_intGP_Current[g_chBit]) % 10) + 48;//
g_chLcdDriveBuf[15] = 'm';
g_chLcdDriveBuf[16] = 'A';
//第二行 xx固有值:x 0000 mA
// g_chLcdDriveBuf[17] = '0';
// g_chLcdDriveBuf[18] = '6';
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_chLcdDriveTail = 32;
g_chBit++;
if(g_chBit >= 8)
{
g_chMainLcdProcess_Stat = 19;//--------no
}
break;
default:
g_chMainLcdProcess_Stat = 0;
break;
}
}
else
{
if(g_chMainLcdProcess_1s > 10)
{//狀態 = 0 緩沖區 != 0 有問題---是防止程序有問題,但如果 LCD 有問題,?無辦法
g_chLcdDriveTail = 0;
g_chLcdDriveHead = 0;
g_chLcdDrive_Stat = 0;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -