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

📄 disp.h

📁 OCM240128-7.rar
💻 H
字号:
/**********************************************************************************************
**  文件名称:       DISP.H
**  最后修改:       2009-11-9
**  版    本:       1.0
**  描    素:       气体检测系统OCM240128液晶显示界面显示程序
**---------------------------------------------------------------------------------------------
**  作    者:       李雪川
**  创作日期:       2009-11-9
**  文件描述:       驱动OCM240128显示气体检测显示界面
                          
------------------------硬件端口连接定义-------------------------------------------------------
**  OXM240128           MCU
**	FS					GND				字形选择0: 8*8 1: 6*8
**  C_D                 P2.6            =1选择指令, =0选择数据
**  _CE                 P2.7            片选=0有效
**  _RW                 P3.6(_RW)       总线控制读写
**  _RD                 P3.7(_RD)
**  PDAT                P0              8位总线数据端口
----------------------------------------------------------------------------------------------
**  全局变量:		
        
**  主要函数:		
				void Disp_Arrow(uchar num)							显示箭头
				void Disp_Alarm_num(uchar num, uchar bus)			显示报警数量
				void Disp_Alarm(uchar mod,struct alarm *info)		显示详细报警信息
				void Disp_Time(struct time * t)						显示时间
				void Disp_picture(uchar target, uchar mod)			图标显示
				void OCM_dispinit(void)								显示初始化
                
**----------------------------------------------------------------------------------------------
**  硬件平台:       51系列单片机,总线方式驱动
**  软件平台:       Keil3.0
*************************************************************************************************/

#ifndef	DISP_H_
#define DISP_H_

#include "compile.h"

/*	测试宏定义,使用时清零												*/
#define DISP_TEST						0

/*	结构体定义										*/
struct time
{
	uchar	mon;
	uchar 	date;
	uchar	hour;
	uchar	min;
};

/*	报警信息结构体								*/
struct alarm
{
	uchar addr;								//报警从机地址
	uchar gas_type;							//气体类型
	uchar value;							//报警信息值
	uchar H_L;								//高限报警或底限报警
	struct time t;							//报警时间
};

/*	故障信息结构体								*/
struct fault								
{
	uchar addr;	
	uchar fault_type;						//故障信息
	struct time t;
};
/*	报警上下限结构体							*/
struct limit
{
	uchar addr;
	uchar gas_type;
	uchar limit_h;							//高限报警
	uchar limit_l;							//底限报警
};

/*	屏蔽信息结构体								*/
struct shield
{
	uchar addr;
	uchar shield_f;							//是否屏蔽标志1:屏蔽 0:不屏蔽
	uchar area;								//对应区域
};

/*	系统注册结构体								*/
struct login
{
	uchar addr;
	uchar gas_type;
};

/*	上掉电结构体								*/
struct power								
{
	uchar num;								
	struct time t;
};


/*	定义显示信息地址首地址		*/
#define MESSAGE_ADDR1		Text_Addr + 30 * 4 + 2			//信息显示栏第一行首地址
#define MESSAGE_ADDR2		Text_Addr + 30 * 6 + 2			//信息显示栏第二行首地址
#define MESSAGE_ADDR3		Text_Addr + 30 * 8 + 2			//信息显示栏第三行首地址
#define MESSAGE_ADDR4		Text_Addr + 30 * 10 + 2			//信息显示栏第四行首地址
#define DATA_ADDR			Text_Addr + (30 * 12 + 16)		//年月显示首地址
#define	TIME_ADDR			Text_Addr + 30 * 14 + 20		//时分显示首地址
#define	ICO_ADDR			(Figure_Addr + 30 * 6 + 6)		//显示图标首地址
#define	ICO_WIDE			5								//显示图标的宽度



/*	定义显示信息内容信息分类													*/
#define	Alarm			30
#define	Power			31

/*	气体类型,修改下面宏定义和气体类型数组实现气体类型修改						*/
#define Gas_num			5									//气体类型个数
#define Gas0			0
#define Gas1			1
#define Gas2			2
#define	Gas3			3
#define	Gas4			4
#define Gas0_ico		"CO "								/*请保证显示图标字符数一致      */
#define Gas1_ico		"SO "
#define	Gas2_ico		"SO2"
#define Gas3_ico		"CH4"
#define Gas4_ico		"CH4"
uchar code gas_type_tab[Gas_num][3] = {Gas0_ico,Gas1_ico,Gas2_ico,Gas3_ico,Gas4_ico};		//气体显示内容


/*	报警类型,修改下面宏定义和报警类型数组实现报警类型修改						*/
#define Alarm_num		4									//报警类型个数数
#define Alarm0			0
#define Alarm1			1
#define Alarm2			2
#define	Alarm3			3
#define Alarm0_ico		"F1"
#define Alarm1_ico		"F2"
#define	Alarm2_ico		"F3"
#define Alarm3_ico		"F4"
uchar code alarm_type_tab[Alarm_num][4] = {Alarm0_ico,Alarm1_ico,Alarm2_ico,Alarm3_ico};		//报警信息显示内容


/*	故障类型,修改下面宏定义和故障类型数组实现故障类型修改						*/
#define	Fault_num		2									//故障类型个数
#define Fault0			0
#define Fault1			1
#define Fault0_ico		"AB "
#define Fault1_ico		"CD "
uchar code fault_type_tab[Fault_num][4] = {Fault0_ico,Fault1_ico};






/*	定义信息数组									*/
uchar code PLEASE_tab[] = {'P'-0X20,'l'-0X20,'e'-0X20,'a'-0X20,'s'-0X20,'e'-0X20, 0, 'I'-0X20,'n'-0X20,'p'-0X20,'u'-0X20,'t'-0X20,':'-0X20};
uchar code ADDR_tab[] = {'A'-0X20,'d'-0X20,'d'-0X20,'r'-0X20,'L'-0X20,'-'-0X20,'A'-0X20,'d'-0X20,'d'-0X20,'r'-0X20,'H'-0X20,0X00,0X00};
uchar code LIMIT_tab[] = {'L'-0X20,'i'-0X20,'m'-0X20,'i'-0X20,'t'-0X20,'L'-0X20,'-'-0X20,'L'-0X20,'i'-0X20,'m'-0X20,'i'-0X20,'t'-0X20,'H'-0X20};
uchar code SHIELD_tab[] = {'S'-0X20,'h'-0X20,'i'-0X20,'e'-0X20,'l'-0X20,'d'-0X20};
uchar code LINKAGE_tab[] = {'L'-0X20,'i'-0X20,'n'-0X20,'k'-0X20,'a'-0X20,'g'-0X20,'e'-0X20,0X00,0X00};
uchar code ALARM_BUS_tab[] = {'A'-0X20,'l'-0X20,'a'-0X20,'r'-0X20,'m'-0X20,' '-0X20,' '-0X20,' '-0X20,'B'-0X20,'U'-0X20,'S'-0X20};



/********************************************************************************************
**	函数名称:	void Message_clr(void)
**	函数功能:	清除信息区
				在切换界面时调用该函数,彻底清除上次的信息界面
**	调用模块:	无
*********************************************************************************************/
void Message_clr(void);
/*********************************************************************************************
**	函数名称:			void Disp_Arrow(uchar num)	
**	功能描述:			显示箭头
**	输入参数:			num: =0 不显示箭头 =1 显示向上箭头  =2 显示向下箭头  =其他 两个同时显示
**	输出参数:
**	调用模块:			内部函数调用
*********************************************************************************************/
void Disp_Arrow(uchar num);
/*********************************************************************************************
**	函数名称:			void Disp_Alarm_num(uchar num, uchar bus)
**	功能描述:			显示警告信息
**	输入参数:			num警告个数
						bus总线 =0 不显示总线  =1:显示总线1   =2:显示中线2  其他:显示总线1和2
**	输出参数:
**	调用模块:			外部函数调用
*********************************************************************************************/
void Disp_Alarm_num(uchar num, uchar bus);
/*********************************************************************************************
**	函数名称:			void Disp(struct alarm *info)
**	功能描述:			显示报警详细信息
**	输入参数:			struct alarm (*info)定义指向结构体数组指针
**	输出参数:
**	调用模块:			外部函数调用
*********************************************************************************************/
void Disp_Alarm( struct alarm *info);
/*********************************************************************************************
**	函数名称:			void Disp__limit(struct limit *info)
**	功能描述:			显示上下限详细信息
**	输入参数:			struct fault (*info)定义指向结构体数组指针
**	输出参数:
**	调用模块:			外部函数调用
*********************************************************************************************/
void Disp_limit(struct limit *info);
/*********************************************************************************************
**	函数名称:			void Disp__shield(struct shield *info)
**	功能描述:			显示屏蔽详细信息
**	输入参数:			struct shiled (*info)定义指向结构体数组指针
						一行显示3个信息
**	输出参数:
**	调用模块:			外部函数调用
*********************************************************************************************/
void Disp_shield(struct shield *info);
/*********************************************************************************************
**	函数名称:			void Disp__fault(struct fault *info)
**	功能描述:			显示故障详细信息
**	输入参数:			struct fault (*info)定义指向结构体数组指针
**	输出参数:
**	调用模块:			外部函数调用
*********************************************************************************************/
void Disp_fault(struct fault *info);
/*********************************************************************************************
**	函数名称:			void Disp__login(struct login *info)
**	功能描述:			显示注册信息
**	输入参数:			struct login (*info)定义指向结构体数组指针
						一行显示3个信息
**	输出参数:
**	调用模块:			外部函数调用
*********************************************************************************************/
void Disp_login(struct login *info);
/*********************************************************************************************
**	函数名称:			void Disp_Power(struct power *info)
**	功能描述:			显示上掉电信息	
**	输入参数:			struct power *info:定义指向结构体的指针里面有4个结构体元素
**	输出参数:			无
**	调用模块:			外部函数调用
*********************************************************************************************/
void Disp_Power(struct power *info);
/*******************************************************************************************
**	函数名称:		void Disp_picture(uchar target, uchar mod)
**	功能描述:		显示相应图标
**	输入参数:		target:	对象选择
						target		0		1		2		3		4			5
						对象		目录	时钟	注册	继电器	上下限修改	电源
					mod:	=0:	不显示,	=其他 :显示
**	调用模块:		外部函数
********************************************************************************************/
void Disp_picture(uchar target, uchar mod);
/*********************************************************************************************
**	函数名称:			void Disp_Year(uint year)
**	功能描述:			显示年
**	输入参数:			year  年份
**	调用模块:			外部函数
*********************************************************************************************/
void Disp_Year(uint year);
/*********************************************************************************************
**	函数名称:			void Disp_Time(struct time * t)
**	功能描述:			显示时间
**	输入参数:			struct time * t
**	输出参数:			无
**	调用模块:			外部函数调用
*********************************************************************************************/
void Disp_Time(struct time * t);
/*******************************************************************************************
**	函数名称:			void Limit_change_ico(void)
**	功能描述:			上下限报警修改界面显示
**	输入参数:			无
**	调用模块:			外部函数
********************************************************************************************/
void Limit_change_ico(void);
/*******************************************************************************************
**	函数名称:			void Linkage_change_ico(void)
**	功能描述:			上下限报警修改界面显示
**	输入参数:			无
**	调用模块:			外部函数
********************************************************************************************/
void Linkage_change_ico(void);
/******************************************************************************************
函数名称:			void OCM_dispinit(void)
函数描述:			初始显示
********************************************************************************************/
void OCM_dispinit(void);





#endif

⌨️ 快捷键说明

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