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

📄 system.c

📁 我用ARM写的一些东西
💻 C
字号:
#include "config.h"
void OutRel(void);
void Warn(void);
uint8 OutRelDel;
uint8 OutRelDel2;
uint8 WarnDel1;
uint8 WarnDel2; 
uint8 DaBusy;
unsigned char const TabTmp[]=
{
	87,87,87,87,87,87,87,87,87,87,
	87,87,87,87,87,87,87,87,87,87,
	87,86,85,83,81,80,79,78,76,75,
	74,73,72,71,70,69,68,67,66,65,
	65,64,64,63,62,61,61,60,60,59,
	58,58,57,56,56,55,54,54,53,53,
	52,52,52,51,51,50,50,49,49,48,
	47,47,47,46,46,45,45,45,44,44,
	43,43,43,42,42,42,41,41,40,40,
	40,39,39,39,38,38,38,38,37,37,
	37,36,36,36,35,35,35,35,34,34,
	34,33,33,33,33,32,32,32,32,31,
	31,31,30,30,30,30,29,29,29,29,
	29,28,28,28,28,27,27,27,27,26,
	26,26,26,25,25,25,25,25,24,24,
	24,24,24,23,23,23,23,23,22,22,
	22,22,21,21,21,21,21,20,20,20,
	20,20,20,19,19,19,19,19,18,18,
	18,18,18,17,17,17,17,17,17,16,
	16,16,16,16,15,15,15,15,15,15,
	14,14,14,14,14,14,13,13,13,13,
	13,12,12,12,12,12,12,11,11,11,
	11,11,11,10,10,10,10,10,10, 9,
	 9, 9, 9, 9, 9, 9, 8, 8, 8, 8,
	 8, 8, 7, 7, 7, 7, 7, 7, 6, 6,
	 6, 6, 6, 6, 5, 5, 5, 5, 5, 5,
	 5, 4, 4, 4, 4, 4, 4, 3, 3, 3,
	 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
	 1, 1, 1, 1, 1, 1, 0, 0, 0, 0


};
uint32 BdTmp;
uint8 TureBdTmp;
uint16 DxCurent;
uint16 TrapCurent;
uint16 LkVol;
uint16 PumVol;
uint16 Xx;
void TmpChg(void)
{
	uint16 BdTmpVol;
	BdTmpVol=BdTmp*250/1024;  //v*100
	if (BdTmpVol>289)
		BdTmpVol=289;
	TureBdTmp=	TabTmp[BdTmpVol];
}
/**************************************************************************/
/*                          系统运行状态                                    */
/*************************************************************************/
void System(void)
{
	OutRel();
	Warn();
	if(rcv_new0==1)
	{
		MbusDel0();
	}
	/************************************************/
	/*					系统温度					*/
	/************************************************/
	BdTmp=IntAdDat[5];
	TmpChg();
	/************************************************/
	/*					灯丝电流					*/
	/************************************************/
	
	DxCurent=IntAdDat[2]*10;
	/************************************************/
	/*					TRAP 电流					*/
	/************************************************/
	TrapCurent=IntAdDat[3]*10;
		
	/************************************************/
	/*					捡漏口电压					*/
	/************************************************/
	 LkVol=IntAdDat[0]*10;
	
	/************************************************/
	/*					排气口电压					*/
	/************************************************/
	 PumVol=IntAdDat[1]*10;	
	/************************************************/
	/*					全离子电压					*/
	/************************************************/
	 Xx=IntAdDat[4]*10;		 
	 
	 SigVol=LeakValueRd/128/6; 	
}

/**************************************************************************/
/*                          输出继电器控制                               */
/*************************************************************************/
void OutRel(void)
{
	if ((EnRel1!=0)&&(EnVacum==1))
	{
		if((LkPtVaccumMain>RelBase1)&&(OutRelDel==0))
		{
			SetOut1;
			OutRelDel=5;
		}
		else if ((LkPtVaccumMain<(RelBase1*0.8))&&(OutRelDel==0))
		{
			RstOut1;
			OutRelDel=5;
		}
	}
	else if (EnRel1==0)
	{
		RstOut1;
	}
	
	if (((EnRel2!=0)&&(EnVacum==1)))
	{
		if((LkPtVaccumMain<RelBase2)&&(OutRelDel2==0))
		{
			SetOut2;
			OutRelDel2=5;
		}
		else if ((LkPtVaccumMain>(RelBase2*1.2))&&(OutRelDel2==0))
		{
			RstOut2;
			OutRelDel2=5;
		}
		else if  ((RelBase2*1.2>1000)&&(OutRelDel2==0))
		{
			RstOut2;
			OutRelDel2=5;
		}
	}
	else if (EnRel2==0)
	{
		RstOut2;
	}
}

/**************************************************************************/
/*                         报警        控制                               */
/*************************************************************************/
void Warn(void)
{
	uint8 SoundTmp;

	
	if (SysStd==LeakDtc)
	{
		if(AlarmExp<LeakExp)
		{
			Warning=0;
		}
		else if(AlarmExp>LeakExp)
		{
			Warning=1;
		}
		else
		{
			if(LeakBase>=AlarmBase)
			{
				Warning=1;
			}
			else
			{
				Warning=0;
			}
		}
	}
	else
		Warning=0;
		
	if (Warning==1)
	{
		//IRQDisable();
		if(Volum==0)
		{
			da_5628(0,0);
			if (WarnDel1==0)
			{
				WarnDel1=20;
				da_5628(1,0);
			}
		}
		else
		{
			if((Volum*7>=28)&&(Volum*7<=91))
			{
				SoundTmp=13;
			}
			else
			{
				SoundTmp=Volum;
			}
			da_5628(1,SoundTmp*7);
			
			if ((AlarmExp-LeakExp)==0)
			{
				if (WarnDel1==0)
				{
					WarnDel1=50;
					WarnDel2=25;
					da_5628(0,255);
				}	
				if (WarnDel2==0)
				{
					//WarnDel1=20;
					da_5628(0,200);
				}	
			}
			else if((AlarmExp-LeakExp)==1)
			{
				if (WarnDel1==0)
				{
					WarnDel1=40;
					WarnDel2=20;
					da_5628(0,240);
				}	
				if (WarnDel2==0)
				{
					da_5628(0,190);
				}				
			
			}
			else if((AlarmExp-LeakExp)==2)
			{
				if (WarnDel1==0)
				{
					WarnDel1=30;
					WarnDel2=15;
					da_5628(0,255);
				}	
				if (WarnDel2==0)
				{
					
					da_5628(0,170);
				}				
			}
			else
			{
				if (WarnDel1==0)
				{
					WarnDel1=20;
					WarnDel2=10;
					da_5628(0,255);
				}	
				if (WarnDel2==0)
				{
					
					da_5628(0,160);
				}				
			}
		}
		//IRQEnable();	// 07 03 12	
		
	}
	else
	{
		if ((VolumTmp!=Volum)&&(Warning!=1))
		{
			VolumTmp=Volum;
				if (WarnDel1==0)
				{
					WarnDel1=30;
					WarnDel2=15;
					da_5628(0,255);
				}	
				if (WarnDel2==0)
				{
					
					da_5628(0,170);
				}	
		}	
			da_5628(0,0);
			if (WarnDel1==0)
			{
				WarnDel1=20;
				da_5628(1,0);
			}
			
			
	}
	if (EnWarnRel==1)
	{
		if (Warning==1)
		{
			SetWarn;
		}
		else
		{
			RstWarn;
		}
	}
	
}

⌨️ 快捷键说明

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