⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stccoinboxnew.c

📁 投币按摩椅驱动程序
💻 C
📖 第 1 页 / 共 5 页
字号:
    	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 + -