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

📄 chiller1.c

📁 单片机 串口设置源码 配套程序 可以直接使用 波特率为96
💻 C
📖 第 1 页 / 共 2 页
字号:
			if(cg1 ==0x04)
			  {
			    cg2= ysj() ;
			  }
			else
			  {
			    j1[0] = '1';
			    send(j1);
			  }
			if(cg2==0x04)
			  {
			    qd=0x01 ;
				P1 &=~ Bit7 ;
				cg1=0x00;
				cg2 = 0x00;
				j1[0] = '!';
				send(j1);
			  }
			if(cg2==0x03)
			  {
			   j1[0] = '2' ;
			   send(j1) ;
			  }
		 }
		else
		 {
		   		j1[0] = '!';
				send(j1);
		 }
	 }
   if(strcmp(rx,"SO0M\0")==0x00)
     {	
	   	    qd = 0x00;
			nm = 0x00 ;
		    P5 |= Bit3 ;
			P5 |= Bit2	;
			P5 |= Bit1 ;
			P5 |= Bit0 ;
			P0 |= Bit0 ;
			P1 |= Bit7 ;   
	        j1[0] = '!';
			send(j1);
	 }	
   if(strcmp(rx,"RTM\0")==0x00)
	 {
       fs_cl(b);
	 }
   if(rx[0] == 'C')
     {
	    y1 = (rx[2] - 0x30 )*0x64 ;
		y2 =  (rx[3] - 0x30)*0x0A ;
		y3 =  rx[5] - 0x30;
		y4 = y1 + y2 + y3 ;
		switch (rx[1])
		  {
		     case  'C' :
			   {
			     tmp = y4 ;         
				 break ;
			   }
			 case 'H' :
			   {
			     gh = y4 ;			 
				 break ;
			   }
			 case  'L' :
			   {
			     gl = y4 ;
				 break ;
			   }
		  }
		h = 0x00 ;
		j1[0] = '!';
		send(j1);
	 }
	if(strcmp(rx,"RWM\0")==0x00)
	 {
       if(qd==0x01)
	     {
		   j1[0] = '1';
		  }
	   else
	     {
		   	j1[0] ='0'	;
		 } 
	   send(j1);
	 }
	if(strcmp(rx,"RPM\0")==0x00)
	 {
       fs_cl(Pu);	 
	 }
	if(strcmp(rx,"RLM\0")==0x00)
	 {
	   fs_cl(L)	;
	 }
	if(strcmp(rx,"REM\0")==0x00)
	 {
	   	 j1[0] = bjbz + 0x30 ;
		 send(j1) ;
	 }
    if(strcmp(rx,"RCHM\0")==0x00)
	 {
	    fs_cl(gh) ;
	 }
	if(strcmp(rx,"RCLM\0")==0x00)
	 {
	    fs_cl(gl);
	 }

 }	
void xs_cl()
  { 
      unsigned char s1 ;
	  unsigned int y0 ,y1 ,y3,y4,y5	   ;
	  unsigned char *p ;
	  y4  = ad_wen();
	  y3 = (y4 - 0x01BD )* 0x03 + 0x016F ;
	  Pu = y3 ;
	  p =&y5;
	  *p = TH0;
	  *(p+1)= TL0 ;
	  L = (0x1E*y5)/0x11 ;
	  y1 = ad_pum();
	  y0 = 0x02F4 - y1 ;
      if(y0<lc)
	    {
		  s1 = 0x04 ;
		}
	  else if(y0<hc )
	    {
		  s1 = 0x00	;
		}
	  else
	    {
		  s1 = 0x03 ;
		}
	  if(L<0x1E)
	    {
		  s1 = 0x06	;
		}
	  if(y4>0x021D )
	    {
		  s1 = 0x05	;
		}
	  switch  (s1 )
        {
		  case 0x00 :
		    {
			  xs_shu(y0,0x01) ;
			  break ;
			}
		  case 0x03 :
		    {
               xs_error(0x0E,0x0C,0x01);
			   break ;
		     }
          case 0x04 :
            {
	          xs_error(0x0E,0x0D,0x01);
			  break ;
          	}
          case 0x05 :
            {
              xs_error(0x0E,0x0C,0x02);
			  break ;
            }
		  case 0x06 :
		    {
			  xs_error(0x0E,0x0D,0x03);
			  break ;
			}
       }
	bjbz= s1 ;
	y0 = 0x00 ;
	y1 = 0x00 ;
	y3 =0x00 ;
	y4 =0x00 ;
   }
main()
{
  unsigned char *p ,n,xc,*q;
  unsigned char code *f;
  EA =0x00 ;
  ET0 =1 ;
  ET1 =1 ;
  TMOD = 0x15 ;           //定时器1工作方1 定时初值0x00  ,计数器0用于流量计数,定时器工作方式1  
  TL1 = 0xAF ;              //T1 10ms定时 
  TH1 = 0x3C ; 
  TH0 =0x00 ;
  TL0 =0x00;
  TR1 =0x00 ;
  TR0 =0x00 ;
  P0M1 &=~ Bit0 ;
  P0M2 &=~ Bit0 ;
  P2M1 &=~ Bit1 ;				 
  P2M2 &=~ Bit1 ;							  
  P2M1 &=~ Bit0 ;
  P2M2 &=~ Bit0 ;
  P1M1 |= Bit0 ;
  P1M2 |= Bit0 ;
  P1M1 |= Bit1 ;
  P1M2 |= Bit1 ;
  P5M1 |= Bit6 ;
  P5M2 |= Bit6;
  P0M1 |= Bit3 ;
  P0M2 &=~ Bit3 ; 
  P0M1 |=~ Bit1;
  P0M2 &=~ Bit1 ;
  P1M1 &=~ Bit7 ;
  P1M2 &=~ Bit7 ;
  PT0AD = 0x0A ; 
  P5M1 |= 0x0F;
  P5M2 |= 0x0F;
  P1M1 &=~ Bit2;
  P1M2 &=~ Bit2 ;
  P4M1 &=~ Bit2 ;
  P4M2 &=~ Bit2 ;
  P4M1 &=~  Bit3 ;
  P4M2 &=~ Bit3 ;
  S1CON = 0x50 ;
  S1STAT = 0x20 ;
  BRGCON_1 = 0x02 ;
  BRG1_1 = 0x02 ;
  BRG0_1 = 0xF0 ;
  BRGCON_1 = 0x03 ;
  IEN2 = 0x04 ;
  P4 |= Bit2 ;
  bz = 0x00 ;
  ch=0x00 ;	 
  bzc=0x00 ;
  qd =0x00 ;
  h =0x0A;
  sign = 0x00 ;
  key = 0x00;
  jsz= 0x01 ;
  nm = 0x00 ;
  hc = 0xFF;
  gh = 0xFF ;
  lc = 0x96;
  gl =0x96 ;
  mlbz = 0x00 ;
  cg1 = 0x00;
  cg2=0x00;
  xc=0x00;
  bjbz = 0x00 ;
  tep = 0xEB ;
  tmp = 0xEB ;
  js = 0x0020;
  EA=0x01;
  TR1 =0x02 ;
  while(sign==0x00);
  sign = 0x00 ;
  f =(unsigned char code *)0x1400;
  q =&tep;
  *q=*f	;
  *(q+1) =*(f+1)  ;
  if((tep<0x96 )||( tep>0x015E) )
    {
	  tep = 0xEB ;
	}
  tmp =tep ;
  q =&hc ;
  *q = *(f+2);
  *(q+1)=*(f+3);
  if(hc<0x96)
    {
	  hc = 0xFF	;
	}
  gh = hc ;
  q =&lc ;
  *q = *(f+4);
  *(q+1)=*(f+5);
  if(lc<0x32)
    {
	  lc = 0x96	;
	}
  gl =lc ;
  bujs = 0x00 ;
  js = 0x0258 ;
  TR1 = 0x01 ;
  while(sign == 0x00)
    {
	   if(bujin == 0x01)
	     {
		   P1 ^= Bit7 ;
		   bujin =0x00 ;
		   P5 = kz[0x07 - (bujs%0x08)] ;
		   bujs++;
		 }
	}
  sign = 0x00 ;
  bujs = 0x00 ;
  js = 0x40 ;
  TR1= 0x01;
  TR0 = 0x01 ;
  for(;;)
   {
	 if((P5 & 0x40)==0x00)
	  {	   
	    write_shu(0x15);
		n = read_shu();
		bz =0x01 ;
		while((P5 & 0x40)==0x00)  ;	 
	   }
	  if(bz ==0x01)
	   {
		    bz=0x00 ;
			key_cl(n);
	   }
	  if(mlbz==0x01)
	    {
		  P2 ^= Bit0 ;
		  mlbz=0x00 ;
		  ml_cl();
		} 
	  if(sign==0x01)
	   {   
	      sign = 0x00 ;
	      if(0x00 < nm <0x04)
		    {
			  cg1 = sbeng();
			  if(cg1 = 0x04)
			    {
				  nm = 0x06 ;
				  P5 &=~ Bit2 ; //start  compressor 
				}
			   else
			    {
				  nm++;
				}
			}
		  if(qd ==0x01)
		    {
			  if(bzc == 0x00)
			    {
				   if(xc==0x00)
				     {
					   xc = 0x01 ;
					   xs_cl() ;
					 }
					else
					 {
					   xc = 0x00 ;
					   sh_cl();
					 }
				}
			}
		  else if(nm==0x04)
		    {
			  if(bzc ==0x00)
			    {
			   	 if(cg1==0x03)
			      {
				   xs_error(0x0E,0x00,0x04) ;
				  }
			     if(cg2==0x03)
			      {
				    xs_error(0x0E,0x00,0x05) ;
				  }
			    }
			}
		  else
		    {
			   if(bzc==0x00)
			    {
			     xs_shu(tep ,0x01);
				}
			}		    
		  if(h<0x0A)
		    {
			  h++ ;
			  P1 ^= Bit7 ;
			  if(h == 0x0A)
			    {
			     bzc = 0x00 ;
				 p= &tmp ;
				 y[0] = *p;
				 y[1] = *(p+1);
				 p = &gh ;
				 y[2] = *p ;
				 y[3] = *(p+1);
				 p =&gl ;
				 y[4] = *p ;
				 y[5] = *(p+1);
				 flash(0x14,0x00,y);
			     tep = tmp ;
				 hc = gh ;
				 lc = gl ;
			     key = 0x00 ;
			     write_shu(0x88);
			     write_shu(0xFF);
				 jsz = 0x01 ;
				}
			}		  
		  TH0 =0x00 ;
		  TL0 =0x00; 
		  js = 0x0040 ;
		  TR1= 0x01 ;
		  TR0 =0x01;	
	    }
	  if(bujin ==0x01)
	    {
		  bujin = 0x00 ;
		  if(kg==0x00)
		    {
			  P5 = kz[0x07 - (bujs%0x08)] ;
			}
		  else
		    {
			  P5 =  kz[bujs%0x08]  ;
			}
		  if(bujs == 0x08)
		    {
			  bujs = 0x00 ;
			}
		  else
		    {
			  bujs ++;
			}
		}

	    		  
   }
}
void timer1() interrupt 3
 {   
   TR1 = 0 ;
   TF1 = 0 ; 
   TH1 = 0x3C;
   TL1 = 0xAF ;
   bujin = 0x01 ;
   js-- ;
   if(js ==0x00)
     {
	   sign = 0x01 ;
	   TR0 = 0x00 ;
	 }
   else
     {
       TR1 = 0x01 ;
   	 }
 }
void rx_ch() interrupt  0x11
 {
 
   S1CON = S1CON & 0xFC ;
   rx[ch] = S1BUF ;
   if(rx[ch]=='M')
    {
	  mlbz = 0x01 ;
	  rx[ch+1] = '\0';
	  ch=0x00 ;
	}
   else
   	{
	  ch++;
	}
 }
 		 tx[0] = 0x49 ;
		 p =& E[2] ;
		 tx[1] = *p ;
		 tx[2] = *(p+1);
		 p =& k[2] ;
		 tx[3] = *p ;
		 tx[4] = *(p+1);
		 tx[5] = bz ;
		 tx[6] = bz1 ;
		 tx[7] =  jb ;
		 tx[8] = 0x46 ;
		 tx[9] = '\0' ;
		 send(tx) ;
   P1M1 &=~ Bit1 ;
   P1M2 &=~ Bit1 ;
   P1M1 &=~ Bit0 ;
   P1M2 &=~ Bit0 ;
   S0CON = 0x50 ;
   S0STAT = 0x20 ;
   BRGCON_0 = 0x02 ;
   BRGR1_0 = 0x02 ;
   BRGR0_0 = 0xF0 ;
   BRGCON_0 = 0x03 ;
   ES = 0x01 ;

⌨️ 快捷键说明

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