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

📄 +

📁 基于51单片机的智能温湿度报警系统
💻
📖 第 1 页 / 共 2 页
字号:
			  first_line[12]='d';
			  else first_line[12]=' ';

				if(TEMP_H1<str2[2])
			  first_line[15]='G';
			  else if(str2[2]<TEMP_L1)
			  first_line[15]='d';
			  else first_line[15]=' ';	 }
 
void set_fanwei(void)
{
	switch(AA)
	{	
		case 1:  
		{
		       LCD_51=LCDData[(HUM_H1/10)%10];
                       LCD_41=LCDData[HUM_H1%10];  
                       first_line[0]='S';
                       first_line[1]='H';
                       first_line[2]='1'; 
                       first_line[3]=':';      		 				
	               first_line[4]=LCD_51;	
	               first_line[5]=LCD_41;
	               first_line[6]='%';
	               first_line[7]=' ';
	               first_line[8]=' ';
                       display();
                       if(K4 ==0)
                       {
                       	if((HUM_H1<=90)&&(HUM_H1>HUM_L1))
                       	{
                        	HUM_H1--;
                        	if(HUM_H1 == HUM_L1)
                        	{HUM_H1 = HUM_L1+1;}
                         }
                       	while(!K4);
                       }
                       if(K3==0)
                       {
                       	if((HUM_H1>HUM_L1)&&(HUM_H1<=90))
                       	{
                       	            HUM_H1++;
                       	            if(HUM_H1>90)
                       	            {HUM_H1 = HUM_L1+1;}
                       	  }
                       	  while(!K3);	
                        }
                        if(K2==0)
                        {
                        	AA = 2;
                        }while(!K2);	
		}break;
		case 2:       
		{
		              LCD_51=LCDData[(HUM_L1/10)%10];
                       LCD_41=LCDData[HUM_L1%10];  
                       first_line[9]='S';
                       first_line[10]='L';
                       first_line[11]='1'; 
                       first_line[12]=':';      		 				
	                   first_line[13]=LCD_51;	
	                   first_line[14]=LCD_41;
	                   first_line[15]='%';
                       display();
                       if(K4 ==0)
                       {
                       	if((HUM_L1>=10)&&(HUM_H1>HUM_L1))
                       	{
                        	HUM_L1--;
                        	if(HUM_H1 == HUM_L1)
                        	{HUM_L1 = HUM_H1-1;}
                        	if(HUM_L1==10)
                        	{HUM_L1 = HUM_H1-1;}
                         }
                       	while(!K4);
                       }
                       if(K3==0)
                       {
                       	if((HUM_H1>HUM_L1)&&(HUM_L1<=90))
                       	{
                       	            HUM_L1++;
                       	            if(HUM_L1>90)
                       	            {HUM_H1 = HUM_L1+1;}
                       	  }
                       	  while(!K3);	
                        }
                        if(K2==0)
                        {
                        	AA = 3;
                        }while(!K2);
			
		}break;
		
	       case 3:   
	       {
		       LCD_51=LCDData[(TEMP_H1/10)%10];
                       LCD_41=LCDData[TEMP_H1%10];  
                       second_line[0]='T';
                       second_line[1]='H';
                       second_line[2]='1'; 
                       second_line[3]=':';      		 				
	                   second_line[4]=LCD_51;	
	                   second_line[5]=LCD_41;
	                   second_line[6]='C';
	                   second_line[7]=' ';
	                   second_line[8]=' ';
                       display();
                       if(K4 ==0)
                       {
                       	if((TEMP_H1<=90)&&(TEMP_H1>TEMP_L1))
                       	{
                        	TEMP_H1--;
                        	if(TEMP_H1 == TEMP_L1)
                        	{TEMP_H1 = TEMP_L1+1;}
                         }
                       	while(!K4);
                       }
                       if(K3==0)
                       {
                       	if((TEMP_H1>TEMP_L1)&&(TEMP_H1<=90))
                       	{
                       	            TEMP_H1++;
                       	            if(TEMP_H1>90)
                       	            {TEMP_H1 = TEMP_L1+1;}
                       	  }
                       	  while(!K3);	
                        }
                        if(K2==0)
                        {
                        AA = 4;
                        }while(!K2);	       		       	
	          }break;
	          case 4:       
	            {
	               LCD_51=LCDData[(TEMP_L1/10)%10];
                       LCD_41=LCDData[TEMP_L1%10];  
                       second_line[9]='T';
                       second_line[10]='L';
                       second_line[11]='1'; 
                       second_line[12]=':';      		 				
	                   second_line[13]=LCD_51;	
	                   second_line[14]=LCD_41;
	                   second_line[15]='C';
                       display();
                       if(K4 ==0)
                       {
                       	if((TEMP_L1>=10)&&(TEMP_H1>TEMP_L1))
                       	{
                        	TEMP_L1--;
                        	if(TEMP_H1 == TEMP_L1)
                        	{TEMP_L1 = TEMP_H1-1;}
                        	if(TEMP_L1<=10)
                        	{
                        		TEMP_L1=TEMP_H1-1;
                        	}
                         }
                       	while(!K4);
                       }
                       if(K3==0)
                       {
                       	if((TEMP_H1>TEMP_L1)&&(TEMP_L1<=90))
                       	{
                       	            TEMP_L1++;
                       	            if(TEMP_L1==TEMP_H1)
                       	            {TEMP_L1 = TEMP_H1-1;}
                       	  }
                       	  while(!K3);	
                        }
                        if(K2==0)
                        {
                        	AA = 5;
                        }while(!K2);	
	        }break;	
case 5:  
		{
		                LCD_51=LCDData[(HUM_H2/10)%10];
                       LCD_41=LCDData[HUM_H2%10];  
                       first_line[0]='S';
                       first_line[1]='H';
                       first_line[2]='2'; 
                       first_line[3]=':';      		 				
	                   first_line[4]=LCD_51;	
	                   first_line[5]=LCD_41;
	                   first_line[6]='%';
	                   first_line[7]=' ';
	                   first_line[8]=' ';
                       display();
                       if(K4 ==0)
                       {
                       	if((HUM_H2<=90)&&(HUM_H2>HUM_L2))
                       	{
                        	HUM_H2--;
                        	if(HUM_H2 == HUM_L2)
                        	{HUM_H2 = HUM_L2+1;}
                         }
                       	while(!K4);
                       }
                       if(K3==0)
                       {
                       	if((HUM_H2>HUM_L2)&&(HUM_H2<=90))
                       	{
                       	            HUM_H2++;
                       	            if(HUM_H2>90)
                       	            {HUM_H2 = HUM_L2+1;}
                       	  }
                       	  while(!K3);	
                        }
                        if(K2==0)
                        {
                        	AA = 6;
                        }while(!K2);	
		}break;	        
case 6:       
		{
		       LCD_51=LCDData[(HUM_L2/10)%10];
                       LCD_41=LCDData[HUM_L2%10];  
                       first_line[9]='S';
                       first_line[10]='L';
                       first_line[11]='2'; 
                       first_line[12]=':';      		 				
	                   first_line[13]=LCD_51;	
	                   first_line[14]=LCD_41;
	                   first_line[15]='%';
                       display();
                       if(K4 ==0)
                       {
                       	if((HUM_L2>=10)&&(HUM_H2>HUM_L2))
                       	{
                        	HUM_L2--;
                        	if(HUM_H2 == HUM_L2)
                        	{HUM_L2 = HUM_H2-1;}
                        	if(HUM_L2==10)
                        	{HUM_L2 = HUM_H2-1;}
                         }
                       	while(!K4);
                       }
                       if(K3==0)
                       {
                       	if((HUM_H2>HUM_L2)&&(HUM_L2<=90))
                       	{
                       	            HUM_L2++;
                       	            if(HUM_L2>90)
                       	            {HUM_H2 = HUM_L2+1;}
                       	  }
                       	  while(!K3);	
                        }
                        if(K2==0)
                        {
                        	AA = 7;
                        }while(!K2);
			
		}break;		
 case 7:   
	       {
		       LCD_51=LCDData[(TEMP_H2/10)%10];
                       LCD_41=LCDData[TEMP_H2%10];  
                       second_line[0]='T';
                       second_line[1]='H';
                       second_line[2]='2'; 
                       second_line[3]=':';      		 				
	                   second_line[4]=LCD_51;	
	                   second_line[5]=LCD_41;
	                   second_line[6]='C';
	                   second_line[7]=' ';
	                   second_line[8]=' ';
                       display();
                       if(K4 ==0)
                       {
                       	if((TEMP_H2<=90)&&(TEMP_H2>TEMP_L2))
                       	{
                        	TEMP_H2--;
                        	if(TEMP_H2 == TEMP_L2)
                        	{TEMP_H2 = TEMP_L2+1;}
                         }
                       	while(!K4);
                       }
                       if(K3==0)
                       {
                       	if((TEMP_H2>TEMP_L2)&&(TEMP_H2<=90))
                       	{
                       	            TEMP_H2++;
                       	            if(TEMP_H2>90)
                       	            {TEMP_H2 = TEMP_L2+1;}
                       	  }
                       	  while(!K3);	
                        }
                        if(K2==0)
                        {
                        	AA = 8;
                        }while(!K2);	       		       	
	          }break;	
	   case 8:     
	            {
	               LCD_51=LCDData[(TEMP_L2/10)%10];
                       LCD_41=LCDData[TEMP_L2%10];  
                       second_line[9]='T';
                       second_line[10]='L';
                       second_line[11]='2'; 
                       second_line[12]=':';      		 				
	                   second_line[13]=LCD_51;	
	                   second_line[14]=LCD_41;
	                   second_line[15]='C';
                       display();
                       if(K4==0)
                       {
                       	if((TEMP_L2>=10)&&(TEMP_H2>TEMP_L2))
                       	{
                        	TEMP_H2--;
                        	if(TEMP_H2 == TEMP_L2)
                        	{TEMP_L2 = TEMP_H2-1;}
                        	if(TEMP_L2<=10)
                        	{
                        		TEMP_L2=TEMP_H2-1;
                        	}
                         }
                       	while(!K4);
                       }
                       if(K3==0)
                       {
                       	if((TEMP_H2>TEMP_L2)&&(TEMP_L2<=90))
                       	{
                       	            TEMP_L2++;
                       	            if(TEMP_L2==TEMP_H2)
                       	            {TEMP_L2 = TEMP_H2-1;}
                       	  }
                       	  while(!K3);	
                        }
                        if(K2==0)
                        {
                        	AA = 1;
                        }while(!K2);	
	        }break;		
	}	
}
void main()
{        init_lcd1602();//液晶初始化
		 TH0=0X3C;TL0=0XB0;	   
	     TMOD=0x01;ET0=1;TR0=1;EA=1;
        hum_alarm_led1=1;//指示灯初始化
        temp_alarm_led1=1;
		hum_alarm_led2=1;
        temp_alarm_led2=1;
        delay1ms(1);       
    	while(1)
	   {  
          BAOJING();
	   	if(K5==0) 
		{EA=0;tiaoshi( );}
		if(K8==0) {cunchu();caxun();}  	 
	   if(AA==0)
	   {
	   	if(K2==0)
	   	{
	   	AA = 1;
	   	}
	   RH1();
	   str[0]=HZ1;
	   str[1]=HX1;
	   str[2]=TZ1;
	   str[3]=TX1;
	   str[4]=check1;
	    str[5]= timedata[2]/10;
	    str[6]=timedata[2]%10;
	    str[7]=timedata[1]/10;
	    str[8]=timedata[1]%10;
	    str[9]=timedata[0]/10;
	    str[10]=timedata[0]%10;
	
	   RH2();
	   str2[0]=HZ2;
	   str2[1]=HX2;
	   str2[2]=TZ2;
	   str2[3]=TX2;
	   str2[4]=check2;
       display_pro();
  	    
	   }
	else
	{
	  set_fanwei();
     BAOJING();
	 if(K1==0)
	 {
	               first_line[0]='X';
                   first_line[1]=' ';
                   first_line[2]=' '; 
                   first_line[3]='%';      		 				
	               first_line[4]=' ';	
	               first_line[5]=' ';
	               first_line[6]=' ';
	               first_line[7]=' ';
	               first_line[8]='Y';
	               first_line[9]=' ';
                   first_line[10]=' ';
                   first_line[11]='%'; 
                   first_line[12]=' ';      		 				
	               first_line[13]=' ';
	               first_line[14]=' ';
	               first_line[15]=' ';
                   second_line[0]=' ';
                   second_line[1]=' ';
                   second_line[2]=' '; 
                   second_line[3]=' ';      		 				
	               second_line[4]=' ';	
	               second_line[5]=' ';
	               second_line[6]=':';
	               second_line[7]=' ';
	               second_line[8]=' ';
	               second_line[9]=':';
                   second_line[10]=' ';
                   second_line[11]=' '; 
                   second_line[12]=' ';      		 				
	               second_line[13]=' ';
	               second_line[14]=' ';
	               second_line[15]=' ';
	        	    AA = 0;	               	                   
                while(!K1);
     }}}}  
void int0() interrupt 1 using 1	
{	
    TH0=0X3C;//(65536-50000)/256 
	TL0=0XB0;//(65536-50000)%256 
	n++; 	
     M++;
	if(M==40)
	{cunchu();M=0;}
	if(n==20)
	{ 
	n=0;timedata[0]++;
	 if(timedata[0]==60)
	 {timedata[0]=0;timedata[1]++; }
	  if(timedata[1]==60)
	  {timedata[1]=0;timedata[2]++;} 
	  if(timedata[2]==24)
	   {timedata[2]=0;	}
	}	   
}	  

 

⌨️ 快捷键说明

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