📄 lcddrive.c
字号:
uint8 IsEnglishPrint=0;
uint8 UnitGroup[7][8];
uint8 mg_dL[8]= {38,32,55,29,11,64,64,64}; //index=1;
uint8 mmol_L[8]={38,38,40,37,55,11,64,64}; //index=2;
uint8 umol_L[8]={46,38,40,37,55,11,64,64}; //index=3;
uint8 cells_uL[8]={28,30,37,37,44,55,46,11}; //index=4;
uint8 g_L[8]={32,55,11,64,64,64,64,64}; //index=5;
uint8 EU_dL[8]={4,20,55,29,11,64,64,64};//index=6;
uint8 NODATA[10]={13,14,64,3,0,19,0,63,63,63};
uint8 ATPRESENTRECOND[18]={0,19,64,15,17,4,18,4,13,19,64,17,4,2,14,13,3,63};
uint8 POSITIVE[9]={54,15,14,18,8,19,8,21,4};//*
uint8 NEGATIVE[9]={64,13,4,6,0,19,8,21,4};
uint8 TRACE[9]={64,19,17,0,2,4,64,64,64};
uint8 SMALL[9]={54,18,12,0,11,11,64,64,64};//*
uint8 MODERATE[9]={54,12,14,3,4,17,0,19,4};//* 54 第一行为符号
uint8 LARGE[9]={54,11,0,17,6,4,64,64,64};//*
uint8 ERROR[7]={4,17,17,14,17,64,64};
const uint8 YELLOWValue[3][11]={11,63,19,63,64,24, 4,11,11,14,22, //L.T.YELLOW
24, 4,11,11,14,22,64,64,64,64,64,
7,63,21,63,64,24, 4,11,11,14,22
};
uint8 NTSMLGroup[5][9]; //negative, Trace ,samall,moderate,lagreg
uint8 NTOTTAddGroup[5][9]; //nagative,trace ,1+,2+,3+
void LCD_DrawChinaWordGroup(uint8 FontDataGroup[],uint8 StartPage,uint8 StartX,uint8 XWidth,uint8 IsInvertDisp);
uint8 DispAndPrintResultItem[12][6];
extern uint8 ReadSetItemParamsValue[15][7];
extern uint16 ForeHighValue;
extern uint8 IsHaveSaveAlllOneTime;
extern uint8 IsSaveSetReflectRateChanged;
extern uint8 PresentStripType;
extern uint8 IsReadOneRecond;
uint8 ErrorNumber=0;
void LCD_DsipUnitLine(void);
void GetCOLORValue(uint8 k);
////////////////////////////////////////////////////////////////////////////////////
void GetItemUnitAndNSL(void)
{
uint8 m=0,k;
for(m=0;m<8;m++)
{
UnitGroup[0][m]=64;//空
UnitGroup[1][m]=mg_dL[m]; //1
UnitGroup[2][m]=mmol_L[m];//2
UnitGroup[3][m]=umol_L[m];//3
UnitGroup[4][m]=cells_uL[m]; //4
UnitGroup[5][m]=g_L[m];//5
UnitGroup[6][m]=EU_dL[m];//6
}
for(m=0;m<9;m++)
{
NTSMLGroup[0][m]=NEGATIVE[m];
NTSMLGroup[1][m]=TRACE[m];
NTSMLGroup[2][m]=SMALL[m];
NTSMLGroup[3][m]=MODERATE[m];
NTSMLGroup[4][m]=LARGE[m];
}
for(k=0;k<5;k++)for(m=0;m<9;m++)NTOTTAddGroup[k][m]=64;
for(m=0;m<9;m++)
{
NTOTTAddGroup[0][m]=NEGATIVE[m];
NTOTTAddGroup[1][m]=TRACE[m];
}
NTOTTAddGroup[2][0]=54;NTOTTAddGroup[2][1]=66;NTOTTAddGroup[2][2]=52; //*1+-- 54 +-- 52
NTOTTAddGroup[3][0]=54;NTOTTAddGroup[3][1]=67;NTOTTAddGroup[3][2]=52;//*2+
NTOTTAddGroup[4][0]=54;NTOTTAddGroup[4][1]=68;NTOTTAddGroup[4][2]=52;//*3+
}
/////////////////////////////////////////////////////////////////////////////////
void GetItmeGroup(void)
{
uint8 m=0,k;
for(m=0;m<6;m++)
{
TestItemGroup[0][m]=VC[m];
TestItemGroup[1][m]=GLU[m];
TestItemGroup[2][m]=BIL[m];
TestItemGroup[3][m]=KET[m];
TestItemGroup[4][m]=SG[m];
TestItemGroup[5][m]=BLD[m];
TestItemGroup[6][m]=PH[m];
TestItemGroup[7][m]=PRO[m];
TestItemGroup[8][m]=URO[m];
TestItemGroup[9][m]=NIT[m];
TestItemGroup[10][m]=LEU[m];
TestItemGroup[11][m]=COLOR[m];
}
for(m=0;m<12;m++)for(k=0;k<6;k++)DispAndPrintResultItem[m][k]=TestItemGroup[m][k];
GetItemUnitAndNSL();
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void GetVCValue(uint8 unitnuber,uint8 k)
{
uint8 m=0;
for(m=0;m<16;m++)ResultTempGroup[m]=64;
if((IsDispAndPrintReflateRate)&&(DispPageOrder!=10))
{
ResultTempGroup[1]=ReflectRate[0]/100+65;
if(ResultTempGroup[1]==65)ResultTempGroup[1]=64;
ResultTempGroup[2]=(ReflectRate[0]%100)/10+65;
ResultTempGroup[4]=ReflectRate[0]%10+65;
ResultTempGroup[3]=63;
ResultTempGroup[5]=56;
}
else
{
switch(unitnuber)
{
case 0:
for(m=0;m<5;m++) ResultTempGroup[m+3]=mg_dL[m];
if(k==0) for(m=0;m<9;m++)ResultTempGroup[m]=NEGATIVE[m];//ResultTempGroup[1]=65;//0mg/dL
if(k==1){ ResultTempGroup[1]=66;ResultTempGroup[2]=65;}//10mg/dL
if(k==2){ ResultTempGroup[1]=67;ResultTempGroup[2]=70;};//25mg/dL
if(k==3){ ResultTempGroup[1]=70;ResultTempGroup[2]=65;};//50mg/dL
if(k>=4)
{
ResultTempGroup[1]=60;ResultTempGroup[2]=57;
ResultTempGroup[3]=66;ResultTempGroup[4]=65,
ResultTempGroup[5]=65;
for(m=0;m<5;m++)ResultTempGroup[m+6]=mg_dL[m];
};//>=100mg/dL
break;
case 1:
// ResultTempGroup[11]={64,64,64,38,38,40,37,55,11,64,64};//mmol/L
for(m=0;m<9;m++)ResultTempGroup[m]=NTOTTAddGroup[k][m];
break;
case 2:
case 3:
for(m=0;m<6;m++) ResultTempGroup[m+4]=mmol_L[m];
if(k==0) for(m=0;m<9;m++)ResultTempGroup[m]=NEGATIVE[m];
if(k==1){ ResultTempGroup[1]=65;ResultTempGroup[2]=63;ResultTempGroup[3]=69;}//0.6mmol/L
if(k==2){ ResultTempGroup[1]=66;ResultTempGroup[2]=63;ResultTempGroup[3]=69;};//1.4mmol/L
if(k==3){ ResultTempGroup[1]=68;ResultTempGroup[2]=63;ResultTempGroup[3]=65;};//3.0mmol/L
if(k>=4)
{
ResultTempGroup[1]=60;ResultTempGroup[2]=57;
ResultTempGroup[3]=71;ResultTempGroup[4]=63,
ResultTempGroup[5]=65;
for(m=0;m<6;m++) ResultTempGroup[m+6]=mmol_L[m];
};//>=6.0mmol/L
break;
}
}
}
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
void GetGLUValue(uint8 unitnuber,uint8 k)
{
uint8 m=0;
uint16 tempref=ReflectRate[1];
for(m=0;m<16;m++)ResultTempGroup[m]=64;
if((IsDispAndPrintReflateRate)&&(DispPageOrder!=10))
{
ResultTempGroup[1]=tempref/100+65;
if(ResultTempGroup[1]==65)ResultTempGroup[1]=64;
ResultTempGroup[2]=(tempref%100)/10+65;
ResultTempGroup[4]=tempref%10+65;
ResultTempGroup[3]=63;
ResultTempGroup[5]=56;
}
else
{
switch(unitnuber)
{
case 0:
for(m=0;m<5;m++) ResultTempGroup[m+4]=mg_dL[m];/// *1+-- 54 +-- 52
if(k==0) for(m=0;m<9;m++) ResultTempGroup[m]=NEGATIVE[m];// NEGATIVE
if(k==1){ ResultTempGroup[1]=66;ResultTempGroup[2]=65;ResultTempGroup[3]=65;}//100mg/dL
if(k==2){ ResultTempGroup[0]=54;ResultTempGroup[1]=67;ResultTempGroup[2]=70;ResultTempGroup[3]=65;};//250mg/dL
if(k==3){ ResultTempGroup[0]=54;ResultTempGroup[1]=70;ResultTempGroup[2]=65;ResultTempGroup[3]=65;};//500mg/dL
if(k>=4)
{ ResultTempGroup[0]=54;ResultTempGroup[1]=60;
ResultTempGroup[2]=57;ResultTempGroup[3]=66;ResultTempGroup[4]=65;
ResultTempGroup[5]=65;ResultTempGroup[6]=65;
for(m=0;m<5;m++) ResultTempGroup[m+7]=mg_dL[m];
}//>=1000mg/dL
break;
case 1:
for(m=0;m<9;m++)ResultTempGroup[m]=NTOTTAddGroup[k][m];
break;
case 2:
case 3:
if(k==0) for(m=0;m<9;m++)ResultTempGroup[m]=NEGATIVE[m];//NEGATIVE
if(k>0) for(m=0;m<6;m++)ResultTempGroup[m+4]=mmol_L[m]; //mmol/l
if(k==1){ ResultTempGroup[1]=70;ResultTempGroup[2]=63;ResultTempGroup[3]=70;}//5.5mmol/L
if(k==2){ ResultTempGroup[1]=66;ResultTempGroup[2]=69;}//14mmol/L
if(k==3){ ResultTempGroup[1]=67;ResultTempGroup[2]=73;}//28mmol/L
if(k>=4)
{
ResultTempGroup[1]=60;ResultTempGroup[2]=57;
ResultTempGroup[3]=70;ResultTempGroup[4]=70;
for(m=0;m<6;m++) ResultTempGroup[m+5]=mmol_L[m];
};//>=55mmol/L
break;
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void GetBILValue(uint8 unitnuber,uint8 k)
{
uint8 m=0;
uint16 tempref=ReflectRate[2];
for(m=0;m<16;m++)ResultTempGroup[m]=64;
if((IsDispAndPrintReflateRate)&&(DispPageOrder!=10))
{
ResultTempGroup[1]=tempref/100+65;
i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -