📄 复件.c
字号:
{
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 + -