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

📄 复件.c

📁 单片机TCP IP software
💻 C
📖 第 1 页 / 共 5 页
字号:
  				{
  					SCICTL1&=0x0FFFB; 	/* clear SLEEP */
  					CONFIRMNUM1=0;  
  					CONFIRMNUM2=0;  
  					CONFIRMNUM=0;
  					COUNTNUM=0;  
  				}
  				else if(SCIRXID==0x00015) /*呼梯上呼*/
  				{
  					SCICTL1&=0x0FFFB; 	/* clear SLEEP */
  					CONFIRMNUM1=0;  
  					CONFIRMNUM2=0;  
  					CONFIRMNUM=0;
  					COUNTNUM=0;   
  					STATENUM=0;
  				}
  				else if(SCIRXID==0x0016) /*呼梯下呼*/
  				{
  					SCICTL1&=0x0FFFB; 	/* clear SLEEP */
  					CONFIRMNUM1=0;  
  					CONFIRMNUM2=0;  
  					CONFIRMNUM=0;
  					COUNTNUM=0;   
  					STATENUM=0;
  				}
  				else  
  				{
  					 SCI_BUF1=SCIRXBUF;
  				}
  	
  			}
  			   		
  			else      /*receive datas*/
  			{
  				if(SCIRXID==0x0002)    /*pulses*/
  				{
  					COUNTNUM++;
  					if(COUNTNUM==1)  
  					{
  						CONFIRMNUM1=SCIRXBUF;  
  					}  
  					else if(COUNTNUM==2)
  					{
  					 	CONFIRMNUM=SCIRXBUF;
  					}
  					else if(COUNTNUM==3)
  					{
  						COUNTNUM=0;
  						CONFIRMNUM2=SCIRXBUF; 
  					}   
  					a=(CONFIRMNUM1==0x0088)&&(CONFIRMNUM2==0x0066); 
  					if(a==1) 
  					{
  					    SCI_NUM2=CONFIRMNUM;
  					    CONFIRMNUM1=0;  
  						CONFIRMNUM2=0; 
  						COUNTNUM=0;   
                		SCITX_FLAG=2;  				
  			    		INTDELAY=1;
  			    		JACK=0;             /*开1秒定时器*/
  			    		SCITIME=0;          /*清1秒到标志*/
  			    		SCIT1000MS=100; 
                		SCICTL1|=0x0004;    /* enable SLEEP */
            		}

            	}
           		else if(SCIRXID==0x0005)  /*trouble status*/
            	{
            		COUNTNUM++;
  					if(COUNTNUM==1)  
  					{
  						CONFIRMNUM1=SCIRXBUF;  
  					}  
  					else if(COUNTNUM==2)
  					{
  					 	CONFIRMNUM=SCIRXBUF;
  					}
  					else if(COUNTNUM==3)
  					{
  						COUNTNUM=0;
  						CONFIRMNUM2=SCIRXBUF; 
  					}   
  					a=(CONFIRMNUM1==0x0088)&&(CONFIRMNUM2==0x0066); 
  					if(a==1) 
  					{
  					    SCI_NUM2=CONFIRMNUM;
  					    CONFIRMNUM1=0;  
  						CONFIRMNUM2=0; 
  						COUNTNUM=0;   
                		SCITX_FLAG=5;  				
  			    		INTDELAY=1;
  			    		JACK=0;             /*开1秒定时器*/
  			    		SCITIME=0;          /*清1秒到标志*/
  			    		SCIT1000MS=100; 
                		SCICTL1|=0x0004;    /* enable SLEEP */
            		}
            	}
         	    else if(SCIRXID==0x0009)  /*set self_study sign*/
         		{
  					b1=(IN_CB&0x0008)&&(IN_BB&0x0004);  /*检修为0*/
  					if(b1==0)
  					{
  						SCI_NUM5=SCIRXBUF;
  						if(SCI_NUM5==0x0088)
  						{
  							SCI_NUM5=0;
  							AOPSYMBOL|=0x0010;  /*set self_study sign*/
  							STYOVER=0;
  							p1=(unsigned int*)0x038B;
  							*p1&=0xFFBF;
  							SCITX_FLAG=1;
  							INTDELAY=1;
  			    			JACK=0;             /*开1秒定时器*/
  			    			SCITIME=0;          /*清1秒到标志*/
  			    			SCIT1000MS=100; 
  			    			SCICTL1|=0x0004;    /* enable SLEEP */
  			    		}
  			    	}
  				}
  				else if(SCIRXID==0x000A)     /*clear self_study sign*/
  				{
  					SCI_NUM3++;
  					if(SCI_NUM3==1)
  					{
  						SCI_NUM5=SCIRXBUF;
  					}
            		else if(SCI_NUM3==2)   
            		{
            			SCI_NUM3=0;
            			SCI_NUM6=SCIRXBUF;
  						if((SCI_NUM5==0x0088)&&(SCI_NUM6==0x0066))
  						{
  							SCI_NUM5=0;
  							SCI_NUM6=0;
  							AOPSYMBOL&=0x0FFEF; 
  							SCITX_FLAG=1;
  							INTDELAY=1;
  			    			JACK=0;             /*开1秒定时器*/
  			    			SCITIME=0;          /*清1秒到标志*/
  			    			SCIT1000MS=100; 
  			    			SCICTL1|=0x0004;    /* enable SLEEP */
  			    		}
  			    	}
  				}   	
            	else if(SCIRXID==0x0007)  /*receive modified datas*/
            	{
            		SCI_NUM7++;
            		if(SCI_NUM7==1)
  					{
  						SCI_NUM5=SCIRXBUF;
  					}	
            		else if(SCI_NUM7==27)   /*25 datas*/
            		{
            			SCI_NUM6=SCIRXBUF;
            			SCI_NUM7=0;            			
            			SCICTL1|=0x0004;    /* enable SLEEP */
            		}		
            		else
            		{
            			*SCI_SP=SCIRXBUF;
            			SCI_SP++;
            		}
            		a=(SCI_NUM5==0x0088)&&(SCI_NUM6==0x0066);
            		if(a==1)
            		{	           			
            			SCI_NUM5=0;
            			SCI_NUM6=0;
            			MODI_PARA=9;
            			MODI_PARA1=0;
            			SCITX_FLAG=1;
  				    	INTDELAY=1;         /*开30ms定时器*/
  			    		JACK=0;            
  			    		SCITIME=0;          /*清1秒到标志*/
  			    		SCIT1000MS=100; 
  			    		SCI_NUM7=0;
  				    	SCICTL1|=0x0004;    /* enable SLEEP */
  				    }
  				    else
  				    {
  				    	SCITX_FLAG=11;
  						JACK=1;             /*开1秒定时器*/
  			 	   		SCITIME=0;          /*清1秒到标志*/
  			 	   		SCIT1000MS=100;
  				    }
            	}
            	else if(SCIRXID==0x000D)     /*楼层偏置*/
  				{
  					COUNTNUM++;
  					if(COUNTNUM==1)  
  					{
  						CONFIRMNUM1=SCIRXBUF;  
  					}  
  					else if(COUNTNUM==2)
  					{
  					 	CONFIRMNUM=SCIRXBUF;
  					}
  					else if(COUNTNUM==3)
  					{
  						COUNTNUM=0;
  						CONFIRMNUM2=SCIRXBUF; 
  					}   
  					a=(CONFIRMNUM1==0x0088)&&(CONFIRMNUM2==0x0066); 
  					if(a==1) 
  					{
  					   	FLOOROFFSET=CONFIRMNUM; 
  					   	STATENUM=CONFIRMNUM;
  					    CONFIRMNUM1=0;  
  						CONFIRMNUM2=0; 
  						COUNTNUM=0;   
                 		SCITX_FLAG=8; 				
  			    		INTDELAY=1;
  			    		JACK=0;             /*开1秒定时器*/
  			    		SCITIME=0;          /*清1秒到标志*/
  			    		SCIT1000MS=100; 
                		SCICTL1|=0x0004;    /* enable SLEEP */
            		} 
  			    }   
  			    else if(SCIRXID==0x000E)     /*门动设置*/
  				{
  					COUNTNUM++;
  					if(COUNTNUM==1)  
  					{
  						CONFIRMNUM1=SCIRXBUF;  
  					}  
  					else if(COUNTNUM==2)
  					{
  					 	CONFIRMNUM=SCIRXBUF;
  					}
  					else if(COUNTNUM==3)
  					{
  						COUNTNUM=0;
  						CONFIRMNUM2=SCIRXBUF; 
  					}   
  					a=(CONFIRMNUM1==0x0088)&&(CONFIRMNUM2==0x0066); 
  					if(a==1) 
  					{
  					    DOOR=CONFIRMNUM;
  					    STATENUM=CONFIRMNUM; 
  					    CONFIRMNUM1=0;  
  						CONFIRMNUM2=0; 
  						COUNTNUM=0;   
                		SCITX_FLAG=8; 				
  			    		INTDELAY=1;
  			    		JACK=0;             /*开1秒定时器*/
  			    		SCITIME=0;          /*清1秒到标志*/
  			    		SCIT1000MS=100; 
                		SCICTL1|=0x0004;    /* enable SLEEP */
            		} 
  			    } 
  			    else if(SCIRXID==0x0010)     /*定时启动*/
  				{
  					COUNTNUM++;
  					if(COUNTNUM==1)  
  					{
  						CONFIRMNUM1=SCIRXBUF;  
  					}  
  					else if(COUNTNUM==2)
  					{
  					 	CONFIRMNUM=SCIRXBUF;
  					}
  					else if(COUNTNUM==3)
  					{
  						COUNTNUM=0;
  						CONFIRMNUM2=SCIRXBUF; 
  					}   
  					a=(CONFIRMNUM1==0x0088)&&(CONFIRMNUM2==0x0066); 
  					if(a==1) 
  					{
  					    BYQD=1;
  					    STATENUM=CONFIRMNUM; 
  					    CONFIRMNUM1=0;  
  						CONFIRMNUM2=0; 
  						COUNTNUM=0;   
                		SCITX_FLAG=8; 				
  			    		INTDELAY=1;
  			    		JACK=0;             /*开1秒定时器*/
  			    		SCITIME=0;          /*清1秒到标志*/
  			    		SCIT1000MS=100; 
                		SCICTL1|=0x0004;    /* enable SLEEP */
            		} 
  			    }  
  				else if(SCIRXID==0x0015)     /*呼梯上呼*/
  				{
  					COUNTNUM++;
  					if(COUNTNUM==1)  
  					{
  						CONFIRMNUM1=SCIRXBUF;  
  					}  
  					else if(COUNTNUM==2)
  					{
  					 	CONFIRMNUM=SCIRXBUF;
  					}
  					else if(COUNTNUM==3)
  					{
  						COUNTNUM=0;
  						CONFIRMNUM2=SCIRXBUF; 
  					}   
  					a=(CONFIRMNUM1==CONFIRMNUM)||(CONFIRMNUM2==CONFIRMNUM); 
  					if((a==1)&&(CONFIRMNUM1!=0)&&(CONFIRMNUM!=0)&&(CONFIRMNUM2!=0))  
  					{
  					    STATENUM=CONFIRMNUM;
  					    CONFIRMNUM1=0;  
  						CONFIRMNUM2=0; 
  						COUNTNUM=0;   
                        SCI_P=(unsigned int*)&UPDATE0; 
  						SCI_P+=(STATENUM/8); 
  						NUMBER=0x0001;  
  						NUMBER<<=(STATENUM%8-1);
  						*SCI_P|=NUMBER; 
  						CAN_FLAG=1;
  						
                		SCITX_FLAG=8; 				
  			    		INTDELAY=1;
  			    		JACK=0;             /*开1秒定时器*/
  			    		SCITIME=0;          /*清1秒到标志*/
  			    		SCIT1000MS=100; 
                		SCICTL1|=0x0004;    /* enable SLEEP */
            		} 
  			    }  
  			    else if(SCIRXID==0x0016)     /*呼梯下呼*/
  				{
  					COUNTNUM++;
  					if(COUNTNUM==1)  
  					{
  						CONFIRMNUM1=SCIRXBUF;  
  					}  
  					else if(COUNTNUM==2)
  					{
  					 	CONFIRMNUM=SCIRXBUF;
  					}
  					else if(COUNTNUM==3)
  					{
  						COUNTNUM=0;
  						CONFIRMNUM2=SCIRXBUF; 
  					}   
  					a=(CONFIRMNUM1==CONFIRMNUM)||(CONFIRMNUM2==CONFIRMNUM); 
  					if((a==1)&&(CONFIRMNUM1!=0)&&(CONFIRMNUM!=0)&&(CONFIRMNUM2!=0))
  					{
  					    STATENUM=CONFIRMNUM;
  					    CONFIRMNUM1=0;  
  						CONFIRMNUM2=0; 
  						COUNTNUM=0; 
  						SCI_P=(unsigned int*)&DOWNDATE0; 
  						SCI_P+=(STATENUM/8); 
  						NUMBER=0x0001;  
  						NUMBER<<=(STATENUM%8-1);
  						*SCI_P|=NUMBER;
  						CAN_FLAG=1; 
  						  
                		SCITX_FLAG=8; 				
  			    		INTDELAY=1;
  			    		JACK=0;             /*开1秒定时器*/
  			    		SCITIME=0;          /*清1秒到标志*/
  			    		SCIT1000MS=100; 
                		SCICTL1|=0x0004;    /* enable SLEEP */
            		} 
  			    }
            	
            	else
            	{
            		SCI_BUF1=SCIRXBUF;
            	}
            }
  		
  	SCI_BUF1=SCIRXBUF;
  	}	
}	 	


void Sci_RxAdj()
{
    	p1=(unsigned int*)0x038D;
    	v1=*p1;
    	p1++;
    	v2=*p1;
    	p1++;
    	v3=*p1;
    	p1++;
    	v4=*p1;
    	p1++;
    	v5=*p1;
    	p1++;   
    	
    	JSBAOY=v3; 
    	JSBAOY&=0x00ff;
    	JSBAOY<<=8;
    	JSBAOY&=0xff00;
    	JSBAOY|=v2;
    	
    	A2TIMES=*p1;   /*开门设定延时0392H*/
		p1++;
	 	A5TIMES=*p1;   /*关门设定延时0393H*/
	 	p1++;
	 	A1TIMES=*p1;   /*有呼叫关门延时0394H*/
	 	p1++;
	 	A7TIMES=*p1;   /*无呼叫关门延时0395H*/
	 	p1++;
	 	C2TIMES=*p1;   /*无呼叫返回基站延时0396H*/
	 	p1++;
		E7TIMES=*p1;   /*给方向后松闸延时0397H*/
		p1++;
		E4TIMES=*p1;   /*撤速后抱闸延时0398H*/
	 	p1++;
	 	E2TIMES=*p1;   /*松闸后输出速度0399H*/
	 	p1++;
	 	E6TIMES=*p1;   /*抱闸后撤方向延时039AH*/
	 	p1++;
	 	FIRST_LOU=*p1; /*楼层偏置039BH*/
	 	p1++;
	 	RUN_STATION=*p1;  /*基站楼层039CH*/
	 	p1++;
	 	FLOOR_FIRE=*p1;   /*消防楼层039DH*/
	 	p1++;
	 	SPECIAL=*p1;      /*特殊服务楼层039EH*/
	 	p1++;
	 	PASSWORD1=*p1;    /*密码039FH*/
	 	p1++;
        SP1_PULSE=*p1;   /*中速换速脉冲03A0H--低8位*/
	 	p1++;
	 	SCI_NUM5=*p1; 
	 	SCI_NUM5<<=8;
	 	SCI_NUM5&=0x0FF00;
	 	SP1_PULSE&=0x00FF;
	 	SP1_PULSE|=SCI_NUM5;    /*中速换速脉冲03A1H--高8位*/
	 	p1++;
	 	SP2_PULSE=*p1;     /*高速换速脉冲03A2H--低8位*/
	 	p1++;
	 	SCI_NUM5=*p1; 
	 	SCI_NUM5<<=8;
	 	SCI_NUM5&=0x0FF00;
	 	SP2_PULSE&=0x00FF;
	 	SP2_PULSE|=SCI_NUM5;     /*高速换速脉冲03A3H--高8位*/
	 	p1++;
	 	SP3_PULSE=*p1;     /*超高速换速脉冲03A4H--低8位*/
	 	p1++;
	 	SCI_NUM5=*p1; 
	 	SCI_NUM5<<=8;
	 	SCI_NUM5&=0x0FF00;
	 	SP3_PULSE&=0x00FF;
	 	SP3_PULSE|=SCI_NUM5;     /*超高速换速脉冲03A5H--高8位*/
    
}

void Sci_TxAdj()
{
	 p1=(unsigned int*)0x0388;
	 *p1=FLOOR_N;  /*当前楼层0388H*/
	 p1++;
	 *p1=FLOOR_MIX;/*最小楼层0389H*/
	 p1++;
	 *p1=FLOOR_MAX; /*最高楼层038AH*/
	 p1++;          /*电梯当前状态038BH*/
	 *p1=0;
	 if(IN_AB&0x0008)   /*下强换2*/
	 {
	 	*p1|=0x0008;  /*p1=038BH*/
	 }
	 else
	 {
	 	*p1&=0x0FFF7;
	 }
     if(IN_CB&0x0020)   /*上强换2*/
     {
     	*p1|=0x0010;     /*p1=038BH*/
     }                   
     else
     {
     	*p1&=0x0FFEF;
     }
	 if((IN_CB&0x0008)&&(IN_BB&0x0004)) /*检修为0*/
	 {
	 	*p1|=0x0002; /*正常    p1=038BH*/
	 }
	 else
	 {
	 	*p1&=0x0FFFD;
	 } 
	 if(AOPSYMBOL&0x0010)  /* 自学习 */
	 {
	 	*p1|=0x0020;       /*p1=038BH*/
	 }
	 else
	 {
	 	*p1&=0x0FFDF;
	 }
	 if(BOPSYMBOL&0x0010)  /*消防有效*/
	 {
	 	*p1|=0x0001;       /*p1=038BH*/
	 }
	 if(STYOVER==1)  /*自学习结束*/
	 {
	 	*p1|=0x0040;       /*p1=038BH*/
	 }
	 else
	 {
	 	*p1&=0x0FFBF;
	 }
	 if(IN_AB&0x0010)    /*门区接通*/
	 {
	 	*p1|=0x0004;     /*p1=038BH*/
	 }
	 else
	 {
	 	*p1&=0x0FFFB;
	 }
	 p1++;       /*p1=038CH*/
	 *p1=0;      /*当前速度状态038CH*/
	 
	 if(COPSYMBOL&0x0001)   /*高速*/
	 {
	 	*p1|=0x0002;        /*p1=038CH*/
	 }
	 else
	 {
	 	*p1&=0x0FFFD;
	 }
	 if(COPSYMBOL&0x0002)	/*中速*/
	 {
	 	*p1|=0x0004;        /*p1=038CH*/
	 }
	 else
	 {
	 	*p1&=0x0FFFB;
	 }
	 if(COPSYMBOL&0x0080)	/*爬行*/
	 {
	 	*p1|=0x0008;        /*p1=038CH*/
	 }
	 else
	 {
	 	*p1&=0x0FFF7;
	 }
	 if(DOPSYMBOL&0x0002)	/*检修速度*/
	 {
	 	*p1|=0x0010;        /*p1=038CH*/
	 }
	 else
	 {
	 	*p1&=0x0FFEF;
	 }
	 if(BOPSYMBOL&0x0020)    /*上行*/
	 {
	 	*p1|=0x0020;        /*p1=038CH*/ 
	 }
	 else
	 {
	 	*p1&=0x00DF;
	 }
	 if(BOPSYMBOL&0x0040)    /*下行*/
	 {
	 	*p1|=0x0040;        /*p1=038CH*/ 
	 }
	 else
	 {
	 	*p1&=0x00BF;
	 }
	 if(MODI_PARA1!=11)
	 {
		 v2=JSBAOY;
		 v2&=0x00ff;
		 v3=JSBAOY;
		 v3>>=8;
		 v3&=0x00ff;
		 
		 p1++;
	 	*p1=v1;  	/*超高速速度值038DH*/
		 p1++;
	 	*p1=v2;  	/*高速速度值038EH*/
		 p1++;
	 	*p1=v3; 	/*中速速度值038FH*/
	 	p1++;
	 	*p1=v4;    /*爬行速度值0390H*/
	 	p1++;
	 	*p1=v5;    /*检修速度值0391H*/
	 	p1++;            
	 	*p1=A2TIMES;   /*开门设定延时0392H*/
	 	p1++;
	 	*p1=A5TIMES;   /*关门设定延时0393H*/
	 	p1++;
	 	*p1=A1TIMES;   /*有呼叫关门延时0394H*/
	 	p1++;
	 	*p1=A7TIMES;   /*无呼叫关门延时0395H*/
	 	p1++;
	 	*p1=C2TIMES;   /*无呼叫返回基站延时0396H*/
	 	p1++;

⌨️ 快捷键说明

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