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

📄 main.c

📁 一款电力行业使用的温湿度控制器源代码 湿度传感器采用HF3223 温度采用DS18B20 单片机采用mega8 编程采用winavr2007
💻 C
字号:
#include "inc/config.h"


static BOOL t_is_read=true;

int main(void)
{
    cli()			;      
    TimerInit()		;
    sei();
    SynRamFromE2prom(); 
    DisplayTemperature(1300);   
    DisplayHumidity(101);
	RelayRst();
	RelayJudge(AlrmStatusT,AlrmStatusH);
	DisplayPower(ON);
	
	wdt_enable ( WDTO_500MS);
	
	/*
	while(1)
	{
	  wdt_reset();
	   hf3223_read();
	   DisplayNum(hf3223_f);
	   		if(hf3223_f<8100)
        {
          f_sensor_h =false;
		  DisplayHumidityAlarm(OFF);
		}
		else
        {
          f_sensor_h =true;
		  DisplayHumidityAlarm(ON);
		}
		
	
	}*/
	
	while(1)
	{
	  
	  wdt_reset   ();
	  hf3223_read();
	  if(SystemStatus == RUN)
	  {
	  
	  ////////////////////////////////////////
		 if(f_500ms ==true && t_is_read==true)
		 {
		    f_500ms   = false;
			t_is_read = false;
			 convert_T( );  
         }
		 
		 
	///////////////////////////////////////////////////////////	 
	     if(f_1s==true  )
		 {
			f_1s= false;
			
			if(t_is_read == false)//////////////
			{
				if(read_T()==true)
				{
				   DisplayTemperature(Temperature);
				  AlrmStatusT =CompareTem(Temperature,AlrmStatusT);
				}
				else
				{
				   DisplayTemperature(1300);
				  AlrmStatusT = NO_ALARM;
				}
				t_is_read =true; //recover信号量
			}//////////////////////////////////
			 
			 
			  
			if(f_sensor_h==true)
			{	
			    DisplayHumidity(Humidity);
			   AlrmStatusH =CompareHum(Humidity,AlrmStatusH);
            }
			else
			{
			    DisplayHumidity(101);
               AlrmStatusH = NO_ALARM;			
			}  
 
		
			///////////////////////////////////

			///////////////////////////////
			 if(SystemMode== AUTO_TH)
			 {
				RelayJudge(AlrmStatusT,AlrmStatusH);
				///////
				if(AlrmStatusT==NO_ALARM)		 
				{
					DisplayTemperatureAlarm(OFF);
				}
				else
				{
					DisplayTemperatureAlarm(ON);
				}
				///////

				if(AlrmStatusH==NO_ALARM)		 
				{
					DisplayHumidityAlarm(OFF);
				}
				else
				{
					DisplayHumidityAlarm(ON);
				}/////
			 }
			////////////////////////////////
         }
		//////////////////////////////////////////////////////end 1s

		///////////////////////////////////
	  
	  
	  
	  
	  
	  }
///////////////////////////////////////////////////////////end run mode	  
	  else
	  {
	       if(f_60s)
        {
            f_60s=false;
            FlashDigRst();
            RmvDot(5);
            SynRamFromE2prom(); //清除ram中被改变,而未在eeprom备份的值
            SystemStatus=RUN; 	//系统状态恢复成运行态
     	}
	  
	  }
	  
	  KeyScan    ( );
	  KeyProcess ( );
	

    }
///////////////////////////////////////////////////editing 
	
}

⌨️ 快捷键说明

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