⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 szacadin1.c

📁 数字面板开发的单片机的软件仿正程序
💻 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 + -