📄 untitled.c
字号:
CdBnk5Grp[12] = RevBuffer[14];
CdBnk5Grp[13] = RevBuffer[15];
CdBnk5Grp[14] = RevBuffer[16];
CdBnk5Grp[15] = RevBuffer[17];
}
if(whichbank == 6)
{
CdBnk6Grp[0] = RevBuffer[2];
CdBnk6Grp[1] = RevBuffer[3];
CdBnk6Grp[2] = RevBuffer[4];
CdBnk6Grp[3] = RevBuffer[5];
CdBnk6Grp[4] = RevBuffer[6];
CdBnk6Grp[5] = RevBuffer[7];
CdBnk6Grp[6] = RevBuffer[8];
CdBnk6Grp[7] = RevBuffer[9];
CdBnk6Grp[8] = RevBuffer[10];
CdBnk6Grp[9] = RevBuffer[11];
CdBnk6Grp[10] = RevBuffer[12];
CdBnk6Grp[11] = RevBuffer[13];
CdBnk6Grp[12] = RevBuffer[14];
CdBnk6Grp[13] = RevBuffer[15];
CdBnk6Grp[14] = RevBuffer[16];
CdBnk6Grp[15] = RevBuffer[17];
}
return 0x01;
}
}
return 0x05;//return read card is error code
}
//*****************************************************************//
//Name :WrCdOneBnk
//Input :uchar whichbank
//Output :unsigned char :0x01:ok
// 0x0d:defected
//
//Function :
//D.R.P :QiuHao
//Date :06.12.04
//*****************************************************************//
unsigned char WrCdOneBnk(unsigned char whichbank)
{
unsigned char tempa,tempb=0;
RevBuffer[0] = 0x09;
RevBuffer[1] = whichbank;
if(whichbank ==4)
{
RevBuffer[2] = CdBnk4Grp[0];
RevBuffer[3] = CdBnk4Grp[1];
RevBuffer[4] = CdBnk4Grp[2];
RevBuffer[5] = CdBnk4Grp[3];
RevBuffer[6] = CdBnk4Grp[4];
RevBuffer[7] = CdBnk4Grp[5];
RevBuffer[8] = CdBnk4Grp[6];
RevBuffer[9] = CdBnk4Grp[7];
RevBuffer[10] = CdBnk4Grp[8];
RevBuffer[11] = CdBnk4Grp[9];
RevBuffer[12] = CdBnk4Grp[10];
RevBuffer[13] = CdBnk4Grp[11];
RevBuffer[14] = CdBnk4Grp[12];
RevBuffer[15] = CdBnk4Grp[13];
RevBuffer[16] = CdBnk4Grp[14];
RevBuffer[17] = CdBnk4Grp[15];
}
if(whichbank ==5)
{
RevBuffer[2] = CdBnk5Grp[0];
RevBuffer[3] = CdBnk5Grp[1];
RevBuffer[4] = CdBnk5Grp[2];
RevBuffer[5] = CdBnk5Grp[3];
RevBuffer[6] = CdBnk5Grp[4];
RevBuffer[7] = CdBnk5Grp[5];
RevBuffer[8] = CdBnk5Grp[6];
RevBuffer[9] = CdBnk5Grp[7];
RevBuffer[10] = CdBnk5Grp[8];
RevBuffer[11] = CdBnk5Grp[9];
RevBuffer[12] = CdBnk5Grp[10];
RevBuffer[13] = CdBnk5Grp[11];
RevBuffer[14] = CdBnk5Grp[12];
RevBuffer[15] = CdBnk5Grp[13];
RevBuffer[16] = CdBnk5Grp[14];
RevBuffer[17] = CdBnk5Grp[15];
}
if(whichbank ==6)
{
RevBuffer[2] = CdBnk6Grp[0];
RevBuffer[3] = CdBnk6Grp[1];
RevBuffer[4] = CdBnk6Grp[2];
RevBuffer[5] = CdBnk6Grp[3];
RevBuffer[6] = CdBnk6Grp[4];
RevBuffer[7] = CdBnk6Grp[5];
RevBuffer[8] = CdBnk6Grp[6];
RevBuffer[9] = CdBnk6Grp[7];
RevBuffer[10] = CdBnk6Grp[8];
RevBuffer[11] = CdBnk6Grp[9];
RevBuffer[12] = CdBnk6Grp[10];
RevBuffer[13] = CdBnk6Grp[11];
RevBuffer[14] = CdBnk6Grp[12];
RevBuffer[15] = CdBnk6Grp[13];
RevBuffer[16] = CdBnk6Grp[14];
RevBuffer[17] = CdBnk6Grp[15];
}
DsInt;
Cmd_process();
OpInt;
if((RevBuffer[0]!=0x01) || (RevBuffer[1]!=0x00))
return 0x0d;
return 0x01;
}
//********************************************************************//
//Name :CardStopOp
//Input :void
//Output :unsigned char :0x01:ok
// 0x20:card stop options defseted
//Function :
//D.R.P :QiuHao
//Date :06.07.05
//********************************************************************//
unsigned char CardStopOp(void)
{
unsigned char tempa;
RevBuffer[0] = 0x01;
DsInt;
Cmd_process();
OpInt;
for(tempa=100;tempa>0;tempa--)
{
if((RevBuffer[0] == 0x01) && (RevBuffer[1] == 0x00))
return 0x01;
}
return 0x20;
}
//********************************************************************//
//Name :DisplayErrCode
//Input :unsigned char errcode: error code
//Function :display error code in Number address area (35`38)
//D.R.P :QiuHao
//Date :06.07.07
//********************************************************************//
void DisplayErrCode(unsigned char errcode)
{
unsigned char temppa,tempppa;
temppa = errcode;
tempppa = errcode;
tempppa = (tempppa >> 4) & 0x0f; //high bit number
temppa = temppa & 0x0f; //low bit number
Wr1BCDNumToLcd(14 , 35); //E
Wr1BCDNumToLcd(19 , 36); //-
Wr1BCDNumToLcd(tempppa , 37); //X
Wr1BCDNumToLcd(temppa , 38); //X
}
//********************************************************************//
//Name :ClearNumDpy
//Input :unsigned char WhatNumArea (0-4)
// 0:?(S`A?S`6nGx
// 1:5%<[Ih6(A?Gx
// 2:K.A?Gx
// 3:=p6nGx
// 4:@[<FK.A?Gx
// :unsigned char WhatflagAera(0-4)
// 0:?(S`A?S`6nGx1j<G
// 1:5%<[Ih6(A?Gx1j<G
// 2:K.A?Gx1j<G
// 3:=p6nGx1j<G
// 4:@[<FK.A?Gx1j<G
//Function :clear some display area
//D.R.P :QiuHao
//Date :06.07.07
//********************************************************************//
void ClearNumDpy(unsigned char WhatNumArea,unsigned char WhatflagAera)
{
unsigned char temppb=0,temppc=0;
if(WhatNumArea==0)
{
Wr1BCDNumToLcd(21 , 0);
Wr1BCDNumToLcd(21 , 1);
Wr1BCDNumToLcd(21 , 2);
Wr1BCDNumToLcd(21 , 3);
Wr1BCDNumToLcd(21 , 4);
Wr1BCDNumToLcd(21 , 5);
Wr1BCDNumToLcd(21 , 6);
Wr1BCDNumToLcd(21 , 7);
}
if(WhatNumArea==1)
{
Wr1BCDNumToLcd(21 , 35);
Wr1BCDNumToLcd(21 , 36);
Wr1BCDNumToLcd(21 , 37);
Wr1BCDNumToLcd(21 , 38);
Wr1BCDNumToLcd(21 , 39);
}
if(WhatNumArea==2)
{
Wr1BCDNumToLcd(21 , 8);
Wr1BCDNumToLcd(21 , 9);
Wr1BCDNumToLcd(21 , 10);
Wr1BCDNumToLcd(21 , 11);
Wr1BCDNumToLcd(21 , 12);
Wr1BCDNumToLcd(21 , 13);
}
if(WhatNumArea==3)
{
Wr1BCDNumToLcd(21 , 29);
Wr1BCDNumToLcd(21 , 30);
Wr1BCDNumToLcd(21 , 31);
Wr1BCDNumToLcd(21 , 32);
Wr1BCDNumToLcd(21 , 33);
Wr1BCDNumToLcd(21 , 34);
}
if(WhatNumArea==4)
{
Wr1BCDNumToLcd(21 , 14);
Wr1BCDNumToLcd(21 , 15);
Wr1BCDNumToLcd(21 , 16);
Wr1BCDNumToLcd(21 , 17);
Wr1BCDNumToLcd(21 , 18);
Wr1BCDNumToLcd(21 , 19);
Wr1BCDNumToLcd(21 , 20);
Wr1BCDNumToLcd(21 , 21);
Wr1BCDNumToLcd(21 , 22);
}
if(WhatNumArea==5)
{
Wr1BCDNumToLcd(21 , 23);
Wr1BCDNumToLcd(21 , 24);
Wr1BCDNumToLcd(21 , 25);
Wr1BCDNumToLcd(21 , 26);
Wr1BCDNumToLcd(21 , 27);
Wr1BCDNumToLcd(21 , 28);
}
if(WhatflagAera==0)
{
UnDPY_CardJEorYL_Area();
}
if(WhatflagAera==1)
{
UnDPY_DJorSDL_Area();
}
if(WhatflagAera==2)
{
UnDPY_SL_Area();
}
if(WhatflagAera==3)
{
UnDPY_JE_Area();
}
if(WhatflagAera==4)
{
UnDPY_LJSL_Area();
UnDPY_DateT();
}
if(WhatflagAera==5)
{
UnDPY_Time_Area();
}
}
//********************************************************************//
//Name :DypWaitSetSDST
//Input :unsigned char tempdyptype:
// 0x00:is setting JinE
// 0x01:is setting ShuiLiang
// :unsigned char tempdpyst:
// 0x01:on
// 0x00:off
//Function :when wait to setting value that display
//D.R.P :QiuHao
//Date :06.07.08
//********************************************************************//
void DypWaitSetSDST(unsigned char tempdyptype,unsigned char tempdpyst)
{
if(tempdpyst)//if this time is display
{
if(tempdyptype == 0x00)
{
OneLcdFlagSET(43);//SheDinLiang
OneLcdFlagSET(73);//'.'
OneLcdFlagSET(79);//display 'T*' flag
OneLcdFlagClear(77);
}
else
{
OneLcdFlagSET(43);//SheDinLiang
OneLcdFlagSET(73);//'.'
OneLcdFlagSET(77);//display "M2" flag
OneLcdFlagClear(79);
}
//display 6 bit number are '-'
Wr1BCDNumToLcd( 19 ,35 );
Wr1BCDNumToLcd( 19 ,36 );
Wr1BCDNumToLcd( 19 ,37 );
Wr1BCDNumToLcd( 19 ,38 );
Wr1BCDNumToLcd( 19 ,39 );
}
else//this is not display
{
OneLcdFlagClear(43);
OneLcdFlagClear(73);
OneLcdFlagClear(79);
OneLcdFlagClear(77);
Wr1BCDNumToLcd( 21 ,35 );
Wr1BCDNumToLcd( 21 ,36 );
Wr1BCDNumToLcd( 21 ,37 );
Wr1BCDNumToLcd( 21 ,38 );
Wr1BCDNumToLcd( 21 ,39 );
}
}
//********************************************************************//
//Name :UserSettingPrice
//Input :unsigned char settingtype:0x00:JinE
// : 0x01:ShuiLiang
//Output :unsigned char : 0x00:setting error
// 0x01:setting ok
//Function :
//D.R.P :QiuHao
//Date :06.07.11
//********************************************************************//
unsigned char UserSettingValue(unsigned char * whichtypedatabuf)
{
unsigned int temppii = 0;
unsigned char tempnumaddr = 35;
char selectnum=0;
unsigned char temo=0;
while(1)
{
while(1)
{
temppii++;
if(temppii == 12000)
{
if(tempnumaddr==35)
selectnum = (*(whichtypedatabuf))&0x0f;
if(tempnumaddr==36)
selectnum = ((*(whichtypedatabuf+1))&0xf0)>>4;
if(tempnumaddr==37)
selectnum = ((*(whichtypedatabuf+1))&0x0f);
if(tempnumaddr==38)
selectnum = ((*(whichtypedatabuf+2))&0xf0)>>4;
Wr1BCDNumToLcd(selectnum ,tempnumaddr );
}
if(temppii == 24000)
Wr1BCDNumToLcd(21 ,tempnumaddr );
if(temppii > 24000)
{
ReflashLcdTimeDpy(0);
temppii = 0;
}
//setting next number //KEYSEL
if(systemflag2 & 0x02)
{
systemflag2 &= 0xfd;
Wr1BCDNumToLcd(selectnum , tempnumaddr);
selectnum = 0;
break; //exit this number into next number
}
//number add 1 KEYUP
if(systemflag2&0x04)
{
systemflag2 &= 0xfb;
selectnum +=1;
if(selectnum>9)
selectnum=0;
//Record user setting value
if(tempnumaddr==35)
*whichtypedatabuf = selectnum;
if(tempnumaddr==36)
{
temo=(*(whichtypedatabuf+1)&0x0f);
*(whichtypedatabuf+1) = ((selectnum<<4)+temo);
}
if(tempnumaddr==37)
{
temo=(*(whichtypedatabuf+1)&0xf0);
*(whichtypedatabuf+1) = (selectnum+temo);
}
if(tempnumaddr==38)
{
*(whichtypedatabuf+2) = (selectnum<<4);
}
}
//number DEC 1 KEYDOWN
if(systemflag2&0x08)
{
systemflag2 &= 0xf7;
selectnum -=1;
if(selectnum<0)
selectnum = 9;
//Record user setting value
if(tempnumaddr==35)
*whichtypedatabuf = selectnum;
if(tempnumaddr==36)
{
temo=(*(whichtypedatabuf+1)&0x0f);
*(whichtypedatabuf+1) = ((selectnum<<4)+temo);
}
if(tempnumaddr==37)
{
temo=(*(whichtypedatabuf+1)&0xf0);
*(whichtypedatabuf+1) = (selectnum+temo);
}
if(tempnumaddr==38)
{
*(whichtypedatabuf+2) = (selectnum<<4);
}
}
//user turn on the 'ok'key
if(systemflag2&0x01)
{
systemflag2 & 0xfe;
Wr1BCDNumToLcd(selectnum , tempnumaddr);
selectnum = 0;
if(*whichtypedatabuf==0)
if(*(whichtypedatabuf+1)==1)
if(*(whichtypedatabuf+2)<MIXYOULIANG)
{
systemflag2&= 0xf0;
return 0x02;
}
systemflag2&= 0xf0;
return 0x01;
}
}
tempnumaddr += 1;
if(tempnumaddr == 39)
tempnumaddr = 35;
}
}
//********************************************************************//
//Name :ClearRamValue
//Input :void
// :
//Output :void
//
//Function :clear
//D.R.P :QiuHao
//Date :06.07.11
//********************************************************************//
void ClearRamValue(void)
{
Cardnum[1]=0;
Cardnum[2]=0;
DanJ[0]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -