📄 szacadin1.c
字号:
#include "runsim.h"
void ADIN(void)
{
union uvarlong VVVV;
#ifdef SIMADRUN
ADRESL=1;
ADRESH=3;
adsample=0;
clrbit(ADCON0,0X2);
adsetup=1;
#endif
if(adsample)
{
TMPL=TMR0-T100US;
if(TMPL>=TADSAMPLE)
{
if(!ADCHSALLOFF)
{
ADCON1=ADINI;
#ifdef lc87f
ADRLC=0X1;
#endif
ADCON0=ADCH0;
ADCNT0=0;
ADMH=0;
ADST1();
T100US=TMR0;
}
else
{
ADGO1();
adsample=0;
adsetup=1;
}
}
}
else if(adsetup)
{
#ifdef lc87f
if(ADENDIFOK)
#else
if(!ADGO)
#endif
{
#ifdef lc87f
ADENDIFCLR;
#endif
TMPL=ADCON0&ADCHSALL;
#ifndef lc87f
if(TMPL==ADCH0)
{
#ifdef simadres
TMPL0=ADRLC0;
TMPH0=ADRHC0;
#else
TMPL0=ADRESL;
TMPH0=ADRESH;
#endif
ADMH+=TMPHL0;
}
else if(TMPL==ADCH1)
{
#ifdef simadres
TMPL0=ADRLC1;
TMPH0=ADRHC1;
#else
TMPL0=ADRESL;
TMPH0=ADRESH;
#endif
ADMH+=TMPHL0;
}
else if(TMPL==ADCH2)
{
#ifdef simadres
TMPL0=ADRLC2;
TMPH0=ADRHC2;
#else
TMPL0=ADRESL;
TMPH0=ADRESH;
#endif
ADMH+=TMPHL0;
}
#else
if(TMPL==ADCH0)
{
TMPL0=ADRLC0&0XF0;
TMPH0=ADRHC0;
TMPHL0/=0x10;
ADMH+=TMPHL0;
}
else if(TMPL==ADCH1)
{
TMPL0=ADRLC1&0XF0;
TMPH0=ADRHC1;
TMPHL0/=0x10;
ADMH+=TMPHL0;
}
else if(TMPL==ADCH2)
{
TMPL0=ADRLC2&0XF0;
TMPH0=ADRHC2;
TMPHL0/=0x10;
ADMH+=TMPHL0;
}
#endif
ADCNT0++;
if(ADCNT0==64)
{
TMPHL1=ADMH/16;
TMPHL=ADV0MH;
ADCON0=ADCH1;
advalu=1;
}
else if(ADCNT0==80)
{
TMPHL1=ADMH/4;
TMPHL=ADV1MH;
ADCON0=ADCH2;
advalu=2;
}
else if(ADCNT0==96)
{
TMPHL1=ADMH/4;
TMPHL=ADV2MH;
ADCON0=ADCH0;
advalu=3;
ADCNT0=0;
}
if(advalu)
{
if(advalu==7)
{
TMPHL0=TMPHL/8;
if(TMPHL1>=TMPHL0)
{
TMPHL1-=TMPHL0;
TMPH+=TMPH1*4;
TMPHL+=TMPL1;
}
else
{
TMPHL0-=TMPHL1;
TMPH-=TMPH0*4;
TMPHL-=TMPL0;
}
}
else
{
TMPHL0=TMPHL/4;
if(TMPHL1>=TMPHL0)
{
TMPHL1-=TMPHL0;
TMPH+=TMPH1*2;
TMPHL+=TMPL1;
}
else
{
TMPHL0-=TMPHL1;
TMPH-=TMPH0*2;
TMPHL-=TMPL0;
}
}
#ifdef aircon
if(advalu==1)
{
ADV0MH=TMPHL;
ADROOMT=TMPHL;
TMPHL/=0X40;
if(TMPH>12)
{
TMPHL+=0X4;
}
else if(TMPH>9)
{
TMPHL+=0X3;
}
if(TMPH>6)
{
TMPHL+=0X2;
}
if(TMPH>3)
{
TMPHL+=0X1;
}
TMPHL*=5;
TMPH0=TMPH/0X10;
TMPH&=0XF;
TMPHL*=0XA;
TMPL0=TMPH&0XF0;
TMPH&=0XF;
TMPHL*=0XA;
TMPL0+=TMPH/0X10;
ADCT=TMPHL0;
}
else if(advalu==2)
{
ADV1MH=TMPHL;
ADNPGT=TMPHL;
}
else
{
ADV2MH=TMPHL;
//ADCT=TMPHL;
}
#else
if(advalu==1)
{
ADV0MH=TMPHL;
//TMPHL/=0X4;
}
else if(advalu==2)
{
ADV1MH=TMPHL;
}
else
{
ADV2MH=TMPHL;
}
{
TMPHL/=0X4;
if(TMPH>12)
{
TMPHL+=0X4;
}
else if(TMPH>9)
{
TMPHL+=0X3;
}
if(TMPH>6)
{
TMPHL+=0X2;
}
if(TMPH>3)
{
TMPHL+=0X1;
}
TMPH1=PARAMS[2];
TMPL1=PARAMS[1];
VVVV.ulong=TMPHL*TMPHL1;
TMPHL1=VVVV.uints.uinth;
TMPHL0=VVVV.uints.uintl;
/*
TMPHL*=5;
TMPH0=TMPH/0X10;
TMPH&=0XF;
TMPHL*=0XA;
TMPL0=TMPH&0XF0;
TMPH&=0XF;
TMPHL*=0XA;
TMPL0+=TMPH/0X10;
TMPHL1=100*TMPH0;
TMPHL1+=10*(TMPL0/0X10);
TMPHL1+=(TMPL0&0XF);*/
}
if(advalu==1)
{
ADINH[1]=TMPH0;
ADINL[1]=TMPL0;
ADINH[0]=TMPH1;
ADINL[0]=TMPL1;
advok=1;
}
else if(advalu==2)
{
ADINH[2]=TMPH0;
ADINL[2]=TMPL0;
}
else
{
ADINH[3]=TMPH0;
ADINL[3]=TMPL0;
}
#endif
ADMH=0;
advalu=0;
}
T100US=TMR0;
adsample=1;
adsetup=0;
}
}
else
{
ADCON1=ADINI;
#ifdef lc87f
ADRLC|=0X1;
#endif
ADCON0=ADCH0;
adsample=1;
ADCNT0=0;
ADMH=0;
T100US=TMR0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -