OCM240128-7.rar

源代码在线查看: disp.h

软件大小: 437 K
上传用户: 星魂菪徉
关键词: 240128 OCM
下载地址: 免注册下载 普通下载 VIP

相关代码

				/**********************************************************************************************
				**  文件名称:       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			

相关资源