📄 ad.c
字号:
#include<reg66x.h>
#include"lcjmain.h"
#include"ad.h"
WORD sta165;
WORD out595;
int adval1,adval2,adval3,adval4,adzero1,adzero2,dang;
char adcs1,adcs2;
BYTE adsw;
int fk;
void initad()
{
BYTE i;
adcal=0;
for(i=0;i<10;i++);
adcal=1;
for(i=0;i<10;i++);
adcal=0;
}
WORD rd165()
{
WORD x;
BYTE i,j;
P2&=0x1f;
x=0;
P2|=0xe1;
for(i=0;i<16;i++)
{
sclk=0;
j=~data165;
x=(x<<1)|j;
sclk=1;
}
sta165=x;
return(x);
}
void wrb595(WORD n)
{
BYTE i;
WORD m;
m=n;
stb595=0;
for(i=0;i<16;i++)
{
sclk=0;
outdata=m&0x8000;
m<<=1;
sclk=1;
}
stb595=1;
}
void getad()
{
BYTE i,j;
long addata;
int n;
BYTE m;
if(getbit(sta165,11))
{
addata=0;
P2=(P2&0x1f)|csad1;
for(i=0;i<20;i++)
{
sclk=0;
sclk=1;
j=adindata;
addata=(addata<<1)|j;
}
P2=P2|0xe8;
if(addata&0x80000)addata|=0xfff00000;
addata=addata+addata*fk/1000;
addata>>=4;
n=addata;
n-=adzero1;
if(dang>0)n/=dang;
if(((adval1-n)>20)||((adval1-n)<-20))
{
if(adcs1>1)
{
adval1=n;
adcs1=0;
}
else adcs1++;
}
else
{
adval1=n;
adcs1=0;
}
}
if(getbit(sta165,12))
{
addata=0;
P2=(P2&0x1f)|csad2;
for(i=0;i<20;i++)
{
sclk=0;
sclk=1;
j=adindata;
addata=(addata<<1)|j;
}
P2=P2|0xe0;
if(addata&0x80000)addata|=0xfff00000;
addata=addata+addata*fk/1000;
addata>>=4;
n=addata;
n-=adzero2;
if(dang>0)n/=dang;
if(((adval2-n)>20)||((adval2-n)<-20))
{
if(adcs2>1)
{
adval2=n;
adcs2=0;
}
else adcs2++;
}
else
{
adval2=n;
adcs2=0;
}
}
if(getbit(sta165,13))
{
addata=0;
P2=(P2&0x1f)|csad3;
for(i=0;i<20;i++)
{
sclk=0;
sclk=1;
j=adindata;
addata=(addata<<1)|j;
}
P2=P2|0xe8;
addata=addata>>4;
m=adsw%(dlmkhcs*2);
if(m==0)
{
adval4=addata;
dlmkcon=1;
}
if(m==dlmkhcs)
{
adval3=addata;
dlmkcon=0;
}
adsw++;
}
}
int getdsh()
{
return adval1;
}
void setdzero()
{
adzero1=adval1*dang+adzero1;
}
int getjsh()
{
return adval2;
}
void setjzero()
{
adzero2=adval2*dang+adzero2;
}
int getdl()
{
return adval3;
}
int getmkv()
{
return adval4;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -