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

📄 kongwen120.c

📁 对8051cf020的温度控制和液晶显示急串口上传的代码
💻 C
📖 第 1 页 / 共 5 页
字号:
			   }
             if(tem_del_x0>1.2)
			   {
			      tem_flag0=4;
			   }
            if(tem_del_x0>1.4)
			   {
			      tem_flag0=5;
			   }
            if(tem_del_x0>1.6)
			   {
			      tem_flag0=6;
			   }

            if(tem_del_x0>1.8)
			   {
			      tem_flag0=7;
			   }

			   if(tem_del_x0>2)
			   {
			      tem_flag0=8;
			   }

			   if(tem_del_x0>2.2)
			   {
			      tem_flag0=9;
			   }

			   if(tem_del_x0>2.4)
			   {
			      tem_flag0=10;
			   }

			   if(tem_del_x0>2.6)
			   {
			      tem_flag0=11;
			   }

			   if(tem_del_x0>2.8)
			   {
			      tem_flag0=12;
			   }

			   if(tem_del_x0>3)
			   {
			      tem_flag0=13;
			   }

			   if(tem_del_x0>3.2)
			   {
			      tem_flag0=14;
			   }

			    if(tem_del_x0>3.4)
			   {
			      tem_flag0=15;
			   }

			    if(tem_del_x0>3.6)
			   {
			      tem_flag0=16;
			   }

			    if(tem_del_x0>4)
			   {
			      tem_flag0=17;
			   }

			   if(tem_del_x0>8)
			   {
			      tem_flag0=18;
			   }


//*******************************************************//
            
            if(tem_del_x0<0)
			   {
			      tem_flag0=20;
			   }
            if(tem_del_x0<-0.4)
			   {
			      tem_flag0=21;
			   }

			   if(tem_del_x0<-0.8)
			   {
			      tem_flag0=22;
			   }

			   if(tem_del_x0<-1.2)
			   {
			      tem_flag0=23;
			   }

			   if(tem_del_x0<-1.6)
			   {
			      tem_flag0=24;
			   }

			   if(tem_del_x0<-2)
			   {
			      tem_flag0=25;
			   }

			   if(tem_del_x0<-2.4)
			   {
			      tem_flag0=26;
			   }

			   if(tem_del_x0<-2.8)
			   {
			      tem_flag0=27;
			   }

			   if(tem_del_x0<-3.2)
			   {
			      tem_flag0=28;
			   }

			   if(tem_del_x0<-4)
			   {
			      tem_flag0=29;
			   }
			
			data_tx="0通道当前温度值   ";
	 		Tdata(data_tx);
	  		Tdata(mysprint(temp_tem,1));
			data_tx="   度";
	 		Tdata(data_tx);
			Tdatar(13);
            Tdatar(10);	

			if(temp_tem>=100.0)
			   {
			       set_ddram(0x8c);
			       send_lcd_data(mysprint(temp_tem,1));
			   }
            else
			   {
			      set_ddram(0x8c);
			      data_tx=" ";
			      send_lcd_data(data_tx);
				  send_lcd_data(mysprint(temp_tem,1));
			   }        
			
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////

           temp_result1=get_res_diff(2);			  
		   temp_tem=q1-100*pow(q2-q3*(1-temp_result1/1000),0.5); //计算温度值 
			  if(fabs(repeat4_index2-temp_tem)>2.0)	
			     {
				    temp_tem=0.5*(temp_tem+repeat4_index2);
					repeat4_index2=0.5*(temp_tem+repeat4_index2);
				 }
			  if((temp_tem-tem_sample2[0])>70)          //能消除程序重新启动时带来的影响  在控制程序中
			  for(q_bb=0;q_bb<5;q_bb++)
			     {
				    tem_sample2[q_bb]=temp_tem;         //能消除程序重新启动时带来的影响  在控制程序中
				 }	
				 			
			tem_sample2[tem_sample_i2]=temp_tem;
			if(tem_sample_i2<5)
			   {
			      tem_sample_i2++;
			   }
            else
			   {
			      tem_sample_i2=0;
			   }
            tem_avg2=average2();
			tem_del_x2=(float)robot1.set_tem1-tem_avg2;


			if(tem_del_x2>0)
			   {
			      tem_flag2=0;
			   }
            if(tem_del_x2>0.3)
			   {
			      tem_flag2=1;
			   }
            if(tem_del_x2>0.6)
			   {
			      tem_flag2=2;
			   }
             if(tem_del_x2>0.9)
			   {
			      tem_flag2=3;
			   }
             if(tem_del_x2>1.2)
			   {
			      tem_flag2=4;
			   }
            if(tem_del_x2>1.4)
			   {
			      tem_flag2=5;
			   }
            if(tem_del_x2>1.6)
			   {
			      tem_flag2=6;
			   }

            if(tem_del_x2>1.8)
			   {
			      tem_flag2=7;
			   }

			   if(tem_del_x2>2)
			   {
			      tem_flag2=8;
			   }

			   if(tem_del_x2>2.2)
			   {
			      tem_flag2=9;
			   }

			   if(tem_del_x2>2.4)
			   {
			      tem_flag2=10;
			   }

			   if(tem_del_x2>2.6)
			   {
			      tem_flag2=11;
			   }

			   if(tem_del_x2>2.8)
			   {
			      tem_flag2=12;
			   }

			   if(tem_del_x2>3)
			   {
			      tem_flag2=13;
			   }

			   if(tem_del_x2>3.2)
			   {
			      tem_flag2=14;
			   }

			    if(tem_del_x2>3.4)
			   {
			      tem_flag2=15;
			   }

			    if(tem_del_x2>3.6)
			   {
			      tem_flag2=16;
			   }

			    if(tem_del_x2>4)
			   {
			      tem_flag2=17;
			   }

			   if(tem_del_x2>8)
			   {
			      tem_flag2=18;
			   }


//*******************************************************//
            
            if(tem_del_x2<0)
			   {
			      tem_flag2=20;
			   }
            if(tem_del_x2<-0.4)
			   {
			      tem_flag2=21;
			   }

			   if(tem_del_x2<-0.8)
			   {
			      tem_flag2=22;
			   }

			   if(tem_del_x2<-1.2)
			   {
			      tem_flag2=23;
			   }

			   if(tem_del_x2<-1.6)
			   {
			      tem_flag2=24;
			   }

			   if(tem_del_x2<-2)
			   {
			      tem_flag2=25;
			   }

			   if(tem_del_x0<-2.4)
			   {
			      tem_flag2=26;
			   }

			   if(tem_del_x2<-2.8)
			   {
			      tem_flag2=27;
			   }

			   if(tem_del_x2<-3.2)
			   {
			      tem_flag2=28;
			   }

			   if(tem_del_x2<-4)
			   {
			      tem_flag2=29;
			   }
			
			data_tx="1通道当前温度值   ";
	 		Tdata(data_tx);
	  		Tdata(mysprint(temp_tem,1));
			data_tx="   度";
	 		Tdata(data_tx);
			Tdatar(13);
            Tdatar(10);	

			if(temp_tem>=100.0)
			   {
			       set_ddram(0x9c);//need to modify
			       send_lcd_data(mysprint(temp_tem,1));
			   }
            else
			   {
			      set_ddram(0x9c);   //need to modify
			      data_tx=" ";
			      send_lcd_data(data_tx);
				  send_lcd_data(mysprint(temp_tem,1));
			   }        

            		
		  } 
		  
		   if(repeat_value==5)
	      {
//		      
			temp_result2=get_res_diff(2);
			temp_tem=q1-100*pow(q2-q3*(1-temp_result2/1000),0.5); //计算温度值
						
			data_tx="1通道当前温度值   ";
	 		Tdata(data_tx);
	  		Tdata(mysprint(temp_tem,1));
			data_tx="   度";
	 		Tdata(data_tx);
			Tdatar(13);
            Tdatar(10);
//			T4CON |= 0x04;                // 启动定时器4
		  } 



 if(control_flag==1)
	      {
		    control_flag=0;//	
			if(foot_flag)
			   {
			      set_dir_flag(1);
			   }
            else
			   {
			      set_dir_flag(0);
			   }
			switch(tem_flag0)
			   {
			      case 0:
				     {
					    set_v_out(tem_v_out0,0);     //0<x<1
					 }
				  break;
				  case 1:
				     {
					    set_v_out(tem_v_out0-10,0);     //1<x<2    164v
					 }
				  break;
				  case 2:
				     {
					    set_v_out(tem_v_out0-20,0);     //2<x<3   180v
					 }
				  break;
				  case 3:
				     {
					    set_v_out(tem_v_out0-30,0);     //3<x<4   220v
					 }
				  break;
				  case 4:
				     {
					    set_v_out(tem_v_out0-40,0);     //4<x<5   v
					 }
				  break;
				  case 5:
				     {
					    set_v_out(tem_v_out0-50,0);     //5<x<6   41v
					 }
				  break;
				  case 6:
				     {
					    set_v_out(tem_v_out0-60,0);     //6<x<7   20v
					 }
				  break;

				  case 7:
				     {
					    set_v_out(tem_v_out0-70,0);     //6<x<7   20v
					 }
				  break;


				  case 8:
				     {
					    set_v_out(tem_v_out0-80,0);     //6<x<7   20v
					 }
				  break;

				  case 9:
				     {
					    set_v_out(tem_v_out0-90,0);     //6<x<7   20v
					 }
				  break;

				  case 10:
				     {
					    set_v_out(tem_v_out0-100,0);     //6<x<7   20v
					 }
				  break;

				  case 11:
				     {
					    set_v_out(tem_v_out0-110,0);     //6<x<7   20v
					 }
				  break;

				  case 12:
				     {
					    set_v_out(tem_v_out0-120,0);     //6<x<7   20v
					 }
				  break;

				  case 13:
				     {
					    set_v_out(tem_v_out0-130,0);     //6<x<7   20v
					 }
				  break;

				  case 14:
				     {
					    set_v_out(tem_v_out0-140,0);     //6<x<7   20v
					 }
				  break;

				  case 15:

⌨️ 快捷键说明

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