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

📄 g7000.h

📁 一个流量控制仪器的源码
💻 H
字号:
/************************************************************************************/
/* G7000 硬件参考     														*/
/* MCU 型号: Philips P89C668														*/
/* 时钟频率: 11.0592 MHz	6 CLOCK														    */
/* 开发环境: Keil C51 V7.06a															*/
/* 开发日期: 2003.08.22													        	*/
/* 程序编写: BaoFang  鲍方															*/
/* 系统版本: V3.00																	*/
/************************************************************************************/

#include <absacc.h>

#ifdef uchar 
  #define READYDEF_uchar 1   /*宏uchar已定义*/
#else  
  #define uchar unsigned char
#endif

#ifdef uint 
  #define READYDEF_uint 1   /*宏uint已定义*/
#else  
  #define uint unsigned int
#endif


#define CAN_ZMAX  16	//系统网络最大节点数

// CPLD 端口定义
#define CON01		XBYTE[0xBF00]	//十路继电器控制字节1-8
#define CON02		XBYTE[0xDF00]	//十路继电器控制字节9-10
#define LED01		XBYTE[0xEF00]	//显示LED  1-8
#define INSET		XBYTE[0xF700]	//设置字节1 1-4	  与  外部输入1-4
#define CON03		XBYTE[0xFB00]	//其它控制输出

//时间段符号预定义  内部地址代码

#define    SIZE_OF_TURN_LIST    50 //时段列表长度

#define Turn_99 0

#define Turn_00 1

#define Turn_01 2

#define Turn_02 3 
#define Turn_03 4
#define Turn_04 5
#define Turn_05 6
#define Turn_06 7
#define Turn_07 8
#define Turn_08 9
#define Turn_09 10
#define Turn_10 11
#define Turn_11 12
#define Turn_12 13
#define Turn_13 14
#define Turn_14 15
#define Turn_15 16
#define Turn_16 17
#define Turn_17 18
#define Turn_18 19
#define Turn_19 20

#define Turn_21 21

#define Turn_22 22
#define Turn_23 23
#define Turn_24 24
#define Turn_25 25
#define Turn_26 26
#define Turn_27 27
#define Turn_28 28
#define Turn_29 29
#define Turn_30 30
#define Turn_31 31
#define Turn_32 32
#define Turn_33 33
#define Turn_34 34
#define Turn_35 35
#define Turn_36 36
#define Turn_37 37
#define Turn_38 38
#define Turn_39 39

#define Turn_50 40

#define Turn_60 41

#define Turn_70 42
#define Turn_71 43

#define Turn_73 44
#define Turn_74 45
#define Turn_75 46
#define Turn_76 47
#define Turn_77 48

#define Turn_95 49


//定义时段列表的子结构
typedef struct
{
    uchar    ucTurnIndex;    //当前时段索引号
    uchar    ucTurnTimeSortState;	//时段计时顺序	0:倒计时;1:正计时。
    uint    uiTurnTimeAddress;	//存储时段信息的地址
    uint    uiTurnCONAddress;	//存储控制信息的地址
    uchar    ucTurnState;	//存储时段状态信息
    void    (*pfnInit_TurnN)();    //N时段应该执行的初始化函数
    void    (*pfnRun_TurnN)();    //N时段应该执行的运行函数
    void    (*pfnEnd_TurnN)();    //N时段应该执行的收尾函数
}    TurnListStruct;


//定义外部引用的时段列表 TurnControl.C
extern TurnListStruct    code    TurnList[SIZE_OF_TURN_LIST];



//系统运行状态符号预定义  内部代码
#define State_X0 0
#define State_X1 1
#define State_X2 2
#define State_X3 3
#define State_X4 4
#define State_X5 5
#define State_XX 6

//显示状态符号预定义  内部代码
#define Display_01Set   0
#define Display_02Turn  1
#define Display_03Menu   2

//系统当前菜单状态符号预定义  内部代码
#define MenuState_X1 1
#define MenuState_X2 2

/*************************菜单EEPROM存储设定******************************/

//二级菜单--记录查看L2  存储地址
#define	LAD_L2_0 	250
#define	LAD_L2_1 	258
#define	LAD_L2_2 	266
#define	LAD_L2_3 	274
#define	LAD_L2_4 	282
#define	LAD_L2_5 	290
#define	LAD_L2_6 	298
#define	LAD_L2_7 	306
#define	LAD_L2_8 	314

//二级菜单--记录查看L3  存储地址
#define	LAD_L3_1 	322

//二级菜单--记录查看L4  存储地址
#define	LAD_L4_0 	334
#define	LAD_L4_1 	346
#define	LAD_L4_2 	358
#define	LAD_L4_3 	370
#define	LAD_L4_4 	382
#define	LAD_L4_5 	394
#define	LAD_L4_6 	406
#define	LAD_L4_7 	418

/*************************菜单RAM存储设定******************************/

//一级菜单--高级设定PP  存储大小
#define	AdvanceSetLength 25
//一级菜单--高级设定PP  存储地址
#define	AdvanceSetAddress 50

//一级菜单--高级设定PP  数据相对地址
#define	PPAD_PP1_1	0 
#define	PPAD_PP1_2	1 
#define	PPAD_PP1_3	2 
#define	PPAD_PP1_4	3 
#define	PPAD_PP1_5	4 
#define	PPAD_PP1_6	5 
#define	PPAD_PP1_7	6 
#define	PPAD_PP1_8	7 
#define	PPAD_PP1_9	8 
#define	PPAD_PP1_10	9 
#define	PPAD_PP1_11	10
#define	PPAD_PP1_12	11
#define	PPAD_PP2_1	12
#define	PPAD_PP2_2	14
#define	PPAD_PP2_3	16
#define	PPAD_PP2_4	17
#define	PPAD_PP3_1	18
#define	PPAD_PP3_2	19
#define	PPAD_PP3_3	20
#define	PPAD_PP3_4	21
#define	PPAD_PP3_5	22
#define	PPAD_PP3_6	23
#define	PPAD_PP3_7	24



//一级菜单--普通设定 P  存储大小
#define	NormSetLength 31
//一级菜单--普通设定 P  存储地址
#define	NormSetAddress 150


//一级菜单--普通设定 P  数据相对地址
#define	PAD_P3		0 
#define	PAD_P4		4 
#define	PAD_P6_1	6 
#define	PAD_P6_2	7 
#define	PAD_P6_3	8 
#define	PAD_P6_4	9 
#define	PAD_P6_5	10
#define	PAD_P6_6	11
#define	PAD_P6_7	12
#define	PAD_P6_8	13
#define	PAD_P6_9	17
#define	PAD_P6_10	18
#define	PAD_P6_11	22
#define	PAD_P6_12	23
#define	PAD_P6_13	24
#define	PAD_P6_14	25
#define	PAD_P6_15	29
#define	PAD_P6_16	30




/*************************系统运行状态  RAM存储设定**********************/

//系统运行状态  存储大小
#define	SystemStateLength 25
//系统运行状态   存储地址
#define	SystemStateAddress 50

/*************************系统运行状态  掉电记忆RAM存储设定**********************/

//掉电记忆RAM的保存时间间隔 <255
#define ZRAM_Time			15		


//掉电记忆RAM的起始地址
#define DS1307RAMAddress0	0x08

//系统运行状态  数据相对地址
#define SystemTurnNum		0		//ucSystemTurnNum;   系统时段	系统当前运行时段指针(TurnControl.C)
#define SystemTurnTime		1		//uchar	uc5_TurnTime[5];		系统运行剩余时间(Timer.C) 注意4字节,分秒不记录
#define SystemTurnCon		5		//uchar	uc2_SystemTurnCon[2];	系统当前控制量(TurnControl.C)

#define SavedSystemTurnNum	7		//uchar ucSystemTurnNumSaved;	保存的系统时段指针(TurnControl.C)
#define SavedSystemTurnTime	8		//uchar uc5_SystemTurnTimeSaved[5]; 保存的系统时段时间量(TurnControl.C)注意4字节,分秒不记录
#define SavedSystemTurnCon	12		//uchar uc2_SystemTurnConSaved[2];	保存的系统时段控制量(TurnControl.C)

#define SystemGen0			14		//uint	uiSystemGen0;	CL(GEN0) 系统总还原的次数(TurnControl.C)
#define SystemGen1			16		//uint	uiSystemGen1;	CL(GEN1) 系统1还原的次数(TurnControl.C)
#define SystemGen2			18		//uint	uiSystemGen2;	CL(GEN2) 系统2还原的次数(TurnControl.C)
#define SystemGen3			20		//uint	uiSystemGen3;	CL(GEN3) 系统3还原的次数(TurnControl.C)
#define SystemGen4			22		//uint	uiSystemGen4;	CL(GEN4) 系统4还原的次数(TurnControl.C)
#define SystemFluxPulse		24		//idata ulong	ulFluxPulse;	流量计脉冲计数器,记录所有捕捉到的脉冲,直至清零。(Flux_PCA.C)
#define SystemCouse			28		//xdata uchar	ucSystemCouse;		系统触发变量(位选择)(TurnControl.C)
#define SystemAlarm			29		//xdata uchar	ucSystemAlarm;		系统报警变量(位选择)(TurnControl.C)
#define SystemPause			30		//xdata uchar	ucSystemPause;		系统暂停变量(位选择)(TurnControl.C)
#define SystemRG1			31		//xdata uchar	ucSystemRG1;		系统中间变量(位选择)(TurnControl.C)

#define SystemTodayREC_VTime			32		//uchar	uc7_RECFluxVelocityMaxDateTime_Today[7];		记录的当天最大流速发生的时间(Flux_PCA.C)
#define SystemTodayREC_V					39		//ulong 	ulRECFluxVelocityMax_Today;		记录的当天最大流速(Flux_PCA.C)


#ifndef READYDEF_uint
  #undef uint
#endif

#ifndef READYDEF_uchar
  #undef uchar
#endif

⌨️ 快捷键说明

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