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

📄 chengxu.txt

📁 该 程序 ADUC824
💻 TXT
📖 第 1 页 / 共 2 页
字号:
	  unsigned long idata savlong;
      //long idata kkk;
      cs[5]=(Val[1]+0.09813)*10.19716;//yali
      if(cs[5]<1.001||cs[5]>12.799)//65.468)
        cs[0]=0;
      else
        {
          if(cs[5]>=0.12578&&cs[5]<0.20313)
          l=0;
          if(cs[5]>=0.20313&&cs[5]<0.3178)
          l=1;      
          if(cs[5]>=0.3178&&cs[5]<0.4829)
          l=2;
          if(cs[5]>=0.4829&&cs[5]<0.7149)
          l=3;
          if(cs[5]>=0.7149&&cs[5]<1.0332)
          l=4;
          if(cs[5]>=1.0332&&cs[5]<1.4609)
          l=5;
          if(cs[5]>=1.4609&&cs[5]<2.0246)
          l=6;
          if(cs[5]>=2.0246&&cs[5]<2.7546)
          l=7;
          if(cs[5]>=2.7546&&cs[5]<3.685)
          l=8;
          if(cs[5]>=3.685&&cs[5]<4.854)
          l=9;
          if(cs[5]>=4.854&&cs[5]<6.303)
          l=10;
          if(cs[5]>=6.303&&cs[5]<8.076)
          l=11;
          if(cs[5]>=8.076&&cs[5]<10.224)
          l=12;
          if(cs[5]>=10.224&&cs[5]<=12.799)
          l=13;
          //if(cs[5]>=12.799&&cs[5]<15.855)
          //l=14;
         // if(cs[5]>=15.855&&cs[5]<19.454)
          //l=15;
         // if(cs[5]>=19.454&&cs[5]<23.656)
          //l=16;
         // if(cs[5]>=23.656&&cs[5]<28.528)
          //l=17;
         // if(cs[5]>=28.528&&cs[5]<34.138)
         // l=18; 
         // if(cs[5]>=34.138&&cs[5]<40.560)
         // l=19;
         // if(cs[5]>=40.560&&cs[5]<47.869)
         // l=20;
         // if(cs[5]>=47.869&&cs[5]<56.144)
         // l=21;  
         // if(cs[5]>=56.114&&cs[5]<65.468)
          //l=22;
          n=4*c[l];
          m=1;
          while (m<5)
            {
              cs[m]=d[n+m-1];
              m=m+1;
            }
      // start midu jisuan
          cs[0]=cs[3]+(cs[4]-cs[3])*(cs[5]-cs[1])/(cs[2]-cs[1]);
       }
      //chin1[1]=cs[5]/9.80665-0.0877;
      Val[4]=cs[0];//midu
      cs[2]=Val[2];//chaya
      cs[2]=cs[2]*Val[4];
      cs[0]=sqrt(cs[2]);
	  //Read_Page(14);
     // n=EEI.ui;
      cs[1]=(float)xishu;//xishu k
      cs[1]=cs[1]*cs[0]/10000;    
      Val[5]=cs[1];//再这里可以设置瞬时流量的初始制
    
      if(Val[5]<10)
       { n=(uint)(Val[5]*1000);}
	  else
	     { n=(uint)(Val[5]*100);}
	  if(n>9999){n=9999;}
        n1=n/1000;
	  if(Val[5]<10)
	  {n1=n1+0x0880;CH4512_write(n1);}
	  else
          {n1=n1+0x0800;CH4512_write(n1);}
		   n1=n%1000;
         n1=n1/100;
         if(Val[5]<10)
		 {n1=n1+0x0900;CH4512_write(n1);}
		 else
          {n1=n1+0x0980;CH4512_write(n1);}
	     n1=n%100;
         n1=n1/10;
         n1=n1+0x0A00;CH4512_write(n1);
		 n1=n%10;
         n1=n1+0x0B00;
         CH4512_write(n1);
       if(leijidsp==1){
	       savlong=(long)Val[6];
	      m=savlong/10000;
		  n1=0x0800+m;CH4511_write(n1);
	      //if(Val[6]>=10000){n1=0x0800+m;CH4511_write(n1);}
	    // else
		     //    {CH4511_write(0x0810);}
	      n1=savlong%10000;
	      m=n1/1000;
		  n1=0x0900+m;CH4511_write(n1);
         // if(savlong>=1000){n1=0x0900+m;CH4511_write(n1);}
	    //  else
		 //        {CH4511_write(0x0910);}
	      n1=savlong%1000;
		  
	      m=n1/100;
		  n1=0x0A00+m;CH4511_write(n1);
         // if(savlong>=100){n1=0x0A00+m;CH4511_write(n1);}
	     // else
		 // {CH4511_write(0x0A10);}
	                 
		  n1=savlong%100;
	      m=n1/10;
		  n1=0x0B00+m;CH4511_write(n1);
         //if(savlong>=10){n1=0x0B00+m;CH4511_write(n1);}
		//  else
          // {n1=0x0B00+m;CH4511_write(n1);}
	      //else
		    //     {CH4511_write(0x0B10);}
		  m=savlong%10;
	      //m=m%10;
          n1=0x0C00+m;CH4511_write(n1);
	      
		  leijidsp=0;
		     }
		  if(storc>=240){
		 // EA=0;
           savlong=(long)Val[6];
          m=(uchar)(savlong&0x00FF0000)>>16;
          n=(uint)((savlong&0xFF000000)>>16);
		  n=n+m;
          //SPI24C44_CS=0;//P2_3=0;
          SPI24C44_Write(0x03,n);  
    	 // for(m=0;m<20;m++)
		 // {for(l=0;l<250;l++);}
         // m=(n1&0xFF00)>>8;
         //n=n1&0x00FF;
		  //n=n+m;
         // SPI24C44_CS=0;//P2_3=0;
		 m=(uchar)(savlong&0x000000FF);
          n=(uint)(savlong&0x0000FF00);
		  n=n+m;
          SPI24C44_Write(0x05,n); 
          savlong=(unsigned long)(SPI24C44_Read(0x03));//Get_chip(0x03);//from 24c45 read leijiliuliang 16bit value
	      savlong=(savlong<<16)+(unsigned long)SPI24C44_Read(0x05);
        	Val[6]=savlong;   
          storc=0;
	//	EA=1;	 
		   }
	 
        
}
void BTRSET()
{switch(CC){
   case 0: {btreg0=0x3F;btreg1=0xFF;break;}
   case 1: {btreg0=0x31;btreg1=0x1C;break;}
   case 2: {btreg0=0x18;btreg1=0x1C;break;}
   case 3: {btreg0=0x09;btreg1=0x1C;break;}
   case 4: {btreg0=0x04;btreg1=0x1C;break;}
   case 5: {btreg0=0x03;btreg1=0x1C;break;}
   case 6: {btreg0=0x01;btreg1=0x1C;break;}
   case 7: {btreg0=0x00;btreg1=0x1C;break;}
   case 8: {btreg0=0x00;btreg1=0x16;break;}
   case 9: {btreg0=0x00;btreg1=0x14;break;}
           }
 }

long ADC_TC() //热电偶,通过AIN1,AIN2输入的mv信号
{
long Result;
AD0CON=0x0F;//0x08+TT;	//internal reference=1.25v, unbipolar, input1.28v,
ADMODE=0x22;    //single conversionA/D
while(~RDY0);  //wait for completion
Result=AD0H;
Result=Result*256+AD0M;
//Result=Result*256+AD0L;
return(Result); //
}

void AD(uchar chl)
 { uchar  i;
        if(chl==0){A0=0;A0=0;A0=0;A1=0;A1=0;A1=0;}
		if(chl==1){A0=1;A0=1;A0=1;A1=0;A1=0;A1=0;}
		if(chl==2){A1=1;A1=1;A1=1;A0=0;A0=0;A0=0;}
		if(chl==3){A1=1;A1=1;A1=1;A0=1;A0=1;A0=1;}
		
 //for(j=0;j<250;j++);
 i=5;
 fv_temp=0;
 //EA=0;
 //feeddog();
 while(i-->0){ fv_temp+=ADC_TC();}
 //EA=1;
 fv_temp/=5;
 ai_code=fv_temp;
 //Val[0]=Eng_Calc(0);
}



void DaChange() //DAC 100mV
   {
	DACCON=0x03;
	DACH=0x00;
	DACL=0xA5;
   }

void main()
{//uchar i;
unsigned long idata jsval;
//WDWR=1;
//WDCON=0x74;
IE=0x00;/*Enable Extend INT0*/
IT0=0;/* Extend INT0 trigered by edge*/
//PLLCON=0x00;
SPI24C44_CS=0;
cs5045=1;
//cs5045=0;
EC=0;
DaChange();
ICON=0x00;
SF=0x45;
Changed=0;
k=0;
storc=0;
ch451_init();
/*
CH4511_write(0x0800);
CH4511_write(0x0901);
CH4511_write(0x0A02);
CH4511_write(0x0B03);
CH4511_write(0x0C04);

CH4512_write(0x0801);
CH4512_write(0x0902);
CH4512_write(0x0A03);
CH4512_write(0x0B04);
*/

feeddog();
if(SET)  Read_Para(); //{Val[1]=0.5;Val[2]=3500;xishu=5000;}//Read_Para(); //sw1=off
else    InitVar();   //sw1=0n
BTRSET();
InitCAN(); 
//Chlint(); 
TMOD=0x01;
TH0=0x33;
TL0=0x32; 
IP=0x02;
IE=0x06;    /*T0 AND EXTERNAL INT0 */  
InitCAN();

	jsval=SPI24C44_Read(0x03);//from 24c45 read leijiliuliang 16bit value
	jsval=(jsval<<16)+(unsigned long)SPI24C44_Read(0x05);
	Val[6]=jsval;//X24C44的初始化设置,如果要测试,那么就直接复制99994即可 jsval                

leijidsp=1;
TR0=1;
EA=1;
EX1=1; 

while(1)// Loop Forever
  {uchar i;
  if(Changed){ Write_Para();Changed=0;}
  //feeddog();
  if(k>Chlnum) k=0;
  for(k=0;k<=Chlnum;k++)
	 {  switch(k){
	    case 0:{A0=0;A0=0;A0=0;A1=0;A1=0;A1=0;break;}
		case 1:{A0=1;A0=1;A0=1;A1=0;A1=0;A1=0;break;}
		case 2:{A1=1;A1=1;A1=1;A0=0;A0=0;A0=0;break;}
		case 3:{A1=1;A1=1;A1=1;A0=1;A0=1;A0=1;break;}
	
                 }
		  
          //for(i=0;i<250;i++);
         // for(j=0;j<250;j++);
          //feeddog();
          i=5;
          fv_temp=0;
         
         while(i-->0){ fv_temp+=ADC_TC();}
         
          fv_temp/=5;
          ai_code=fv_temp;
          //AD(k);
          Val[k]=Eng_Calc();
		  
		 // feeddog();  
	   }
   
          Jisuan();

  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -