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

📄 system_alarm.c

📁 基于单片机的烟叶烘烤过程温湿度报警系统(含proteus原理图和c源程序):在LCD1602上实时显示时钟
💻 C
📖 第 1 页 / 共 3 页
字号:
						    if(temp<39.5) playdown();    
					    }	                                   break;
		case 0x19:   if(temp>40)    
						{
							delay_LCM(alarm_delay_time);;              
							if(temp>40) playup();    
					    }               
				     if(temp<40)  
						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<40) playdown();    
					    }	                                   break;
		case 0x1a:   if(temp>40.5)  
						{
						    delay_LCM(alarm_delay_time);             
							if(temp>40.5) playup();    
					    }            
				     if(temp<40.5) 
						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<40.5) playdown();    
					    }                                      break;
		case 0x1b:   if(temp>41) 
						{
							delay_LCM(alarm_delay_time);              
							if(temp>41) playup();    
					    }              
				     if(temp<41) 
						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<41) playdown();    
					    }                                      break;
		case 0x1c:   if(temp>41.5)   
						{
							delay_LCM(alarm_delay_time);              
							if(temp>41.5) playup();    
					    }            
				     if(temp<41.5) 
						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<41.5) playdown();    
					    }                                      break;
		case 0x1d:   if(temp>42) 
						{
							delay_LCM(alarm_delay_time);              
							if(temp>42) playup();    
					    }        
				     if(temp==42)
						{
							delay_LCM(alarm_delay_time);              
							if(temp==41) playup();    
					    }                                      break;      //进入恒温控制一小时
		case 0x1f:   if(temp>42.5)playup();   
						{
							delay_LCM(alarm_delay_time);             
							if(temp>42.5) playup();    
					    }        
				     if(temp<42.5) 
						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<42.5) playdown();    
					    }                                      break;
		case 0x20:   if(temp>43)
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>42) playup();    
					    }       
				     if(temp<43)  
						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<43) playdown();    
					    }                                      break; 
		case 0x21:   if(temp>43.5)  
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>43.5) playup();    
					    }       
				     if(temp<43.5)playdown();   
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<43.5) playdown();    
					    }                                      break;
		case 0x22:   if(temp>44)
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>44) playup();    
					    }          
				     if(temp<44) 
						{						
						   delay_LCM(alarm_delay_time);              
						    if(temp<44) playdown();    
					    }                                      break; 
		case 0x23:   if(temp>44.5)  
       					{
							delay_LCM(alarm_delay_time);             
							if(temp>44.5) playup();    
					    }      
				     if(temp<44.5)
						{						
						   delay_LCM(alarm_delay_time);              
						    if(temp<44.5) playdown();    
					    }                                      break;
		case 0x24:   if(temp>45)   
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>45) playup();    
					    }         
				     if(temp<45) 
						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<45) playdown();    
					    }                                      break; 
		case 0x25:   if(temp>45.5) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>45.5) playup();    
					    }         
				     if(temp<45.5)
						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<45.5) playdown();    
					    }    								   break;
		case 0x26:   if(temp>46)  
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>46) playup();    
					    }               
				     if(temp<46)
 						{						
						    delay_LCM(alarm_delay_time);             
						    if(temp<46) playdown();    
					    }                                      break; 
		case 0x27:   if(temp>46.5)   
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>46.5) playup();    
					    }          
				     if(temp<46.5)  
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<46.5) playdown();    
					    }                                      break;
		case 0x28:   if(temp<47) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>47)playdown();    
					    }        
				     if(temp==47)   
        				{
							delay_LCM(alarm_delay_time);              
							if(temp==47)playconst();    
					    }                                      break;	  //进入恒温控制一小时
		case 0x2a:   if(temp>48) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>48) playup();    
					    }               
				     if(temp<48)
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<48) playdown();    
					    }                                      break;       

		case 0x2b:   if(temp>49) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>49) playup();    
					    }                  
				     if(temp<49)  
 						{						
						   delay_LCM(alarm_delay_time);              
						    if(temp<49) playdown();    
					    }                                       break; 
 	    case 0x2c:   if(temp>50)
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>50) playup();    
					    }            
				     if(temp<50)
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<50) playdown();    
					    }                                       break; 
		case 0x2d:   if(temp>51)
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>51) playup();    
					    }         
				     if(temp<51)  
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<51) playdown();    
					    }                                       break; 
		case 0x2e:   if(temp>52)   
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>52) playup();    
					    }     
				     if(temp<52)
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<52) playdown();    
					    }                                       break; 
		case 0x2f:   if(temp>53) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>53) playup();    
					    }         
				     if(temp<53)
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<53) playdown();    
					    }                                       break; 
		case 0x30:   if(temp>54)  
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>54) playup();    
					    }        
				     if(temp==54)   
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp==54)playconst();    
					    }                                       break;	  //进入恒温控制一小时
		case 0x32:   if(temp>55)playup();       
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>55) playup();    
					    }  
				     if(temp<55) 
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<55) playdown();    
					    }                                       break; 
		case 0x33:   if(temp>56) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>56) playup();    
					    }      
				     if(temp<56)playdown();  
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<56) playdown();    
					    }                                       break; 
		case 0x34:   if(temp>57)   
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>57) playup();    
					    }    
				     if(temp<57)  
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<57) playdown();    
					    }                                       break; 
		case 0x35:   if(temp>58)   
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>58) playup();    
					    }      
				     if(temp<58) 
 						{						
						    delay_LCM(alarm_delay_time);             
						    if(temp<58) playdown();    
					    }                                       break; 
		case 0x36:   if(temp>59)playup(); 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>59) playup();    
					    }        
				     if(temp<59)playdown();
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<59) playdown();    
					    }                                      break; 
		case 0x37:   if(temp>60)   
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>60) playup();    
					    }        
				     if(temp<60) 
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<60) playdown();    
					    }                                      break; 
		case 0x38:   if(temp>61) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>61) playup();    
					    }         
				     if(temp<61) 
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<61) playdown();    
					    }                                      break;
		case 0x39:   if(temp>62) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>62) playup();    
					    }          
				     if(temp<62)   
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<62) playdown();    
					    }                                      break; 		   
		case 0x3a:   if(temp>63)playup(); 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>63) playup();    
					    }          
				     if(temp<63) 
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<63) playdown();    
					    }                                      break; 		   
		case 0x3b:   if(temp>64)playup();  
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>64) playup();    
					    }         
				     if(temp<64)   
 						{						
						    delay_LCM(alarm_delay_time);              
						    if(temp<64) playdown();    
					    }                                      break; 		   
		case 0x3c:   if(temp>65) 
       					{
							delay_LCM(alarm_delay_time);              
							if(temp>65)playup();    
					    }          
				     if(temp==65)                            
				   	 	{						
						    delay_LCM(alarm_delay_time);              
						    if(temp==65) playconst();     
					    } 			                            break;	  //进入恒温控制一小时
    	default:break;		     
	}
}


/***********the main funtion*************/
    
void main(void)
{ 
	ad_data=0;                       		   				//采样值存储单元初始化为0
    P1=0xff;                                   				//初始化p1口,全设为1       
	delay_LCM(500);	                                        //延时500ms启动
	initLCM( );                               				//LCD初始化
	init_timer0( );	                           				//时钟定时器0初始化	
    Init_DS18B20( ) ;                          				//DS18B20初始化
	ADC_adress =0;                             				//启动adc
	DisplayListChar(0,0,str0);	
	DisplayListChar(0,1,str1);  
                     	
    while (1)
    {   
        GREEN_ALARM=0;                                      //系统运行指示灯
        ad0809();                                           //湿度采集
		keyscan();                                          //按键扫描
	    ReadTemperature();                                  //温度采集
		system_alarm();
        switch(set)                                         //LCD根据工作模式显示
		{
			case 0:displayfun1();delay_LCM(10);break;       //正常工作显示
			case 1:displayfun2();delay_LCM(10);break;       //调整时显示
			case 2:displayfun3();delay_LCM(10);break;       //调整分显示
			default:break;
		} 	
		     
    }
	
}


⌨️ 快捷键说明

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