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

📄 alarm.h

📁 该程序完成了c8051外围电路的驱动和串口协议的编写。希望能给大家学习51单片机带来帮助
💻 H
字号:
/*
* Copyright (c) 2005,派利斯电子(北京)有限公司硬件部
* All rights reserved.
* 文件名称: alarm.h
* 文件标识: 见配置管理计划书
* 摘 要: 报警模块的头文件
* 完成日期: 2007年4月16日
*/

#ifndef __ALARM_H__
#define __ALARM_H__

xdata struct Alarm 	  		   
{
	unsigned char   uchResetStatus[2];   
	unsigned int    uiCurrentHeartbeat;  
	unsigned char   uchSystemBypassStatus[2];	
	unsigned char   uchChannelType[2];									    
	unsigned int    uiAlertDelay[2];
	unsigned int    uiDangerDelay[2];
	            
	float           iCurrentValue[2];
	int             iAlertLow[2];
	int             iDangerLow[2];
								   
	int             iAlertHigh[2];
	int             iDangerHigh[2];
	
	int             iFallingAlertL[2];
	int             iFallingDangerL[2];
	int             iFallingAlertH[2];
	int             iFallingDangerH[2];
	
	unsigned char   uchTriple[2];	
	unsigned char   uchLatch[2];
	unsigned char   uchEnable[2];
	unsigned char   uchOKStatus[2];	
	unsigned int    uiAlertHeartbeatBakH[2];
	unsigned int    uiDangerHeartbeatBakH[2];
	unsigned int    uiAlertHeartbeatBakL[2];
	unsigned int    uiDangerHeartbeatBakL[2];	
	unsigned char   uchBypass[2];
	unsigned char   uchAlarmStatus[2];
	unsigned char   uchAlarmStatusBak[2];
	int             iMeasurePercent[2];
	unsigned char   uchAlertTypeStatus[2];
	unsigned char   uchLEDAlarmStatus[2];
	unsigned char   uchLastChannelOK[2];
	unsigned char   uchChannelNotoktoOkFlag[2];
	unsigned char   uchAfreshConfigFlag[2];
	unsigned char   uchAfreshConfigStartOutCurrentCount[2];	

//	unsigned char 	uchDelayStart[2];
	unsigned int  	uiHeartBeatBAK[2]; 


} ;

extern xdata unsigned int  uiHeartbeatValue;

//----------------------------------------------------------------------------------------
//本模块函数的声明
//----------------------------------------------------------------------------------------
void SetFallingAlertL (unsigned char uchChannel, int iFallingAlertLow);
void SetFallingAlertH(unsigned char uchChannel, int iFallingAlertHigh);
void SetFallingDangerL (unsigned char uchChannel, int iFallingDangerLow);
void SetFallingDangerH(unsigned char uchChannel, int iFallingDangerHigh);
void SetAlertLow(unsigned char uchChannel, int iAlertLow);
void SetAlertHigh(unsigned char uchChannel, int iAlertHigh);
void SetDangerLow(unsigned char uchChannel, int iDangerLow);
void SetDangerHigh(unsigned char uchChannel,unsigned int iDangerHigh );
void SetTripleStatusALM(unsigned char uchChannel, unsigned char status);
void SetBypassStatusALM(unsigned char uchChannel, unsigned char uchBypassStatus);
void SetLatchStatus(unsigned char uchChannel, unsigned char uchLatchStatus);
void SetEnableStatusALM( unsigned char uchChannel, unsigned char uchEnableStatus);
void SetHeartbeatALM(unsigned int iHeartbeatValue);
void SetOKStatusALM(unsigned char uchChannel, unsigned char uchOKStatus);
void SetChannelTypeALM(unsigned char uchChannel, unsigned char uchChannelType);
void SetCurrentValueALM( unsigned char uchChannel, float iCurrentValue);
void SetAlertDelay(unsigned char uchChannel, unsigned int iDelay);
void SetDangerDelay(unsigned char uchChannel, unsigned int iDelay);
void SetResetStatusALM(unsigned char uchStatus);
void InitChannel(unsigned char uchChannel);
void SetFlagBit(unsigned char uchChannel, unsigned char b);
void ClearFlagBit(unsigned char uchChannel,unsigned char b);
void JudgeAlarmStatus(unsigned char uchChannel);
void AlarmIOControl(unsigned char uchChannel, unsigned char uchAlarmStatus, unsigned char uchOKStatus);
void SetPercentValueALM(unsigned char uchChannel, int iMeasurePercent);
void AlarmModuleProcess(unsigned char uchChannel);
void JudgeBypassAlarmStatus(unsigned char uchChannel);
void InitAlarmModuleSoftPara(void);
void SetAlertTypeStatusALM(unsigned char uchChannel, unsigned char uchAlertType);
void DelayChannelNotoktoOK(unsigned char uchChannel);
void SetAfreshConfigFlagAlarm(unsigned char uchChannel,unsigned char AfreshConfigFlag);


void HaveHotResetAlarmProcess(unsigned char uchChannel);
void InitAlarmModuleHeartBeatPara(void);



//------------------------------------------------------------------------------------------------
//其他模块函数的声明
//-----------------------------------------------------------------------------------------
extern void SetOKIOControl(unsigned char uchChannel);
extern void SetAlertIOControl(unsigned char uchChannel) ;
extern void SetDangerIOControl(unsigned char uchChannel);
extern void SetNotOKIOControl(unsigned char uchChannel);
extern void FeedDog(void);
extern void OutputCurrentValue(unsigned char uchChannel, int iCurrentValue);
extern void AlarmLEDControl(unsigned char uchAlarmStatus);
extern void SetAlarmStatusMain(unsigned char uchChannel, unsigned char uchAlarmStatus);
extern void SetAlarmStatusCOMM(unsigned char uchChannel, unsigned char uchAlarmStatus);
extern void SetNotOKToOKFlag(unsigned char uchChannel,unsigned char uchNOTOKTOOKFlag);
extern void StopHeartBeat(void);
extern void StartHeartBeat(void);

#endif				 

⌨️ 快捷键说明

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