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

📄 jk0061119_ad.h

📁 Modbus RTU 的C语言程序
💻 H
字号:
void delay(char  Var_char)
{
      while(Var_char)
	    Var_char--;
 }
//////////////////////////////////////////////////////////////////////
void  AD_TLC2543(char  var_AD_Channels)
{
  char i;
  //char *pointer_temp;
  unsigned int Var_temp_int;
 
	Var_temp_int=0x00;
	//PORTB&=0x7f;
    //PORTB&=0xef;
	PORTB&=0x6f;
	delay(60);
	CLI();
	for(i=0; i<12; ++i)
	{////////////////////////
	   //PORTB|=0x80;
	  //delay(55);
	  WDR();
	   Var_temp_int<<=1; 
	  if(PINB&0x40)
	       Var_temp_int=Var_temp_int+1; 
		   //delay(60); 	
	  if(var_AD_Channels&0x80)
	      PORTB|=0x20;
	   else
	      PORTB&=0xDF;
	   var_AD_Channels<<=1;	 
	  PORTB|=0x80;
	  delay(80); 	
	  PORTB&=0x7f;
	  delay(70);  
	  WDR();
	} 
	
    PORTB|=0x10;
	SEI(); //re-enable interrupts
	PORTC|=0xE0;
		//JK_Value[1]=Var_temp_int&0x00FF;
	   //JK_Value[0]=Var_temp_int>>8;
	if(AD_Channels==5)
	    {
		    A_CD_Current_process[AD_collect_cout]=Var_temp_int;		   
			AD_Channels=0x00;
			AD_collect_cout++;
			if(AD_collect_cout>4)
			  Get_Data=1;
		 }
	 else if(AD_Channels==0)
	    {
		    A_KM_Load_Current_process[AD_collect_cout]=Var_temp_int;	
			AD_Channels=0x01;
		 }
	 else if(AD_Channels==2)
	    {
		    v_MK_Voltage_process[AD_collect_cout]=Var_temp_int;					   
			AD_Channels=0x03;
		 }
	  else if(AD_Channels==3)
	    {
		     v_KM_Voltage_process[AD_collect_cout]=Var_temp_int;		    				  
			AD_Channels=0x04;
		 }
	 else if(AD_Channels==1)
	   {    
	        v_BAT_Voltage_process[AD_collect_cout]=Var_temp_int;		
			AD_Channels=0x02;
	    }
	 else if(AD_Channels==4)
	   {
	        v_HM_Voltage_process[AD_collect_cout]=Var_temp_int;	
		    AD_Channels=0x05;		   
	    }
	data_collect_flag=0; 
	//pointer_temp=portc_temp;
	//PORTC&=pointer_temp[3];
	//PORTC&=pointer_temp[AD_Channels];

 }
void Func_Get_Data(void)
{
   char  i,j;
   unsigned int array_temp_line[6];
   Get_Data=0;
///////////  11111111111111111111111111111111111111111111111111111111
   for(i=0;i<5;i++)
     array_temp_line[i]=v_BAT_Voltage_process[i];
   for(j=0;j<5;j++)
	 for(i=j+1;i<5;i++)
	   {
	       if(array_temp_line[j]<array_temp_line[i])
		      {
		        array_temp_line[5]=array_temp_line[i];
				array_temp_line[i]=array_temp_line[j];
				array_temp_line[j]=array_temp_line[5];
			   }
	    }
	  array_temp_line[2]+=100;
	  if(array_temp_line[2]>*v_Bat_data_potentiometer)
	     array_temp_line[2]-=*v_Bat_data_potentiometer;
	  else
	     array_temp_line[2]=0;
	  if(array_temp_line[2]<50)
		 array_temp_line[2]=0;
	   v_BAT_Voltage=array_temp_line[2];
	   JK_Value[7]=array_temp_line[2]&0x00FF;
	   JK_Value[6]=array_temp_line[2]>>8;
//////  2222222222222222222222222222222222222222222222222222222222222222222
      for(i=0;i<5;i++)
     array_temp_line[i]=v_MK_Voltage_process[i];
   for(j=0;j<5;j++)
	 for(i=j+1;i<5;i++)
	   {
	       if(array_temp_line[j]<array_temp_line[i])
		      {
		        array_temp_line[5]=array_temp_line[i];
				array_temp_line[i]=array_temp_line[j];
				array_temp_line[j]=array_temp_line[5];
			   }
	    }
	  array_temp_line[2]+=100;
	  if(array_temp_line[2]>*v_MK_data_potentiometer)
	     array_temp_line[2]-=*v_MK_data_potentiometer;
	  else
	     array_temp_line[2]=0;
	  if(array_temp_line[2]<50)
		 array_temp_line[2]=0;
	   v_MK_Voltage=array_temp_line[2];
	   JK_Value[5]=array_temp_line[2]&0x00FF;
	   JK_Value[4]=array_temp_line[2]>>8;
/////////  33333333333333333333333333333333333333333333333333333333333333333
      for(i=0;i<5;i++)
     array_temp_line[i]=v_KM_Voltage_process[i];
   for(j=0;j<5;j++)
	 for(i=j+1;i<5;i++)
	   {
	       if(array_temp_line[j]<array_temp_line[i])
		      {
		        array_temp_line[5]=array_temp_line[i];
				array_temp_line[i]=array_temp_line[j];
				array_temp_line[j]=array_temp_line[5];
			   }
	    }
	  array_temp_line[2]+=100;
	  if(array_temp_line[2]>*v_KM_data_potentiometer)
	     array_temp_line[2]-=*v_KM_data_potentiometer;
	  else
	     array_temp_line[2]=0;
	  if(array_temp_line[2]<50)
		 array_temp_line[2]=0;
	   v_KM_Voltage=array_temp_line[2];
	   JK_Value[3]=array_temp_line[2]&0x00FF;
	   JK_Value[2]=array_temp_line[2]>>8;
////////////////////44444444444444444444444444444444444444444444444444444
      for(i=0;i<5;i++)
     array_temp_line[i]=v_HM_Voltage_process[i];
   for(j=0;j<5;j++)
	 for(i=j+1;i<5;i++)
	   {
	       if(array_temp_line[j]<array_temp_line[i])
		      {
		        array_temp_line[5]=array_temp_line[i];
				array_temp_line[i]=array_temp_line[j];
				array_temp_line[j]=array_temp_line[5];
			   }
	    }
	  array_temp_line[2]+=100;
	  if(array_temp_line[2]>*v_HM_data_potentiometer)
	     array_temp_line[2]-=*v_HM_data_potentiometer;
	  else
	     array_temp_line[2]=0;
	  if(array_temp_line[2]<50)
		 array_temp_line[2]=0;
	   v_HM_Voltage=array_temp_line[2];
	   JK_Value[1]=array_temp_line[2]&0x00FF;
	   JK_Value[0]=array_temp_line[2]>>8;
/////////5555555555555555555555555555555555555555555555555555555555555555
        for(i=0;i<5;i++)
     array_temp_line[i]=A_CD_Current_process[i];
   for(j=0;j<5;j++)
	 for(i=j+1;i<5;i++)
	   {
	       if(array_temp_line[j]<array_temp_line[i])
		      {
		        array_temp_line[5]=array_temp_line[i];
				array_temp_line[i]=array_temp_line[j];
				array_temp_line[j]=array_temp_line[5];
			   }
	    }
	  array_temp_line[2]+=100;
	  if(array_temp_line[2]>*A_CD_Current_potentiometer)
	     array_temp_line[2]-=*A_CD_Current_potentiometer;
	  else
	     array_temp_line[2]=0;
	  //if(array_temp_line[2]<10)
		 //array_temp_line[2]=0;
	   A_CD_Current=array_temp_line[2];
	   JK_Value[9]=array_temp_line[2]&0x00FF;
	   JK_Value[8]=array_temp_line[2]>>8;
//////66666666666666666666666666666666666666666666666666666666666666666666666
       for(i=0;i<5;i++)
     array_temp_line[i]=A_KM_Load_Current_process[i];
   for(j=0;j<5;j++)
	 for(i=j+1;i<5;i++)
	   {
	       if(array_temp_line[j]<array_temp_line[i])
		      {
		        array_temp_line[5]=array_temp_line[i];
				array_temp_line[i]=array_temp_line[j];
				array_temp_line[j]=array_temp_line[5];
			   }
	    }
	  array_temp_line[2]+=100;
	  if(array_temp_line[2]>*A_KM_Load_Current_potentiometer)
	     array_temp_line[2]-=*A_KM_Load_Current_potentiometer;
	  else
	     array_temp_line[2]=0;
	  //if(array_temp_line[2]<10)
		 //array_temp_line[2]=0;
	   A_KM_Load_Current=array_temp_line[2];
	   JK_Value[11]=array_temp_line[2]&0x00FF;
	   JK_Value[10]=array_temp_line[2]>>8;
 }

⌨️ 快捷键说明

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