📄 ssx-m02.c
字号:
{
DE=1;
TI=0;
SBUF=td_dat[i];
while(TI==0){}
}
}
}
else{ /*零号命令校准,写站号...无应答*/
if(rd_dat[3]==0)
{
bjzh=1;
zhhao=rd_dat[5];
}
if(rd_dat[3]==1){shrjzh=1;}
if(rd_dat[3]==2)
{
shchjzh=1;
mingling=rd_dat[5];
}
for(i=0;i<8;i++) /*原样发回*/
{
td_dat[i]=rd_dat[i];
}
ES=0;
for(i=0;i<8;i++)
{
DE=1;
TI=0;
SBUF=td_dat[i];
while(TI==0){}
}
RI=0;
ES=1;
if(rd_dat[3]==4)
{
if((rd_dat[5]==1)||(rd_dat[5]==2)||(rd_dat[5]==4)||(rd_dat[5]==8)||(rd_dat[5]==16)||(rd_dat[5]==32))
{
tx_bzh=1;
}
}
}
}
}
rd_cont=0;
}
/*==========================================================================================*/
void timer1() interrupt 3
{
TH1=-(9216/256);
TL1=-(9216%256);
jsh++;
if(jsh==10)
{
jsh=0;
dshbit=1;
}
}
/*==========================================================================================*/
serial_comm() interrupt 4
{
if(TI==1)
{
DE=0;
TI=0;
rd_cont=0;
RI=0;
}
else
{
RI=0;
rd_dat[rd_cont]=SBUF;
rd_cont++;
if(rd_cont>=9){rd_cont=0;} /*最多接受8个字符*/
TR0=0; /*每接受一个字符,重新置超时计数器*/
TH0=0-(com_bzh+com_bzh>>1); /*1.5字节+0.25毫秒认为数据流中断*/
TL0=0x00;
TR0=1;
ET0=1;
}
}
/*==========================================================================================*/
void d_a(x)
unsigned int xdata x;
{
unsigned char idata i;
sclk=0;
d_acs=1;
d_acs=0;
da=x/256;
for(i=0;i<=7;i++)
{
sclk=1;
din=da_7;
sclk=0;
da=da<<1;
}
da=x&0x00ff;
for(i=0;i<=7;i++)
{
sclk=1;
din=da_7;
sclk=0;
da=da<<1;
}
sclk=1;
sclk=0;
d_acs=1;
}
/*==========================================================================================*/
shamao()
{
int data shm;
unsigned char data i;
shm=read(200);
if(shm!=0x55aa)
{
wren();
rdsr();
wrsr();
rdsr();
shm=0x55aa;
write(shm,200);
rdsr();
write(3855,0);
rdsr();
write(3855,2);
rdsr();
write(3855,4);
rdsr();
write(3855,6);
rdsr();
write(735,8);
rdsr();
write(3660,10);
rdsr();
write(735,12);
rdsr();
write(3660,14);
rdsr();
write(2,16);
rdsr();
write(1,100); /*100写入波特率默认值1=19200波特*/
rdsr();
write(0,40);
rdsr();
write(500,42);
rdsr();
write(500,44);
rdsr();
write(1000,46);
rdsr();
write(1000,48);
rdsr();
write(600,50);
rdsr();
write(600,52);
rdsr();
write(0,54);
rdsr();
write(0,56);
rdsr();
write(1,58);
rdsr();
write(1,60);
rdsr();
write(0,62);
rdsr();
write(0,64);
rdsr();
write(1,66);
rdsr();
write(1,68);
rdsr();
write(1,70);
rdsr();
write(1,72);
rdsr();
write(0,74);
rdsr();
write(0,76);
rdsr();
}
zh=0;
zl=0;
v=0;
r=0;
da=0;
jsh=0;
dshbit=0;
rd_cont=0;
shrjzh=0;
shchjzh=0;
bjzh=0;
tx_bzh=0;
zhhao=read(16);
com_bzh=read(100);
mingling=0;
haz1=0;
haz2=0;
cel1=0;
cel2=0;
dde=0;
de1=0;
de2=0;
df1=0;
tel1=0;
tel2=0;
tde=0;
te1=0;
te2=0;
tf1=0;
qsh1=0;
qsh2=0;
shchf1=0;
shchf2=0;
bz1=0;
bz2=0;
for(i=0;i<19;i++)
{
jshhc[i]=read(40+i*2);
}
}
/*==========================================================================================*/
void chsh(unsigned char data x1)
{
v=x1;
zh=0;
xsclk=0;
ysh();
xscs=0;
ysh();
/*11*/
zh_3=xsdou;
xsdin=v_7;
xsclk=1;
xsclk=0;
/*10*/
zh_2=xsdou;
xsdin=v_6;
xsclk=1;
xsclk=0;
/*9*/
zh_1=xsdou;
xsdin=v_5;
xsclk=1;
xsclk=0;
/*8*/
zh_0=xsdou;
xsdin=v_4;
xsclk=1;
xsclk=0;
/*7*/
zl_7=xsdou;
xsdin=v_3;
xsclk=1;
xsclk=0;
/*6*/
zl_6=xsdou;
xsdin=v_2;
xsclk=1;
xsclk=0;
/*5*/
zl_5=xsdou;
xsdin=v_1;
xsclk=1;
xsclk=0;
/*4*/
zl_4=xsdou;
xsdin=v_0;
xsclk=1;
xsclk=0;
/*3*/
zl_3=xsdou;
xsdin=v_7;
xsclk=1;
xsclk=0;
/*2*/
zl_2=xsdou;
xsdin=v_7;
xsclk=1;
xsclk=0;
/*1*/
zl_1=xsdou;
xsdin=v_7;
xsclk=1;
xsclk=0;
/*0*/
zl_0=xsdou;
xsdin=v_7;
xsclk=1;
xsclk=0;
ysh();
xscs=1;
ysh();
ysh();
}
/*==========================================================================================*/
void ad()
{
unsigned char xdata a[64];
unsigned int idata y[32];
unsigned int data x1,x2;
unsigned char data i,j,k,m;
float data x3,x4;
for(j=0;j<=3;j++)
{
for(i=0;i<=30;i++)
{
while(xseoc==0){};
k=j*16;
chsh(k);
a[2*i]=zh;
a[2*i+1]=zl;
}
while(xseoc==0){};
k=(j+1)*16;
if(k==64){k=0;}
chsh(k);
a[62]=zh;
a[63]=zl;
ep_cs!=ep_cs;
for(i=0;i<=31;i++)
{
x1=a[2*i];
x1=x1*256;
x2=a[2*i+1];
y[i]=x1+x2;
}
for(i=0;i<=30;i++)
{
for(m=0;m<=30;m++)
{
x1=y[m];
x2=y[m+1];
if(x1<x2)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -