📄 stccoinboxnew.c
字号:
PSendChar(temp);
temp=(uchar)g8563_Store[2]&0x0f;
temp+=0x30;
PSendChar(temp);
temp=(uchar)g8563_Store[1];//分
temp=(((temp>>4)&0x0f)+0x30);
PSendChar(temp);
temp=(uchar)g8563_Store[1]&0x0f;
temp+=0x30;
PSendChar(temp);
PSendChar(',');
for(nCnt=0;nCnt<6;nCnt++)PSendChar(nTotalCoins[5-nCnt]+0x30);
PSendChar(',');
PSendChar('o');
PSendChar('k');
PSendChar('!');
PSendChar(0x1a);
PSendChar('\r');
}
void GSM_Tansmit_MoneyFull()
{ uchar nCnt=0;
uchar temp;
for(nCnt=0;nCnt<10;nCnt++) PSendChar(Command_Cmgf[nCnt]);
bStartTC35iPermit=1;
while(bStartTC35iPermit){WDT_CONTR=0x34;bGsmLed =0;}
bGsmLed =1;
for(nCnt=0;nCnt<8;nCnt++) PSendChar(Command_Cmgs[nCnt]);
for(nCnt=0;nCnt<15;nCnt++)
{ //if(SmsMangerCenterCode[nCnt]!=0x0d)
PSendChar(SmsMangerCenterCode[nCnt]);
// else return;
}
bStartTC35iPermit=1;
while(bStartTC35iPermit){WDT_CONTR=0x34;bGsmLed =0;}
bGsmLed =1;
PSendChar(';');
PSendChar('2');
PSendChar(',');
// P8563_gettime();
temp=(uchar)g8563_Store[6];//年
temp=(((temp>>4)&0x0f)+0x30);
PSendChar(temp);
temp=(uchar)g8563_Store[6]&0x0f;
temp+=0x30;
PSendChar(temp);
temp=(uchar)g8563_Store[5];//月
temp=(((temp>>4)&0x0f)+0x30);
PSendChar(temp);
temp=(uchar)g8563_Store[5]&0x0f;
temp+=0x30;
PSendChar(temp);
temp=(uchar)g8563_Store[3];//日
temp=(((temp>>4)&0x0f)+0x30);
PSendChar(temp);
temp=(uchar)g8563_Store[3]&0x0f;
temp+=0x30;
PSendChar(temp);
temp=(uchar)g8563_Store[2];//小时
temp=(((temp>>4)&0x0f)+0x30);
PSendChar(temp);
temp=(uchar)g8563_Store[2]&0x0f;
temp+=0x30;
PSendChar(temp);
temp=(uchar)g8563_Store[1];//分
temp=(((temp>>4)&0x0f)+0x30);
PSendChar(temp);
temp=(uchar)g8563_Store[1]&0x0f;
temp+=0x30;
PSendChar(temp);
PSendChar(',');
for(nCnt=0;nCnt<6;nCnt++)PSendChar(nTotalCoins[5-nCnt]+0x30);
PSendChar(',');
PSendChar('o');
PSendChar('k');
PSendChar('!');
PSendChar(0x1a);
PSendChar('\r');
}
void LockCoinBox(void)
{while(1)WDR();}
void PassWordErro()
{
bDotShow = FALSE ;
Lcddis[9]=LcdSeg[3];//LcdSeg[0];//0
Lcddis[8] = r ;//r
Lcddis[7] = r ;//r
Lcddis[6] = E ;//E
}
void PassWord_Read()
{ uchar nCnt=0;
//No_DispParameter;
WDR();
bDotShow=0;
//EA=1;
if(!bPassWordErro)
{
Lcddis[0]=0x00;
Lcddis[1]=0x00;
Lcddis[2]=0x00;
Lcddis[3]=0x00;
Lcddis[4]=0x00;
Lcddis[5]=0x00;
Lcddis[6]=0x01;
Lcddis[7]=0x01;
Lcddis[8]=0x01;
Lcddis[9]=0x01;
Lcddis[10]=0x00;
Lcddis[11]=0x00;
}
//////////////////////////////////
if(keydata!= KeyOff )
{
delay_20ms();
if((keydata!=Key_A)&&(keydata!=Key_B)&&(keydata!=Key_C)&&(keydata!=Key_D)&&(keydata!=Key_E)&&(keydata!=Key_F)&&(keydata!=KeyOk)) return;//nPasswordstatus=4;
switch(nPasswordstatus)
{
default:
{ bPassWordErro=0;
Buzzer1();
for(nCnt=6;nCnt<10;nCnt++)Lcddis[nCnt]=LcdSeg[10];
//for(nCnt=0;nCnt<4;nCnt++)User_PassWord[nCnt]=0;
if((keydata!=User_PassWord[0])&&(keydata!=Supervisor_PassWord[0]))bPassWordErro=1;
else
{
if(keydata==User_PassWord[0])bUser_PassWordPermit=1;
else bUser_PassWordPermit=0;
if(keydata==Supervisor_PassWord[0])bSupervisor_PassWordPermit=1;
else bSupervisor_PassWordPermit=0;
}//
// delay_20ms();
while(keydata1!=KeyOff)WDR();
keydata=KeyOff;
nPasswordstatus=1;
}break;
case 1:
{
Buzzer1();
if((keydata==User_PassWord[1])&&(bUser_PassWordPermit!=0))bUser_PassWordPermit=1;
else bUser_PassWordPermit=0;
if((keydata==Supervisor_PassWord[1])&&(bSupervisor_PassWordPermit!=0))bSupervisor_PassWordPermit=1;
else bSupervisor_PassWordPermit=0;
// delay_20ms();
while(keydata1!=KeyOff)WDR();
keydata=KeyOff;
nPasswordstatus=2;
}break;
case 2:
{
Buzzer1();
if((keydata==User_PassWord[2])&&(bUser_PassWordPermit!=0))bUser_PassWordPermit=1;
else bUser_PassWordPermit=0;
if((keydata==Supervisor_PassWord[2])&&(bSupervisor_PassWordPermit!=0))bSupervisor_PassWordPermit=1;
else bSupervisor_PassWordPermit=0;
// delay_20ms();
while(keydata1!=KeyOff)WDR();
keydata=KeyOff;
nPasswordstatus=3;
}break;
case 3:
{
Buzzer1();
if((keydata==User_PassWord[3])&&(bUser_PassWordPermit!=0))bUser_PassWordPermit=1;
else bUser_PassWordPermit=0;
if((keydata==Supervisor_PassWord[3])&&(bSupervisor_PassWordPermit!=0))bSupervisor_PassWordPermit=1;
else bSupervisor_PassWordPermit=0;
// delay_20ms();
while(keydata1!=KeyOff)WDR();
keydata=KeyOff;
nPasswordstatus=4;
}break;
case 4:
{
if(keydata==KeyOk)
{Buzzer1();
if((bUser_PassWordPermit!=0)||(bSupervisor_PassWordPermit!=0)){bPassWordErro=0;nPasswordstatus=0;}
else bPassWordErro=1;
while(keydata1!=KeyOff)WDR();
keydata=KeyOff;
}
else
{
while(keydata1!=KeyOff)WDR();
keydata=KeyOff;
return;
}
if(bPassWordErro)
{
if(nPassWordErroTime<2)
{
nPassWordErroTime++;
//bKey_Test=1;
bPassWordPermit=1;
PassWordErro();
nPasswordstatus=5;
}
else LockCoinBox();
}
else
{
nPassWordErroTime=0;
nPasswordstatus=0;
bPassWordPermit=0;
bFirstKey_Test=1;
keystatus=0;
Lcddis[0]=LcdSeg[10];
Lcddis[1]=LcdSeg[10];
for(nCnt=4;nCnt<10;nCnt++)Lcddis[nCnt]=LcdSeg[10];
Lcddis[9]=LcdSeg[0];
}
while(keydata1!=KeyOff)WDR();
keydata=KeyOff;
}break;
}
}
else
{
switch(nPasswordstatus)
{
case 0:
{
if(PassWordDelay<PassWordFlashOnTime)Lcddis[6]=0x01;
else {Lcddis[6]=0x00; if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;}
}break;
case 1:
{
Lcddis[6]=LcdSeg[8];
if(PassWordDelay<PassWordFlashOnTime)Lcddis[7]=0x01;
else {Lcddis[7]=0x00; if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;}
}break;
case 2:
{
Lcddis[6]=LcdSeg[8];
Lcddis[7]=LcdSeg[8];
if(PassWordDelay<PassWordFlashOnTime)Lcddis[8]=0x01;
else {Lcddis[8]=0x00; if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;}
}break;
case 3:
{
Lcddis[6]=LcdSeg[8];
Lcddis[7]=LcdSeg[8];
Lcddis[8]=LcdSeg[8];
if(PassWordDelay<PassWordFlashOnTime)Lcddis[9]=0x01;
else {Lcddis[9]=0x00; if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;}
// No_DispParameter;
Delay();
}break;
case 4:
Lcddis[6]=LcdSeg[8];
Lcddis[7]=LcdSeg[8];
Lcddis[8]=LcdSeg[8];
Lcddis[9]=LcdSeg[8];
/*
if(PassWordDelay<PassWordFlashOnTime)Lcddis[9]=0x01;
else
{Lcddis[9]=0x00;
if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;
}
*/
// No_DispParameter;
Delay();
break;
default: break;
}
}
lcd();
}
void PassWord_Write(uchar PassWordAddress)
{uchar nCnt;
////////////////////////////
bSetPassWordPermit=1;
if(!bPassWordErro)
{
Lcddis[0]=0x00;
Lcddis[1]&=0xf0;
Lcddis[2]&=0xff;
Lcddis[3]=0x00;
Lcddis[4]=0x00;
Lcddis[5]=0x00;
Lcddis[6]=0x01;
Lcddis[7]=0x01;
Lcddis[8]=0x01;
Lcddis[9]=0x01;
Lcddis[10]=0x00;
Lcddis[11]=0x00;
}
WDR();
//////////////////////////////////
if(keydata!=KeyOff )
{
if(nPasswordstatus==4)nPasswordstatus=0;
//if(!nPasswordstatus)bPassWordErro=1;
if((nKeyTimes>=8)&&(keydata!=KeyOk)) return;
nKeyTimes++;//if(!bPassWordErro){nPasswordstatus=0;PassWordPosition=0;}
delay_20ms();
switch(keydata)
{
case Key_A :
Buzzer1();
PassWord[PassWordPosition++]=Key_A;
if(PassWordPosition>=8)PassWordPosition=0;
nPasswordstatus++;
if(nPasswordstatus>=4)nPasswordstatus=0;
// keydata=KeyOff;
break;
case Key_B :
Buzzer1();
PassWord[PassWordPosition++]=Key_B;
if(PassWordPosition>=8)PassWordPosition=0;
nPasswordstatus++;
if(nPasswordstatus>=4)nPasswordstatus=0;
// keydata=KeyOff;
break;
case Key_C :
Buzzer1();
PassWord[PassWordPosition++]=Key_C;
if(PassWordPosition>=8)PassWordPosition=0;
nPasswordstatus++;
if(nPasswordstatus>=4)nPasswordstatus=0;
keydata=KeyOff;
break;
case Key_D :
Buzzer1();
PassWord[PassWordPosition++]=Key_D;
if(PassWordPosition>=8)PassWordPosition=0;
nPasswordstatus++;
if(nPasswordstatus>=4)nPasswordstatus=0;
break;
case Key_E :
Buzzer1();
PassWord[PassWordPosition++]=Key_E;
if(PassWordPosition>=8)PassWordPosition=0;
nPasswordstatus++;
if(nPasswordstatus>=4)nPasswordstatus=0;
break;
case Key_F :
Buzzer1();
PassWord[PassWordPosition++]=Key_F;
if(PassWordPosition>=8)PassWordPosition=0;
nPasswordstatus++;
if(nPasswordstatus>=4)nPasswordstatus=0;
break;
case KeyOk :
Buzzer1();
for(nCnt=0;nCnt<4;nCnt++)
{
if(PassWord[nCnt]!=PassWord[nCnt+4])
{
PassWordPosition=0;
nPasswordstatus=0;
for(nCnt=0;nCnt<8;nCnt++) PassWord[nCnt]=0;
bSetPassWordPermit=1;
bPassWordErro=0;
nPasswordstatus=4;
nKeyTimes=0;
PassWordErro();
goto next;
}
}
EA=0;
if(WriteToRom(&PassWord,PassWordAddress,4)==FALSE)
WriteToRom(&PassWord,PassWordAddress,4);
PassWordPosition=0;
bSetPassWordPermit=0;
nPasswordstatus=0;
nKeyTimes=0;
EA=1;
next:
break;
default:break;
}
while(keydata1!=KeyOff)WDR();
keydata=KeyOff;
}
else
{
switch(nPasswordstatus)
{
case 0:
{
if(PassWordDelay<PassWordFlashOnTime)
{
Lcddis[6]=0x01;
// Lcddis[7]=0x01;
//Lcddis[8]=0x01;
//Lcddis[9]=0x01;
}
else {Lcddis[6]=0x00; if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;}
}break;
case 1:
{
Lcddis[6]=LcdSeg[8];
if(PassWordDelay<PassWordFlashOnTime)Lcddis[7]=0x01;
else {Lcddis[7]=0x00; if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;}
}break;
case 2:
{
Lcddis[6]=LcdSeg[8];
Lcddis[7]=LcdSeg[8];
if(PassWordDelay<PassWordFlashOnTime)Lcddis[8]=0x01;
else {Lcddis[8]=0x00; if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;}
}break;
case 3:
{
Lcddis[6]=LcdSeg[8];
Lcddis[7]=LcdSeg[8];
Lcddis[8]=LcdSeg[8];
if(PassWordDelay<PassWordFlashOnTime)Lcddis[9]=0x01;
else {Lcddis[9]=0x00; if(PassWordDelay>PassWordFlashOffTime)PassWordDelay=0;}
}break;
default: PassWordErro();
break;
}
}
//UserIDOn;
//////////////////////////////
//lcd();
///////////////////////////
}
/////////////////////////////
void WDR()
{WDT_CONTR=0x34;}
void main()
{
uchar nCnt,temp,temp1,temp2; // ,temp
P0 = 0xff;
P1 = 0xff;
P2 = 0xff;
P3 = 0xff;
P4 = 0x00;
TMOD = 0x01;
TH0 = 0xf8;///0xf8;
TL0 = 0x30;///0x30;
Init_BaudRate0();
Init_BaudRate1();
T_Status=0;
bTxd0_SendPermit=0;
TR0 = 1;
ET0 = 1;
R_Status=0;
T_Status=0;
nSpareMoney = 0;
//WP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -