📄 szadin.c
字号:
void ADIN(void)
{
if(adsample)
{
TMPL=TMR0-T100US;
if(TMPL>=TADSAMPLE)
{
if(!ADCHSALLOFF)
{
ADCON1=ADINI;
#ifdef LC87
ADRLC=0X1;
#endif
ADCON0=ADCHS0;
ADCNT0=0;
ADVL=0;
ADMH=0;
ADST1();
T100US=TMR0;
}
else
{
ADGO1();
adsample=0;
adsetup=1;
}
}
}
else if(adsetup)
{
if(ADENDIFOK)
{
ADENDIFCLR;
#ifndef LC87
STATUS=0;
#endif
TMPL=ADCON0&ADCHSALL;
if(TMPL==ADCHS0)
{
ADM+=ADRHC0;
if(CARRY)
{
ADH++;
}
}
else if(TMPL==ADCHS1)
{
ADM+=ADRHC1;
if(CARRY)
{
ADH++;
}
}
else if(TMPL==ADCHS2)
{
ADM+=ADRHC2;
if(CARRY)
{
ADH++;
}
}
ADCNT0++;
if(ADCNT0==4)
{
TMPHL1=ADMH;
TMPHL=ADV0MH;
ADCON0=ADCHS1;
advalu=1;
}
else if(ADCNT0==8)
{
TMPHL1=ADMH;
TMPHL=ADV1MH;
ADCON0=ADCHS2;
advalu=2;
}
else if(ADCNT0==16)
{
TMPHL1=ADMH;
TMPHL=ADV1MH;
ADCON0=ADCHS3;
advalu=3;
ADCNT0=0;
}
if(advalu)
{
TMPHL1-=TMPHL/4;
if(!bittest(TMPH1,7))
{
TMPHL+=TMPH1*2;
TMPHL+=TMPL1;
}
else
{
TMPHL1=0-TMPHL1;
TMPHL-=TMPH1*2;
TMPHL-=TMPL1;
if(bittest(TMPH,7))
{
TMPHL=0;
}
}
if(advalu==1)
{
ADV0MH=TMPHL;
}
else if(advalu==2)
{
ADV1MH=TMPHL;
}
else
{
ADV2MH=TMPHL;
}
ADMH=0;
advalu=0;
advok=1;
}
T100US=TMR0;
adsample=1;
adsetup=0;
}
}
else
{
ADCON1=ADINI;
#ifdef LC87
ADRLC|=0X1;
#endif
ADCON0=ADCHS0;
adsample=1;
ADCNT0=0;
ADMH=0;
T100US=TMR0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -