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

📄 gunza.c

📁 这是通道控制用的闸机源码
💻 C
📖 第 1 页 / 共 2 页
字号:
		   {
		       K9State=0;
		   }
  	    }  
	}
	/*if(K10State==0)//come
	{
	    if(K10==0)
		{
		   wait_time(KTIME);
		   if(K10==0)
		   {
		        MTIME++;
		   	K10State=1;
		   }
  	    }
	}
	else
	{
	    if(K10==1)
		{
		   wait_time(KTIME);
		   if(K10==1)
		   {
		       K10State=0;
		   }
  	    }  
	}*/
	    if(K11State==0)//in
	{
	    if(KJ11==0)
		{
		   wait_time(KTIME);
		   if(KJ11==0)
		   {
		       PassCount1++;
			   K11State=1;
		   }
  	    }
	}
	else
	{
	    if(KJ11==1)
		{
		   wait_time(KTIME);
		   if(KJ11==1)
		   {
		       K11State=0;
		   }
  	    }  
	}
    if(K12State==0)//out
	{
	    if(KJ12==0)
		{
		   wait_time(KTIME);
		   if(KJ12==0)
		   {
		       PassCount2++;
			K12State=1;
		   }
  	    }
	}
	else
	{
	    if(KJ12==1)
		{
		   wait_time(KTIME);
		   if(KJ12==1)
		   {
		       K12State=0;
		   }
  	    }  
	}
       if(K13State==0)//in-out
	{
	    if(KJ13==0)
	    {
		   wait_time(KTIME);
		   if(KJ13==0)
		   {
		       
			   if(K3Count<3)
			   	K3Count++;
			   else
			   	K3Count=0;	
			   K13State=1;
		   }
  	    }
	}
	else
	{
	    if(KJ13==1)
	    {
		   wait_time(KTIME);
		   if(KJ13==1)
		   {
		        
		       K13State=0;
		   }
  	    }  
	}
       if(K14State==0)//bak
	{
	    if(KJ14==0)
		{
		   wait_time(KTIME);
		   if(KJ14==0)
		   {
		       K14State=1;
		       
		   }
  	    }
	}
	else
	{
	    if(KJ14==1)
	    {
		 wait_time(KTIME);
		   if(KJ14==1)
		   {
		        OpenFlag=1;
			K14State=0;
			
		   }  
  	    }  
	}
}
void inisys(void)
{
	close_outM();
	close_inM();

}
void main (void) 
{
unsigned char ReIni;
	
        iniio();
	iniport();
        ES=1;
        TR0=1;
        
        inisys();
       TxdBuffer[0]='v';
       TxdBuffer[1]='e';
       TxdBuffer[2]='r';
TxdBuffer[3]='1';
TxdBuffer[4]='0';
TxdBuffer[5]=0x0d;
TxdCount=0;
TxdLen=6;
  		   
RxdFlag=0; 
RxdCount=0;
SBUF=TxdBuffer[0];   
  	while (1)
  	{
  		if(RxdFlag==1)
  		{
  		    if((RxdBuffer[0]=='o')&&(RxdBuffer[1]=='1'))
  		    {
  		   	 PassCount1++;
  		   	 TxdBuffer[0]='o';
  		    	 TxdBuffer[1]='k';
  		    	 TxdBuffer[2]=0x0d;
  		    	 TxdCount=0;
  		    	 TxdLen=3;
  		    }
  		    else if((RxdBuffer[0]=='o')&&(RxdBuffer[1]=='2'))
  		    {
  		         PassCount2++;
  		         TxdBuffer[0]='o';
  		    	 TxdBuffer[1]='k';
  		    	 TxdBuffer[2]=0x0d;
  		    	 TxdCount=0;
  		    	 TxdLen=3; 
  		    }    
  		    else if((RxdBuffer[0]=='s')&&(RxdBuffer[1]=='1'))
  		    {
  		    	if(K3Count<3)
			   	K3Count++;
			   else
			   	K3Count=0;
			TxdBuffer[0]='o';
  		    	 TxdBuffer[1]='k';
  		    	 TxdBuffer[2]=0x0d;
  		    	 TxdCount=0;
  		    	 TxdLen=3;   			
  		    }
  		    else if((RxdBuffer[0]=='g')&&(RxdBuffer[1]=='1'))
  		    {
  		    		TxdBuffer[0]=0x30+AllCome1/10000;
  		    		TxdBuffer[1]=0x30+(AllCome1%10000)/1000;
  		    		TxdBuffer[2]=0x30+(AllCome1%1000)/100;
  		    		TxdBuffer[3]=0x30+(AllCome1%100)/10;
  		    		TxdBuffer[4]=0x30+AllCome1%10;
  		    		TxdBuffer[5]=0x0d;
  		    		TxdCount=0;
  		    		TxdLen=6;
  		    }
  		    else if((RxdBuffer[0]=='g')&&(RxdBuffer[1]=='2'))
  		    {
  		    		TxdBuffer[0]=0x30+AllCome2/10000;
  		    		TxdBuffer[1]=0x30+(AllCome2%10000)/1000;
  		    		TxdBuffer[2]=0x30+(AllCome2%1000)/100;
  		    		TxdBuffer[3]=0x30+(AllCome2%100)/10;
  		    		TxdBuffer[4]=0x30+AllCome2%10;
  		    		TxdBuffer[5]=0x0d;
  		    		TxdCount=0;
  		    		TxdLen=6;
  		    }
  		    RxdFlag=0; 
  		    RxdCount=0;
  		    SBUF=TxdBuffer[0];   
  		}
  		/*if(LedTime==80)//led program
		{
                  	open_outM();
                  	
  	         }
  	         else if(LedTime>=160)//led program
		{
                  	close_outM();
                  	LedTime=0;
                 } 	
  	
        }
        
        {	*/
                DOGWATCH=~DOGWATCH;
            	//rxddo();     /*串口接收处理*/
            	key_main();
            	/*if(WaitTime>500)
            	{
            		WaitTime=0;
            		if(K3Count<3)
			   	K3Count++;
			   else
			   	K3Count=0;	
            	}*/
            	if(K3Count==0)
		{
			if(WaitFlag==0)
			{
				if(PassCount1>0)
		 		{
					open_inM();
					LED1=1;
					LED4=1;
					WaitFlag=1;
					OpenFlag=0;
		                	WaitTime=0;
				}
		            	else
		 		{
					if(PassCount2>0)
			 		{
						open_outM();
						LED3=1;
						LED2=1;
			                	WaitFlag=2;
			                	OpenFlag=0;
						WaitTime=0;
					}
				}
				
			}
			else if(WaitFlag==1)
			{
				if((OpenFlag==1)||(WaitTime>1000))
				{
					
					PassCount1--;
					LED1=0;
					LED4=0;
					WaitFlag=0;
                        		if(OpenFlag==1)
                        		{
                        			wait_time(WTIME);
                        			close_inM();
                        			AskCome1();
                        			AllCome1++;
                        		}
                        		else
                        			close_inM();	
				}
                    		
			}
			else if(WaitFlag==2)
			{
				if((OpenFlag==1)||(WaitTime>1000))
				{
					PassCount2--;
					LED3=0;
					LED2=0;
					WaitFlag=0;
                        		if(OpenFlag==1)
                        		{
                        			wait_time(WTIME);
                        			close_outM();
                        			AskCome2();
                        			AllCome2++;
                        		}
                        		else
                        			close_outM();	
				}
				
			}
			else if(WaitFlag==5)
			{
				WaitFlag=0;
				PassCount1=0;
				PassCount2=0;
				close_inM();
				close_outM();
				LED1=0;
				LED2=0;
				LED3=0;
				LED4=0;
			}
			
		}
		else if(K3Count==1)
		{
			
			WaitFlag=3;
			open_inM();
			close_outM();
			LED2=0;
			LED3=0;
			switch(LedCount)
				{
					case 0:
						LED1=1;
						LED4=1;
					break;
                             		case 1:
						LED1=1;
						LED4=1;
					break;
					case 2:
						LED1=0;
						LED4=0;
					break;
                             		case 3:
						LED1=0;
						LED4=0;
					break;
				}
			if(OpenFlag==1)
                        		{
                        			
                        			OpenFlag=0;
                        			AskCome1();
                        			AllCome1++;
                        		}	
			
		}
		else if(K3Count==2)
		{
		        
			WaitFlag=4;
			open_outM();
			close_inM();
			LED1=0;
			LED4=0;
			switch(LedCount)
				{
					case 0:
						LED3=1;
						LED2=1;
					break;
                             		case 1:
						LED2=1;
						LED3=1;
					break;
					case 2:
						LED2=0;
						LED3=0;
					break;
                             		case 3:
						LED2=0;
						LED3=0;
					break;
				}
			        if(OpenFlag==1)
                        		{
                        			
                        			OpenFlag=0;
                        			AskCome2();
                        			AllCome2++;
                        		}	
		}
		else if(K3Count==3)
		{
			
			WaitFlag=5;
			open_outM();
			open_inM();
			LED2=0;
			LED4=0;
			switch(LedCount)
				{
					case 0:
						LED1=1;
						LED3=1;
					break;
                             		case 1:
						LED1=1;
						LED3=1;
					break;
					case 2:
						LED1=0;
						LED3=0;
					break;
                             		case 3:
						LED1=0;
						LED3=0;
					break;
				}
		}
           	if(LedTime>=30)//led program
		{
                  	checkme();
                  	LedTime=0;
		        LedCount++;
		        if(ErrFlag==0)
			{
                        	//LED2=0;
                        	//LED4=0;
                        	if(LedCount>3)
					LedCount=0;
				switch(LedCount)
				{
					case 0:
						LED=1;
					break;
                             		case 1:
						LED=1;
					break;
					case 2:
						LED=0;
					break;
                             		case 3:
						LED=0;
					break;
				}
			}
			else if(ErrFlag<128)
			{
                        	
                        	if(LedCount>5)
						   LedCount=0;
				  		switch(LedCount)
						{
						     case 0:
							   LED=1;
							   LED2=1;
                        				   LED4=1;
							 break;
                             				case 1:
							   LED=0;
							    LED2=0;
                        				   LED4=0;
							 break;
							 case 2:
							   LED=1;
							   LED2=1;
                        				   LED4=1;
							 break;
                             				case 3:
							   LED=0;
							 break;
							 case 4:
							   LED=0;
							    LED2=0;
                        				   LED4=0;
							 break;
                             				case 5:
							   LED=0;
							    LED2=0;
                        				   LED4=0;
							 break;
						}
			}
			else
			{
				      
				        if(LedCount>7)
						   LedCount=0;
				  		switch(LedCount)
						{
	                         case 0:		 
							   LED=1;
							   LED2=1;
                        				   LED4=1;
							 break;
                             case 1:
							   LED=0;
							    LED2=0;
                        				   LED4=0;
							 break;
							 case 2:
							   LED=1;
							   LED2=1;
                        				   LED4=1;
							 break;
                             case 3:
							   LED=0;
							    LED2=0;
                        				   LED4=0;
							 break;
							 case 4:
							   LED=1;
							   LED2=1;
                        				   LED4=1;
							 break;
                             case 5:
							   LED=0;
							 break;
							 case 6:
							   LED=0;
							   LED2=0;
                        				   LED4=0;
							 break;
                             case 7:
							   LED=0;
							    LED2=0;
                        				   LED4=0;
							 break;
					   }
				  }
           }
           


   }        
}
void powerDown(void) interrupt 2 using 2
{
	
	
	DOGWATCH=~DOGWATCH;
/*	SET3=0;
	SET4=1;
	PW2=1;
	SET2=0;
	SET1=1;
	PW1=1;
	TimeCount=MTIME;
			while(TimeCount!=0){
			
            				DOGWATCH=~DOGWATCH;
            				 
			}
			PW2=0;
			SET3=1;	
			PW1=0;
			SET2=1;	
			while(TimeCount!=0){
			
            				DOGWATCH=~DOGWATCH;
            				 
			}*/
				
	while(1)
	{
	
	}

	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -